def test_eth_long_account_address_sign_data_with_intended_validator( acct, message_encodings): account = acct.create() address_in_bytes = to_bytes(hexstr=account.address) with pytest.raises(TypeError): # Raise TypeError if the address is more than 20 bytes defunct_hash_message( **message_encodings, signature_version=b'\x00', version_specific_data=to_hex(address_in_bytes + b'\x00'), )
def test_eth_short_account_address_sign_data_with_intended_validator( acct, message_encodings): account = acct.create() address_in_bytes = to_bytes(hexstr=account.address) # Test for all lengths of addresses < 20 bytes for i in range(1, 21): with pytest.raises(TypeError): # Raise TypeError if the address is less than 20 bytes defunct_hash_message( **message_encodings, signature_version=b'\x00', version_specific_data=to_hex(address_in_bytes[:-i]), )
def test_sign_message_against_sign_hash_as_text(keyed_acct, message_text): # sign via hash msg_hash = defunct_hash_message(text=message_text) with pytest.deprecated_call(): signed_via_hash = keyed_acct.signHash(msg_hash) # sign via message signable_message = encode_defunct(text=message_text) signed_via_message = keyed_acct.sign_message(signable_message) assert signed_via_hash == signed_via_message
def test_sign_message_against_sign_hash_as_hex(keyed_acct, message_bytes): message_hex = to_hex(message_bytes) # sign via hash msg_hash_hex = defunct_hash_message(hexstr=message_hex) with pytest.deprecated_call(): signed_via_hash_hex = keyed_acct.signHash(msg_hash_hex) # sign via message signable_message_hex = encode_defunct(hexstr=message_hex) signed_via_message_hex = keyed_acct.sign_message(signable_message_hex) assert signed_via_hash_hex == signed_via_message_hex
def test_wan_account_hash_message_hexstr(acct, message, expected): assert defunct_hash_message(hexstr=message) == expected
def test_wan_account_hash_message_text(message, expected): assert defunct_hash_message(text=message) == expected