Ejemplo n.º 1
0
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")
Ejemplo n.º 2
0
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")
Ejemplo n.º 3
0
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")