-
Notifications
You must be signed in to change notification settings - Fork 16
Expand file tree
/
Copy pathtest_token_approve_builder.py
More file actions
53 lines (44 loc) · 1.83 KB
/
test_token_approve_builder.py
File metadata and controls
53 lines (44 loc) · 1.83 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
from crypto.transactions.builder.token_approve_builder import (
TokenApproveBuilder,
)
def test_token_approve_transaction(passphrase, load_transaction_fixture):
fixture = load_transaction_fixture('transactions/token-approve')
builder = (
TokenApproveBuilder
.new()
.spender(fixture['data']['to'], int(fixture['data']['value']))
.to(fixture['data']['to'])
.nonce(fixture['data']['nonce'])
.gas_price(fixture['data']['gasPrice'])
.gas_limit(fixture['data']['gasLimit'])
.sign(passphrase)
)
assert builder.transaction.data['gasPrice'] == int(
fixture['data']['gasPrice']
)
assert builder.transaction.data['gasLimit'] == int(
fixture['data']['gasLimit']
)
assert builder.transaction.data['nonce'] == fixture['data']['nonce']
assert builder.transaction.data['to'].lower() == (
fixture['data']['to'].lower()
)
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.data['hash'] == fixture['data']['hash']
assert builder.verify()
def test_token_approve_serialization(passphrase, load_transaction_fixture):
fixture = load_transaction_fixture('transactions/token-approve')
builder = (
TokenApproveBuilder
.new()
.spender(fixture['data']['to'], int(fixture['data']['value']))
.to(fixture['data']['to'])
.nonce(fixture['data']['nonce'])
.gas_price(fixture['data']['gasPrice'])
.gas_limit(fixture['data']['gasLimit'])
.sign(passphrase)
)
serialized = builder.transaction.serialize().hex()
assert serialized == fixture['serialized']