Skip to content

Commit 7bdcc51

Browse files
authored
refactor: update builder constructor arguments (#155)
1 parent 4cb126b commit 7bdcc51

23 files changed

Lines changed: 61 additions & 62 deletions

crypto/transactions/builder/base.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,24 +5,27 @@
55

66

77
class AbstractTransactionBuilder:
8-
def __init__(self, data: Optional[dict] = None):
9-
default_data = {
8+
def __init__(self, data: dict):
9+
data = {
1010
'value': 0,
1111
'senderPublicKey': '',
1212
'gasPrice': '5',
1313
'nonce': '1',
1414
'network': get_network()['version'],
1515
'gasLimit': 1_000_000,
1616
'data': '',
17+
18+
**data,
1719
}
18-
self.transaction = self.get_transaction_instance(data or default_data)
20+
21+
self.transaction = self.get_transaction_instance(data)
1922

2023
def __str__(self):
2124
return self.to_json()
2225

2326
@classmethod
24-
def new(cls, data: Optional[dict] = None):
25-
return cls(data)
27+
def new(cls):
28+
return cls({})
2629

2730
def gas_limit(self, gas_limit: int):
2831
self.transaction.data['gasLimit'] = int(gas_limit)

crypto/transactions/builder/multipayment_builder.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
from typing import Optional
21
from crypto.enums.contract_addresses import ContractAddresses
32
from crypto.transactions.builder.base import AbstractTransactionBuilder
43
from crypto.transactions.types.multipayment import Multipayment
54

65
class MultipaymentBuilder(AbstractTransactionBuilder):
7-
def __init__(self, data: Optional[dict] = None):
6+
def __init__(self, data: dict):
87
super().__init__(data)
98

109
self.transaction.data['pay'] = [[], []]

crypto/transactions/builder/unvote_builder.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
from typing import Optional
21
from crypto.enums.contract_addresses import ContractAddresses
32
from crypto.transactions.builder.base import AbstractTransactionBuilder
43
from crypto.transactions.types.unvote import Unvote
54

65
class UnvoteBuilder(AbstractTransactionBuilder):
7-
def __init__(self, data: Optional[dict] = None):
6+
def __init__(self, data: dict):
87
super().__init__(data)
98

109
self.recipient_address(ContractAddresses.CONSENSUS.value)

crypto/transactions/builder/username_registration_builder.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
11
import re
2-
from typing import Optional
32
from crypto.enums.contract_addresses import ContractAddresses
43
from crypto.exceptions import InvalidUsernameException
54
from crypto.transactions.builder.base import AbstractTransactionBuilder
65
from crypto.transactions.types.username_registration import UsernameRegistration
76

87
class UsernameRegistrationBuilder(AbstractTransactionBuilder):
9-
def __init__(self, data: Optional[dict] = None):
8+
def __init__(self, data: dict):
109
super().__init__(data)
1110

1211
self.recipient_address(ContractAddresses.USERNAMES.value)

crypto/transactions/builder/username_resignation_builder.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
from typing import Optional
21
from crypto.enums.contract_addresses import ContractAddresses
32
from crypto.transactions.builder.base import AbstractTransactionBuilder
43
from crypto.transactions.types.username_resignation import UsernameResignation
54

65
class UsernameResignationBuilder(AbstractTransactionBuilder):
7-
def __init__(self, data: Optional[dict] = None):
6+
def __init__(self, data: dict):
87
super().__init__(data)
98

109
self.recipient_address(ContractAddresses.USERNAMES.value)

crypto/transactions/builder/validator_registration_builder.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
from typing import Optional
21
from crypto.enums.contract_addresses import ContractAddresses
32
from crypto.transactions.builder.base import AbstractTransactionBuilder
43
from crypto.transactions.types.validator_registration import ValidatorRegistration
54

65
class ValidatorRegistrationBuilder(AbstractTransactionBuilder):
7-
def __init__(self, data: Optional[dict] = None):
6+
def __init__(self, data: dict):
87
super().__init__(data)
98

109
self.recipient_address(ContractAddresses.CONSENSUS.value)

crypto/transactions/builder/validator_resignation_builder.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
from typing import Optional
21
from crypto.enums.contract_addresses import ContractAddresses
32
from crypto.transactions.builder.base import AbstractTransactionBuilder
43
from crypto.transactions.types.validator_resignation import ValidatorResignation
54

65
class ValidatorResignationBuilder(AbstractTransactionBuilder):
7-
def __init__(self, data: Optional[dict] = None):
6+
def __init__(self, data: dict):
87
super().__init__(data)
98

109
self.recipient_address(ContractAddresses.CONSENSUS.value)

crypto/transactions/builder/vote_builder.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
1-
from typing import Optional
21
from crypto.enums.contract_addresses import ContractAddresses
32
from crypto.transactions.builder.base import AbstractTransactionBuilder
43
from crypto.transactions.types.vote import Vote
54

65
class VoteBuilder(AbstractTransactionBuilder):
7-
def __init__(self, data: Optional[dict] = None):
6+
def __init__(self, data: dict):
87
super().__init__(data)
98

109
self.recipient_address(ContractAddresses.CONSENSUS.value)

crypto/transactions/deserializer.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def guess_transaction_from_data(self, data: dict) -> AbstractTransaction:
6464
if multipayment_payload_data is not None:
6565
function_name = multipayment_payload_data.get('functionName')
6666
if function_name == AbiFunction.MULTIPAYMENT.value:
67-
return Multipayment(data, multipayment_payload_data)
67+
return Multipayment(data)
6868

6969
if data['value'] != '0':
7070
return Transfer(data)
@@ -73,13 +73,13 @@ def guess_transaction_from_data(self, data: dict) -> AbstractTransaction:
7373
if consensus_payload_data is not None:
7474
function_name = consensus_payload_data.get('functionName')
7575
if function_name == AbiFunction.VOTE.value:
76-
return Vote(data, consensus_payload_data)
76+
return Vote(data)
7777

7878
if function_name == AbiFunction.UNVOTE.value:
7979
return Unvote(data)
8080

8181
if function_name == AbiFunction.VALIDATOR_REGISTRATION.value:
82-
return ValidatorRegistration(data, consensus_payload_data)
82+
return ValidatorRegistration(data)
8383

8484
if function_name == AbiFunction.VALIDATOR_RESIGNATION.value:
8585
return ValidatorResignation(data)
@@ -88,7 +88,7 @@ def guess_transaction_from_data(self, data: dict) -> AbstractTransaction:
8888
if username_payload_data is not None:
8989
function_name = username_payload_data.get('functionName')
9090
if function_name == AbiFunction.USERNAME_REGISTRATION.value:
91-
return UsernameRegistration(data, username_payload_data)
91+
return UsernameRegistration(data)
9292

9393
if function_name == AbiFunction.USERNAME_RESIGNATION.value:
9494
return UsernameResignation(data)

crypto/transactions/types/abstract_transaction.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111
from crypto.utils.abi_decoder import AbiDecoder
1212

1313
class AbstractTransaction:
14-
def __init__(self, data: Optional[dict] = None):
15-
self.data = data or {}
14+
def __init__(self, data: dict):
15+
self.data = data
1616
self.refresh_payload_data()
1717

1818
def get_payload(self) -> str:

0 commit comments

Comments
 (0)