Skip to content

Commit 0ad582f

Browse files
committed
test
1 parent e069920 commit 0ad582f

3 files changed

Lines changed: 53 additions & 0 deletions

File tree

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"data": {
3+
"nonce": "1",
4+
"gasPrice": "5000000000",
5+
"gasLimit": "21000",
6+
"to": "0x6F0182a0cc707b055322CcF6d4CB6a5Aff1aEb22",
7+
"value": "100000000",
8+
"data": "",
9+
"network": 11812,
10+
"v": 0,
11+
"r": "a1f79cb40a4bb409d6cebd874002ceda3ec0ccb614c1d8155f5c2f7f798135f9",
12+
"s": "2d2ef517aaf6feed747385e260c206f46b2ce9d6b2a585427a111685a097bd79",
13+
"legacySecondSignature": "094b33b2d10c4d48cff9a9b10f79990c9a902a762b00d2f2a4d2ddad7823b59332b2da193265068c67cefea9ca8bc84e47acec406f3300a0a10b77a56ea8c18801",
14+
"senderPublicKey": "0243333347c8cbf4e3cbc7a96964181d02a2b0c854faa2fef86b4b8d92afcf473d",
15+
"from": "0x1E6747BEAa5B4076a6A98D735DF8c35a70D18Bdd",
16+
"hash": "a39435ec5de418e77479856d06a653efc171afe43e091472af22ee359eeb83be"
17+
},
18+
"serialized": "f8ad0185012a05f200825208946f0182a0cc707b055322ccf6d4cb6a5aff1aeb228405f5e10080825c6ba0a1f79cb40a4bb409d6cebd874002ceda3ec0ccb614c1d8155f5c2f7f798135f9a02d2ef517aaf6feed747385e260c206f46b2ce9d6b2a585427a111685a097bd79b841094b33b2d10c4d48cff9a9b10f79990c9a902a762b00d2f2a4d2ddad7823b59332b2da193265068c67cefea9ca8bc84e47acec406f3300a0a10b77a56ea8c18801"
19+
}

tests/transactions/builder/conftest.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,12 @@ def passphrase():
66

77
return 'found lobster oblige describe ready addict body brave live vacuum display salute lizard combine gift resemble race senior quality reunion proud tell adjust angle'
88

9+
@pytest.fixture
10+
def second_passphrase():
11+
"""Second Passphrase used for tests"""
12+
13+
return 'gold favorite math anchor detect march purpose such sausage crucial reform novel connect misery update episode invite salute barely garbage exclude winner visa cruise'
14+
915
@pytest.fixture
1016
def validator_public_key():
1117
"""BLS Public used for validator tests"""

tests/transactions/builder/test_transfer_builder.py

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,34 @@ def test_it_should_sign_it_with_a_passphrase(passphrase, load_transaction_fixtur
2828
assert builder.transaction.data['hash'] == fixture['data']['hash']
2929
assert builder.verify()
3030

31+
def test_it_should_sign_with_a_legacy_second_signature(passphrase, second_passphrase, load_transaction_fixture):
32+
fixture = load_transaction_fixture('transactions/transfer-legacy-second-signature')
33+
34+
builder = (
35+
TransferBuilder
36+
.new()
37+
.gas_price(fixture['data']['gasPrice'])
38+
.nonce(fixture['data']['nonce'])
39+
.gas_limit(fixture['data']['gasLimit'])
40+
.to(fixture['data']['to'])
41+
.value(fixture['data']['value'])
42+
.legacy_second_sign(passphrase, second_passphrase)
43+
)
44+
45+
assert builder.transaction.data['gasPrice'] == int(fixture['data']['gasPrice'])
46+
assert builder.transaction.data['gasLimit'] == int(fixture['data']['gasLimit'])
47+
assert builder.transaction.data['nonce'] == fixture['data']['nonce']
48+
assert builder.transaction.data['to'] == fixture['data']['to']
49+
assert builder.transaction.data['value'] == int(fixture['data']['value'])
50+
assert builder.transaction.data['v'] == fixture['data']['v']
51+
assert builder.transaction.data['r'] == fixture['data']['r']
52+
assert builder.transaction.data['s'] == fixture['data']['s']
53+
assert builder.transaction.data['legacySecondSignature'] == fixture['data']['legacySecondSignature']
54+
55+
assert builder.transaction.serialize().hex() == fixture['serialized']
56+
assert builder.transaction.data['hash'] == fixture['data']['hash']
57+
assert builder.verify()
58+
3159
def test_it_should_handle_unit_converter(passphrase, address):
3260
builder = (
3361
TransferBuilder

0 commit comments

Comments
 (0)