Skip to content

Commit 9cd7da8

Browse files
committed
create a method to set transaction fields
1 parent c8ed0f1 commit 9cd7da8

2 files changed

Lines changed: 65 additions & 42 deletions

File tree

multiversx_sdk_cli/base_transactions_controller.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
)
2424
from multiversx_sdk_cli.cosign_transaction import cosign_transaction
2525
from multiversx_sdk_cli.errors import BadUserInput
26+
from multiversx_sdk_cli.guardian_relayer_data import GuardianRelayerData
2627
from multiversx_sdk_cli.interfaces import IAccount
2728

2829
logger = logging.getLogger("base_controller")
@@ -144,3 +145,19 @@ def ensure_even_length(self, string: str) -> str:
144145
if len(string) % 2 == 1:
145146
return "0" + string
146147
return string
148+
149+
def _set_transaction_fields(
150+
self,
151+
transaction: Transaction,
152+
nonce: int,
153+
version: int,
154+
options: int,
155+
gas_price: int,
156+
guardian_and_relayer_data: GuardianRelayerData,
157+
):
158+
transaction.nonce = nonce
159+
transaction.version = version
160+
transaction.options = options
161+
transaction.gas_price = gas_price
162+
transaction.guardian = guardian_and_relayer_data.guardian_address
163+
transaction.relayer = guardian_and_relayer_data.relayer_address

multiversx_sdk_cli/governance.py

Lines changed: 48 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,16 @@ def create_transaction_for_new_proposal(
3636
end_vote_epoch=end_vote_epoch,
3737
native_token_amount=native_token_amount,
3838
)
39-
tx.nonce = nonce
40-
tx.version = version
41-
tx.options = options
42-
tx.gas_price = gas_price
43-
tx.guardian = guardian_and_relayer_data.guardian_address
44-
tx.relayer = guardian_and_relayer_data.relayer_address
39+
self._set_transaction_fields(
40+
transaction=tx,
41+
nonce=nonce,
42+
version=version,
43+
options=options,
44+
gas_price=gas_price,
45+
guardian_and_relayer_data=guardian_and_relayer_data,
46+
)
4547

4648
self.add_extra_gas_limit_if_required(tx)
47-
4849
if gas_limit:
4950
tx.gas_limit = gas_limit
5051

@@ -76,15 +77,16 @@ def create_transaction_for_voting(
7677
tx = self.factory.create_transaction_for_voting(
7778
sender=sender.address, proposal_nonce=proposal_nonce, vote=vote_value
7879
)
79-
tx.nonce = nonce
80-
tx.version = version
81-
tx.options = options
82-
tx.gas_price = gas_price
83-
tx.guardian = guardian_and_relayer_data.guardian_address
84-
tx.relayer = guardian_and_relayer_data.relayer_address
80+
self._set_transaction_fields(
81+
transaction=tx,
82+
nonce=nonce,
83+
version=version,
84+
options=options,
85+
gas_price=gas_price,
86+
guardian_and_relayer_data=guardian_and_relayer_data,
87+
)
8588

8689
self.add_extra_gas_limit_if_required(tx)
87-
8890
if gas_limit:
8991
tx.gas_limit = gas_limit
9092

@@ -111,15 +113,16 @@ def create_transaction_for_closing_proposal(
111113
guardian_and_relayer_data: GuardianRelayerData,
112114
) -> Transaction:
113115
tx = self.factory.create_transaction_for_closing_proposal(sender=sender.address, proposal_nonce=proposal_nonce)
114-
tx.nonce = nonce
115-
tx.version = version
116-
tx.options = options
117-
tx.gas_price = gas_price
118-
tx.guardian = guardian_and_relayer_data.guardian_address
119-
tx.relayer = guardian_and_relayer_data.relayer_address
116+
self._set_transaction_fields(
117+
transaction=tx,
118+
nonce=nonce,
119+
version=version,
120+
options=options,
121+
gas_price=gas_price,
122+
guardian_and_relayer_data=guardian_and_relayer_data,
123+
)
120124

121125
self.add_extra_gas_limit_if_required(tx)
122-
123126
if gas_limit:
124127
tx.gas_limit = gas_limit
125128

@@ -146,15 +149,16 @@ def create_transaction_for_clearing_ended_proposals(
146149
guardian_and_relayer_data: GuardianRelayerData,
147150
) -> Transaction:
148151
tx = self.factory.create_transaction_for_clearing_ended_proposals(sender=sender.address, proposers=proposers)
149-
tx.nonce = nonce
150-
tx.version = version
151-
tx.options = options
152-
tx.gas_price = gas_price
153-
tx.guardian = guardian_and_relayer_data.guardian_address
154-
tx.relayer = guardian_and_relayer_data.relayer_address
152+
self._set_transaction_fields(
153+
transaction=tx,
154+
nonce=nonce,
155+
version=version,
156+
options=options,
157+
gas_price=gas_price,
158+
guardian_and_relayer_data=guardian_and_relayer_data,
159+
)
155160

156161
self.add_extra_gas_limit_if_required(tx)
157-
158162
if gas_limit:
159163
tx.gas_limit = gas_limit
160164

@@ -180,15 +184,16 @@ def create_transaction_for_claiming_accumulated_fees(
180184
guardian_and_relayer_data: GuardianRelayerData,
181185
) -> Transaction:
182186
tx = self.factory.create_transaction_for_claiming_accumulated_fees(sender=sender.address)
183-
tx.nonce = nonce
184-
tx.version = version
185-
tx.options = options
186-
tx.gas_price = gas_price
187-
tx.guardian = guardian_and_relayer_data.guardian_address
188-
tx.relayer = guardian_and_relayer_data.relayer_address
187+
self._set_transaction_fields(
188+
transaction=tx,
189+
nonce=nonce,
190+
version=version,
191+
options=options,
192+
gas_price=gas_price,
193+
guardian_and_relayer_data=guardian_and_relayer_data,
194+
)
189195

190196
self.add_extra_gas_limit_if_required(tx)
191-
192197
if gas_limit:
193198
tx.gas_limit = gas_limit
194199

@@ -226,15 +231,16 @@ def create_transaction_for_changing_config(
226231
min_veto_threshold=min_veto_threshold,
227232
min_pass_threshold=min_pass_threshold,
228233
)
229-
tx.nonce = nonce
230-
tx.version = version
231-
tx.options = options
232-
tx.gas_price = gas_price
233-
tx.guardian = guardian_and_relayer_data.guardian_address
234-
tx.relayer = guardian_and_relayer_data.relayer_address
234+
self._set_transaction_fields(
235+
transaction=tx,
236+
nonce=nonce,
237+
version=version,
238+
options=options,
239+
gas_price=gas_price,
240+
guardian_and_relayer_data=guardian_and_relayer_data,
241+
)
235242

236243
self.add_extra_gas_limit_if_required(tx)
237-
238244
if gas_limit:
239245
tx.gas_limit = gas_limit
240246

0 commit comments

Comments
 (0)