mirror of https://github.com/nucypher/nucypher.git
[KMS-ETH]- Fixed bugs and tests with 32 bytes miner id
parent
67366ce685
commit
dec362fda7
|
@ -79,7 +79,7 @@ class Miner:
|
|||
def publish_dht_key(self, dht_id) -> str:
|
||||
"""Store a new DHT key"""
|
||||
|
||||
txhash = self.escrow.transact({'from': self.address}).publishDHTKey(dht_id)
|
||||
txhash = self.escrow.transact({'from': self.address}).setMinerId(dht_id)
|
||||
self.blockchain._chain.wait.for_receipt(txhash)
|
||||
|
||||
return txhash
|
||||
|
@ -87,8 +87,9 @@ class Miner:
|
|||
def get_dht_key(self) -> tuple:
|
||||
"""Retrieve all stored DHT keys for this miner"""
|
||||
|
||||
count = self.escrow().getDHTKeysCount(self.address)
|
||||
dht_keys = tuple(self.escrow().getDHTKey(self.address, index) for index in range(count))
|
||||
count = self.escrow().getMinerIdsCount(self.address)
|
||||
# TODO change when v4 web3.py will released
|
||||
dht_keys = tuple(self.escrow().getMinerId(self.address, index).encode('latin-1') for index in range(count))
|
||||
|
||||
return dht_keys
|
||||
|
||||
|
|
|
@ -569,29 +569,14 @@ def test_miner_id(web3, chain, token, escrow_contract):
|
|||
|
||||
# Set miner ids
|
||||
miner_id = os.urandom(32)
|
||||
print(miner_id) # TODO delete
|
||||
print(type(miner_id)) # TODO delete
|
||||
print(web3.toHex(miner_id)) # TODO delete
|
||||
print(type(web3.toHex(miner_id))) # TODO delete
|
||||
print(web3.toBytes(miner_id)) # TODO delete
|
||||
print(type(web3.toBytes(miner_id))) # TODO delete
|
||||
# print(bytes(web3.toHex(miner_id))) # TODO delete
|
||||
# print(type(bytes(web3.toHex(miner_id)))) # TODO delete
|
||||
# miner_id = bytearray(32)
|
||||
# print(type(miner_id)) # TODO delete
|
||||
|
||||
tx = escrow.transact({'from': miner}).setMinerId(miner_id)
|
||||
chain.wait.for_receipt(tx)
|
||||
|
||||
print(escrow.call().getMinerId(miner, 0)) # TODO delete
|
||||
print(escrow.call().getMinerId(miner, 0).encode()) # TODO delete
|
||||
print(bytes(escrow.call().getMinerId(miner, 0).encode())) # TODO delete
|
||||
print(escrow.call().getMinerId(miner, 0).decode()) # TODO delete
|
||||
|
||||
assert 1 == escrow.call().getMinerIdsCount(miner)
|
||||
assert miner_id == bytes(escrow.call().getMinerId(miner, 0).encode())
|
||||
miner_id = os.urandom(32).hex()
|
||||
# TODO change when v4 web3.py will released
|
||||
assert miner_id == escrow.call().getMinerId(miner, 0).encode('latin-1')
|
||||
miner_id = os.urandom(32)
|
||||
tx = escrow.transact({'from': miner}).setMinerId(miner_id)
|
||||
chain.wait.for_receipt(tx)
|
||||
assert 2 == escrow.call().getMinerIdsCount(miner)
|
||||
assert miner_id == escrow.call().getMinerId(miner, 1)
|
||||
# TODO change when v4 web3.py will released
|
||||
assert miner_id == escrow.call().getMinerId(miner, 1).encode('latin-1')
|
||||
|
|
|
@ -56,7 +56,7 @@ def test_publish_dht_key(testerchain, token, escrow):
|
|||
miner.lock(amount=balance, locktime=1)
|
||||
|
||||
# Publish DHT keys
|
||||
mock_dht_key = os.urandom(66).hex()
|
||||
mock_dht_key = os.urandom(32)
|
||||
|
||||
txhash = miner.publish_dht_key(mock_dht_key)
|
||||
stored_miner_dht_keys = miner.get_dht_key()
|
||||
|
@ -64,14 +64,15 @@ def test_publish_dht_key(testerchain, token, escrow):
|
|||
assert len(stored_miner_dht_keys) == 1
|
||||
assert mock_dht_key == stored_miner_dht_keys[0]
|
||||
|
||||
another_mock_dht_key = os.urandom(66).hex()
|
||||
another_mock_dht_key = os.urandom(32)
|
||||
txhash = miner.publish_dht_key(another_mock_dht_key)
|
||||
|
||||
stored_miner_dht_keys = miner.get_dht_key()
|
||||
|
||||
assert len(stored_miner_dht_keys) == 2
|
||||
assert another_mock_dht_key == stored_miner_dht_keys[1]
|
||||
assert another_mock_dht_key == escrow().getDHTKey(miner_addr, 1)
|
||||
# TODO change when v4 web3.py will released
|
||||
assert another_mock_dht_key == escrow().getMinerId(miner_addr, 1).encode('latin-1')
|
||||
|
||||
|
||||
def test_select_ursulas(testerchain, token, escrow):
|
||||
|
|
Loading…
Reference in New Issue