def test_signature(): # Unsigned message dict_msg = { "type": "LockedTransfer", "chain_id": 33, "message_identifier": 12248562144413481135, "payment_identifier": 11640634370223461850, "payment_hash_invoice": "0x", "nonce": 1, "token_network_address": "0x877ec5961d18d3413fabbd67696b758fe95408d6", "token": "0xff10e500973a0b0071e2263421e4af60425834a6", "channel_identifier": 1, "transferred_amount": 0, "locked_amount": 100000000000000, "recipient": "0x29021129f5d038897f01bd4bc050525ca01a4758", "locksroot": "0x3985b475b7e3af72cdbcd2e41b22951c168b0e2ff41bcc9548ee98d14ec86784", "lock": { "type": "Lock", "amount": 100000000000000, "expiration": 195730, "secrethash": "0x3e6d58ba381898cf1a0ff6fbe65a3805419063ea9eb6ff6bc6f0dde45032d0dc" }, "target": "0x29021129f5d038897f01bd4bc050525ca01a4758", "initiator": "0x09fcbe7ceb49c944703b4820e29b0541edfe7e82", "fee": 0 } message = LockedTransfer.from_dict_unsigned(dict_msg) message.sign(signer) data_was_signed = message._data_to_sign() assert message.signature == decode_hex( "0x65309af4b47e9bde1b567c790424dd8a0036712ec9d29e6651208a568cce50ad53fbc7672c85f98831810e77c6558469364086bdfd8f858e927af91986b710431b" ) assert recover(data_was_signed, message.signature) == to_canonical_address( "0x09fcbe7ceb49c944703b4820e29b0541edfe7e82")
def test_signature_without_secret(): secrethash = "0x3e6d58ba381898cf1a0ff6fbe65a3805419063ea9eb6ff6bc6f0dde45032d0dc" dict_msg = { "type": "LockedTransfer", "chain_id": 33, "message_identifier": 14747618820028812404, "payment_identifier": 16050003401382756056, "payment_hash_invoice": "0x", "nonce": 1, "token_network_address": "0x2864a97e7701a08d53f24f9e9fa6727988733f12", "token": "0x58cf17e106686e1554177030980829cfd4cb7196", "channel_identifier": 22, "transferred_amount": 0, "locked_amount": 100000000000000000, "recipient": "0x5a88c15f3ed1bee03c7e85355faed29d202744c6", "locksroot": "0x80c5a4985caf413bb97d97af2e5a4d800f970778b8cf5a5b6b2212e8faa8ff67", "lock": { "type": "Lock", "amount": 100000000000000000, "expiration": 375359, "secrethash": "0x3e6d58ba381898cf1a0ff6fbe65a3805419063ea9eb6ff6bc6f0dde45032d0dc" }, "target": "0x5a88c15f3ed1bee03c7e85355faed29d202744c6", "initiator": "0x6d369723521b4080a19457d5fdd2194d633b0c3a", "fee": 0 } message = LockedTransfer.from_dict_unsigned(dict_msg) message.sign(signer) data_was_signed = message._data_to_sign() print(message.signature.hex()) assert recover(data_was_signed, message.signature) == to_canonical_address( "0x09fcbe7ceb49c944703b4820e29b0541edfe7e82")
def test_locked_transfer_1(): dict_msg = { "type": "LockedTransfer", "chain_id": 33, "message_identifier": 5582513684436696034, "payment_identifier": 3443356287795879818, "payment_hash_invoice": "0x", "nonce": 1, "token_network_address": "0x7351ed719de72db92a54c99ef2c4d287f69672a1", "token": "0x8f2872964137cc8a331ee47518cba48c5bbb367f", "channel_identifier": 1, "transferred_amount": 0, "locked_amount": 1000000000000000, "recipient": "0x29021129f5d038897f01bd4bc050525ca01a4758", "locksroot": "0xf7ea48a18722b8f3c3ee8233b3dec03f2a60d735b34a214374c7a8cd62544012", "lock": { "type": "Lock", "amount": 1000000000000000, "expiration": 1624776, "secrethash": "0x0caf4611e13f2fc32a6a36224b9603bb890ed9d6a91695a2b3565b0d9bd752f4" }, "target": "0x29021129f5d038897f01bd4bc050525ca01a4758", "initiator": "0x7ca28d3d760b4aa2b79e8d42cbdc187c7df9af40", "fee": 0 } message = LockedTransfer.from_dict_unsigned(dict_msg) message.sign(signer) data_was_signed = message._data_to_sign() print("LT signature: " + message.signature.hex()) assert recover(data_was_signed, message.signature) == to_canonical_address( "0x7ca28d3d760b4aa2b79e8d42cbdc187c7df9af40")