Skip to content

Commit ce0de18

Browse files
committed
small contracts refactoring
1 parent cc2f986 commit ce0de18

3 files changed

Lines changed: 37 additions & 94 deletions

File tree

multiversx_sdk_cli/cli_contracts.py

Lines changed: 15 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -350,12 +350,10 @@ def deploy(args: Any):
350350
validate_chain_id_args(args)
351351

352352
sender = cli_shared.prepare_sender(args)
353-
354-
guardian = cli_shared.load_guardian_account(args)
355-
guardian_address = cli_shared.get_guardian_address(guardian, args)
356-
357-
relayer = cli_shared.load_relayer_account(args)
358-
relayer_address = cli_shared.get_relayer_address(relayer, args)
353+
guardian_and_relayer_data = cli_shared.get_guardian_and_relayer_data(
354+
sender=sender.address.to_bech32(),
355+
args=args,
356+
)
359357

360358
chain_id = cli_shared.get_chain_id(args.chain, args.proxy)
361359
config = TransactionsFactoryConfig(chain_id)
@@ -379,12 +377,7 @@ def deploy(args: Any):
379377
nonce=sender.nonce,
380378
version=int(args.version),
381379
options=int(args.options),
382-
guardian_account=guardian,
383-
guardian_address=guardian_address,
384-
relayer_account=relayer,
385-
relayer_address=relayer_address,
386-
guardian_service_url=args.guardian_service_url,
387-
guardian_2fa_code=args.guardian_2fa_code,
380+
guardian_and_relayer_data=guardian_and_relayer_data,
388381
)
389382

390383
address_computer = AddressComputer(NUMBER_OF_SHARDS)
@@ -405,12 +398,10 @@ def call(args: Any):
405398
validate_chain_id_args(args)
406399

407400
sender = cli_shared.prepare_sender(args)
408-
409-
guardian = cli_shared.load_guardian_account(args)
410-
guardian_address = cli_shared.get_guardian_address(guardian, args)
411-
412-
relayer = cli_shared.load_relayer_account(args)
413-
relayer_address = cli_shared.get_relayer_address(relayer, args)
401+
guardian_and_relayer_data = cli_shared.get_guardian_and_relayer_data(
402+
sender=sender.address.to_bech32(),
403+
args=args,
404+
)
414405

415406
chain_id = cli_shared.get_chain_id(args.chain, args.proxy)
416407
config = TransactionsFactoryConfig(chain_id)
@@ -433,12 +424,7 @@ def call(args: Any):
433424
nonce=sender.nonce,
434425
version=int(args.version),
435426
options=int(args.options),
436-
guardian_account=guardian,
437-
guardian_address=guardian_address,
438-
relayer_account=relayer,
439-
relayer_address=relayer_address,
440-
guardian_service_url=args.guardian_service_url,
441-
guardian_2fa_code=args.guardian_2fa_code,
427+
guardian_and_relayer_data=guardian_and_relayer_data,
442428
)
443429

444430
_send_or_simulate(tx, contract_address, args)
@@ -453,12 +439,10 @@ def upgrade(args: Any):
453439
validate_chain_id_args(args)
454440

455441
sender = cli_shared.prepare_sender(args)
456-
457-
guardian = cli_shared.load_guardian_account(args)
458-
guardian_address = cli_shared.get_guardian_address(guardian, args)
459-
460-
relayer = cli_shared.load_relayer_account(args)
461-
relayer_address = cli_shared.get_relayer_address(relayer, args)
442+
guardian_and_relayer_data = cli_shared.get_guardian_and_relayer_data(
443+
sender=sender.address.to_bech32(),
444+
args=args,
445+
)
462446

463447
chain_id = cli_shared.get_chain_id(args.chain, args.proxy)
464448
config = TransactionsFactoryConfig(chain_id)
@@ -484,12 +468,7 @@ def upgrade(args: Any):
484468
nonce=sender.nonce,
485469
version=int(args.version),
486470
options=int(args.options),
487-
guardian_account=guardian,
488-
guardian_address=guardian_address,
489-
relayer_account=relayer,
490-
relayer_address=relayer_address,
491-
guardian_service_url=args.guardian_service_url,
492-
guardian_2fa_code=args.guardian_2fa_code,
471+
guardian_and_relayer_data=guardian_and_relayer_data,
493472
)
494473

495474
_send_or_simulate(tx, contract_address, args)

multiversx_sdk_cli/cli_delegation.py

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -394,28 +394,6 @@ def validate_arguments(args: Any):
394394
validate_chain_id_args(args)
395395

396396

397-
def prepare_sender(args: Any):
398-
sender = cli_shared.prepare_account(args)
399-
sender.nonce = (
400-
int(args.nonce)
401-
if args.nonce is not None
402-
else cli_shared.get_current_nonce_for_address(sender.address, args.proxy)
403-
)
404-
return sender
405-
406-
407-
def prepare_guardian(args: Any):
408-
guardian = cli_shared.load_guardian_account(args)
409-
guardian_address = cli_shared.get_guardian_address(guardian, args)
410-
return guardian, guardian_address
411-
412-
413-
def prepare_relayer(args: Any):
414-
relayer = cli_shared.load_relayer_account(args)
415-
relayer_address = cli_shared.get_relayer_address(relayer, args)
416-
return relayer, relayer_address
417-
418-
419397
def _get_delegation_controller(args: Any):
420398
chain_id = cli_shared.get_chain_id(args.chain, args.proxy)
421399
config = TransactionsFactoryConfig(chain_id)

multiversx_sdk_cli/contracts.py

Lines changed: 22 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
from multiversx_sdk_cli import errors
2929
from multiversx_sdk_cli.base_transactions_controller import BaseTransactionsController
3030
from multiversx_sdk_cli.config import get_address_hrp
31+
from multiversx_sdk_cli.guardian_relayer_data import GuardianRelayerData
3132
from multiversx_sdk_cli.interfaces import IAccount
3233

3334
logger = logging.getLogger("contracts")
@@ -73,12 +74,7 @@ def prepare_deploy_transaction(
7374
nonce: int,
7475
version: int,
7576
options: int,
76-
guardian_account: Optional[IAccount] = None,
77-
guardian_address: Optional[Address] = None,
78-
relayer_account: Optional[IAccount] = None,
79-
relayer_address: Optional[Address] = None,
80-
guardian_service_url: str = "",
81-
guardian_2fa_code: str = "",
77+
guardian_and_relayer_data: GuardianRelayerData,
8278
) -> Transaction:
8379
args = arguments if arguments else []
8480
if should_prepare_args:
@@ -98,16 +94,16 @@ def prepare_deploy_transaction(
9894
tx.nonce = nonce
9995
tx.version = version
10096
tx.options = options
101-
tx.guardian = guardian_address
102-
tx.relayer = relayer_address
97+
tx.guardian = guardian_and_relayer_data.guardian_address
98+
tx.relayer = guardian_and_relayer_data.relayer_address
10399

104100
self.sign_transaction(
105101
transaction=tx,
106102
sender=owner,
107-
guardian=guardian_account,
108-
relayer=relayer_account,
109-
guardian_service_url=guardian_service_url,
110-
guardian_2fa_code=guardian_2fa_code,
103+
guardian=guardian_and_relayer_data.guardian,
104+
relayer=guardian_and_relayer_data.relayer,
105+
guardian_service_url=guardian_and_relayer_data.guardian_service_url,
106+
guardian_2fa_code=guardian_and_relayer_data.guardian_2fa_code,
111107
)
112108

113109
return tx
@@ -125,12 +121,7 @@ def prepare_execute_transaction(
125121
nonce: int,
126122
version: int,
127123
options: int,
128-
guardian_account: Optional[IAccount] = None,
129-
guardian_address: Optional[Address] = None,
130-
relayer_account: Optional[IAccount] = None,
131-
relayer_address: Optional[Address] = None,
132-
guardian_service_url: str = "",
133-
guardian_2fa_code: str = "",
124+
guardian_and_relayer_data: GuardianRelayerData,
134125
) -> Transaction:
135126
token_transfers = self._prepare_token_transfers(transfers) if transfers else []
136127

@@ -150,16 +141,16 @@ def prepare_execute_transaction(
150141
tx.nonce = nonce
151142
tx.version = version
152143
tx.options = options
153-
tx.guardian = guardian_address
154-
tx.relayer = relayer_address
144+
tx.guardian = guardian_and_relayer_data.guardian_address
145+
tx.relayer = guardian_and_relayer_data.relayer_address
155146

156147
self.sign_transaction(
157148
transaction=tx,
158149
sender=caller,
159-
guardian=guardian_account,
160-
relayer=relayer_account,
161-
guardian_service_url=guardian_service_url,
162-
guardian_2fa_code=guardian_2fa_code,
150+
guardian=guardian_and_relayer_data.guardian,
151+
relayer=guardian_and_relayer_data.relayer,
152+
guardian_service_url=guardian_and_relayer_data.guardian_service_url,
153+
guardian_2fa_code=guardian_and_relayer_data.guardian_2fa_code,
163154
)
164155

165156
return tx
@@ -180,12 +171,7 @@ def prepare_upgrade_transaction(
180171
nonce: int,
181172
version: int,
182173
options: int,
183-
guardian_account: Optional[IAccount] = None,
184-
guardian_address: Optional[Address] = None,
185-
relayer_account: Optional[IAccount] = None,
186-
relayer_address: Optional[Address] = None,
187-
guardian_service_url: str = "",
188-
guardian_2fa_code: str = "",
174+
guardian_and_relayer_data: GuardianRelayerData,
189175
) -> Transaction:
190176
args = arguments if arguments else []
191177
if should_prepare_args:
@@ -206,16 +192,16 @@ def prepare_upgrade_transaction(
206192
tx.nonce = nonce
207193
tx.version = version
208194
tx.options = options
209-
tx.guardian = guardian_address
210-
tx.relayer = relayer_address
195+
tx.guardian = guardian_and_relayer_data.guardian_address
196+
tx.relayer = guardian_and_relayer_data.relayer_address
211197

212198
self.sign_transaction(
213199
transaction=tx,
214200
sender=owner,
215-
guardian=guardian_account,
216-
relayer=relayer_account,
217-
guardian_service_url=guardian_service_url,
218-
guardian_2fa_code=guardian_2fa_code,
201+
guardian=guardian_and_relayer_data.guardian,
202+
relayer=guardian_and_relayer_data.relayer,
203+
guardian_service_url=guardian_and_relayer_data.guardian_service_url,
204+
guardian_2fa_code=guardian_and_relayer_data.guardian_2fa_code,
219205
)
220206

221207
return tx

0 commit comments

Comments
 (0)