diff --git a/golem/transactions/ethereum/ethereumincomeskeeper.py b/golem/transactions/ethereum/ethereumincomeskeeper.py index ad25d455b1..c767725dd0 100644 --- a/golem/transactions/ethereum/ethereumincomeskeeper.py +++ b/golem/transactions/ethereum/ethereumincomeskeeper.py @@ -9,7 +9,7 @@ class EthereumIncomesKeeper(IncomesKeeper): - BLOCK_NUMBER_DB_KEY = 'eth_incomes_keeper_block_number' + BLOCK_NUMBER_DB_KEY = 'eth_incomes_keeper_block_number_v2' BLOCK_NUMBER_BUFFER = 50 def __init__(self, sci) -> None: diff --git a/golem/utils.py b/golem/utils.py index 251bdd42d1..c27ca4a46b 100644 --- a/golem/utils.py +++ b/golem/utils.py @@ -5,6 +5,7 @@ import semantic_version +from eth_utils import to_checksum_address from ethereum.utils import sha3 logger = logging.getLogger(__name__) @@ -69,7 +70,7 @@ def encode_hex(b): def pubkeytoaddr(pubkey: str) -> str: - return '0x' + encode_hex(sha3(decode_hex(pubkey))[12:]) + return to_checksum_address('0x' + encode_hex(sha3(decode_hex(pubkey))[12:])) def tee_target(prefix, proc, input_stream, path, stream): diff --git a/tests/golem/test_utils.py b/tests/golem/test_utils.py index d12afdb70e..ca71a94f88 100644 --- a/tests/golem/test_utils.py +++ b/tests/golem/test_utils.py @@ -1,5 +1,7 @@ +import os import unittest +from eth_utils import encode_hex, is_checksum_address import faker import semantic_version @@ -46,3 +48,9 @@ def test_None(self): def test_invalid(self): self.assertFalse(utils.is_version_compatible(fake.word(), self.spec)) # noqa pylint: disable=no-member + + +def test_pubkeytoaddr(): + pubkey = encode_hex(os.urandom(64)) + addr = utils.pubkeytoaddr(pubkey) + assert is_checksum_address(addr)