-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathtest_validator_registration_builder.py
More file actions
59 lines (51 loc) · 3 KB
/
test_validator_registration_builder.py
File metadata and controls
59 lines (51 loc) · 3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
from crypto.transactions.builder.validator_registration_builder import ValidatorRegistrationBuilder
def test_validator_registration_transaction(passphrase, validator_public_key, load_transaction_fixture):
fixture = load_transaction_fixture('transactions/validator-registration')
builder = (
ValidatorRegistrationBuilder
.new()
.gas_price(fixture['data']['gasPrice'])
.nonce(fixture['data']['nonce'])
.network(fixture['data']['network'])
.gas_limit(fixture['data']['gasLimit'])
.validator_public_key(validator_public_key)
.recipient_address(fixture['data']['recipientAddress'])
.sign(passphrase)
)
assert builder.transaction.serialize().hex() == fixture['serialized']
assert builder.transaction.data['gasPrice'] == fixture['data']['gasPrice']
assert builder.transaction.data['nonce'] == fixture['data']['nonce']
assert builder.transaction.data['network'] == fixture['data']['network']
assert builder.transaction.data['gasLimit'] == fixture['data']['gasLimit']
assert builder.transaction.data['recipientAddress'] == fixture['data']['recipientAddress']
assert builder.transaction.data['value'] == int(fixture['data']['value'])
assert builder.transaction.data['v'] == fixture['data']['v']
assert builder.transaction.data['r'] == fixture['data']['r']
assert builder.transaction.data['s'] == fixture['data']['s']
assert builder.transaction.serialize().hex() == fixture['serialized']
assert builder.transaction.data['id'] == fixture['data']['id']
assert builder.verify()
def test_validator_registration_transaction_with_default_recipient_address(passphrase, validator_public_key, load_transaction_fixture):
fixture = load_transaction_fixture('transactions/validator-registration')
builder = (
ValidatorRegistrationBuilder
.new()
.gas_price(fixture['data']['gasPrice'])
.nonce(fixture['data']['nonce'])
.network(fixture['data']['network'])
.gas_limit(fixture['data']['gasLimit'])
.validator_public_key(validator_public_key)
.sign(passphrase)
)
assert builder.transaction.data['gasPrice'] == fixture['data']['gasPrice']
assert builder.transaction.data['nonce'] == fixture['data']['nonce']
assert builder.transaction.data['network'] == fixture['data']['network']
assert builder.transaction.data['gasLimit'] == fixture['data']['gasLimit']
assert builder.transaction.data['recipientAddress'].lower() == fixture['data']['recipientAddress'].lower()
assert builder.transaction.data['value'] == int(fixture['data']['value'])
assert builder.transaction.data['v'] == fixture['data']['v']
assert builder.transaction.data['r'] == fixture['data']['r']
assert builder.transaction.data['s'] == fixture['data']['s']
assert builder.transaction.serialize().hex() == fixture['serialized']
assert builder.transaction.data['id'] == fixture['data']['id']
assert builder.verify()