def test_sign_and_recover_message_public_key(): """Test the signing and the recovery function for the eth_crypto.""" account = EthereumCrypto(ETHEREUM_PRIVATE_KEY_PATH) sign_bytes = account.sign_message(message=b"hello") assert len(sign_bytes) > 0, "The len(signature) must not be 0" recovered_public_keys = EthereumApi.recover_public_keys_from_message( message=b"hello", signature=sign_bytes ) assert len(recovered_public_keys) == 1, "Wrong number of public keys recovered." assert ( EthereumApi.get_address_from_public_key(recovered_public_keys[0]) == account.address ), "Failed to recover the correct address."
def test_derive_address(): """Test the get_address_from_public_key method""" account = EthereumCrypto() address = EthereumApi.get_address_from_public_key(account.public_key) assert account.address == address, "Address derivation incorrect"