diff --git a/multiversx_sdk_cli/base_transactions_controller.py b/multiversx_sdk_cli/base_transactions_controller.py deleted file mode 100644 index 8db775a6..00000000 --- a/multiversx_sdk_cli/base_transactions_controller.py +++ /dev/null @@ -1,172 +0,0 @@ -import logging -from typing import Any, Optional, Union - -from multiversx_sdk import Address, LedgerAccount, Transaction, TransactionComputer -from multiversx_sdk.abi import ( - AddressValue, - BigUIntValue, - BoolValue, - BytesValue, - StringValue, -) - -from multiversx_sdk_cli.config_env import get_address_hrp -from multiversx_sdk_cli.constants import ( - ADDRESS_PREFIX, - EXTRA_GAS_LIMIT_FOR_GUARDED_TRANSACTIONS, - EXTRA_GAS_LIMIT_FOR_RELAYED_TRANSACTIONS, - FALSE_STR_LOWER, - HEX_PREFIX, - MAINCHAIN_ADDRESS_HRP, - STR_PREFIX, - TRUE_STR_LOWER, -) -from multiversx_sdk_cli.cosign_transaction import cosign_transaction -from multiversx_sdk_cli.errors import BadUserInput, TransactionSigningError -from multiversx_sdk_cli.guardian_relayer_data import GuardianRelayerData -from multiversx_sdk_cli.interfaces import IAccount - -logger = logging.getLogger("base_controller") - - -class BaseTransactionsController: - def __init__(self) -> None: - pass - - def sign_transaction( - self, - transaction: Transaction, - sender: Optional[IAccount] = None, - guardian: Optional[IAccount] = None, - relayer: Optional[IAccount] = None, - guardian_service_url: Optional[str] = None, - guardian_2fa_code: Optional[str] = None, - ): - """Signs the transaction using the sender's account and, if required, additionally signs with the guardian's and relayer's accounts. Ensures the appropriate transaction options are set as needed.""" - self._set_options_for_guarded_transaction_if_needed(transaction) - self._set_options_for_hash_signing_if_needed(transaction, sender, guardian, relayer) - - if sender: - try: - transaction.signature = sender.sign_transaction(transaction) - except Exception as e: - raise TransactionSigningError(f"Could not sign transaction: {str(e)}") - - self._sign_guarded_transaction_if_guardian( - transaction, - guardian, - guardian_service_url, - guardian_2fa_code, - ) - self._sign_relayed_transaction_if_relayer(transaction, relayer) - - def add_extra_gas_limit_if_required(self, transaction: Transaction): - """In case of guarded or relayed transactions, extra gas limit is added.""" - if transaction.guardian: - transaction.gas_limit += EXTRA_GAS_LIMIT_FOR_GUARDED_TRANSACTIONS - - if transaction.relayer: - transaction.gas_limit += EXTRA_GAS_LIMIT_FOR_RELAYED_TRANSACTIONS - - def _set_options_for_guarded_transaction_if_needed(self, transaction: Transaction): - if transaction.guardian: - transaction_computer = TransactionComputer() - transaction_computer.apply_guardian(transaction, transaction.guardian) - - def _set_options_for_hash_signing_if_needed( - self, - transaction: Transaction, - sender: Union[IAccount, None], - guardian: Union[IAccount, None], - relayer: Union[IAccount, None], - ): - if ( - isinstance(sender, LedgerAccount) - or isinstance(guardian, LedgerAccount) - or isinstance(relayer, LedgerAccount) - ): - transaction_computer = TransactionComputer() - transaction_computer.apply_options_for_hash_signing(transaction) - - def _sign_guarded_transaction_if_guardian( - self, - transaction: Transaction, - guardian: Union[IAccount, None], - guardian_service_url: Union[str, None], - guardian_2fa_code: Union[str, None], - ) -> Transaction: - # If the guardian account is provided, we sign locally. Otherwise, we reach for the trusted cosign service. - if guardian: - try: - transaction.guardian_signature = guardian.sign_transaction(transaction) - except Exception as e: - raise TransactionSigningError(f"Could not sign transaction: {str(e)}") - elif transaction.guardian and guardian_service_url and guardian_2fa_code: - cosign_transaction(transaction, guardian_service_url, guardian_2fa_code) - - return transaction - - def _sign_relayed_transaction_if_relayer(self, transaction: Transaction, relayer: Union[IAccount, None]): - if relayer and transaction.relayer: - try: - transaction.relayer_signature = relayer.sign_transaction(transaction) - except Exception as e: - raise TransactionSigningError(f"Could not sign transaction: {str(e)}") - - def _convert_args_to_typed_values(self, arguments: list[str]) -> list[Any]: - args: list[Any] = [] - - for arg in arguments: - if arg.startswith(HEX_PREFIX): - args.append(BytesValue(self._hex_to_bytes(arg))) - elif arg.isnumeric(): - args.append(BigUIntValue(int(arg))) - elif arg.startswith(ADDRESS_PREFIX): - args.append(AddressValue.new_from_address(Address.new_from_bech32(arg[len(ADDRESS_PREFIX) :]))) - elif arg.startswith(MAINCHAIN_ADDRESS_HRP): - # this flow will be removed in the future - logger.warning( - "Address argument has no prefix. This flow will be removed in the future. Please provide each address using the `addr:` prefix. (e.g. --arguments addr:erd1...)" - ) - args.append(AddressValue.new_from_address(Address.new_from_bech32(arg))) - elif arg.startswith(get_address_hrp()): - args.append(AddressValue.new_from_address(Address.new_from_bech32(arg))) - elif arg.lower() == FALSE_STR_LOWER: - args.append(BoolValue(False)) - elif arg.lower() == TRUE_STR_LOWER: - args.append(BoolValue(True)) - elif arg.startswith(STR_PREFIX): - args.append(StringValue(arg[len(STR_PREFIX) :])) - else: - raise BadUserInput( - f"Unknown argument type for argument: `{arg}`. Use `mxpy contract --help` to check all supported arguments" - ) - - return args - - def _hex_to_bytes(self, arg: str): - argument = arg[len(HEX_PREFIX) :] - argument = argument.upper() - argument = self.ensure_even_length(argument) - return bytes.fromhex(argument) - - def ensure_even_length(self, string: str) -> str: - if len(string) % 2 == 1: - return "0" + string - return string - - def _set_transaction_fields( - self, - transaction: Transaction, - nonce: int, - version: int, - options: int, - gas_price: int, - guardian_and_relayer_data: GuardianRelayerData, - ): - transaction.nonce = nonce - transaction.version = version - transaction.options = options - transaction.gas_price = gas_price - transaction.guardian = guardian_and_relayer_data.guardian_address - transaction.relayer = guardian_and_relayer_data.relayer_address diff --git a/multiversx_sdk_cli/cli_tokens.py b/multiversx_sdk_cli/cli_tokens.py index ca8dbc34..c083d706 100644 --- a/multiversx_sdk_cli/cli_tokens.py +++ b/multiversx_sdk_cli/cli_tokens.py @@ -5,7 +5,6 @@ ProxyNetworkProvider, TokenManagementController, TokenType, - Transaction, ) from multiversx_sdk_cli import cli_shared @@ -13,9 +12,6 @@ validate_broadcast_args, validate_chain_id_args, ) -from multiversx_sdk_cli.base_transactions_controller import BaseTransactionsController -from multiversx_sdk_cli.guardian_relayer_data import GuardianRelayerData -from multiversx_sdk_cli.interfaces import IAccount def setup_parser(args: list[str], subparsers: Any) -> Any: @@ -837,18 +833,6 @@ def _initialize_controller(args: Any) -> TokenManagementController: ) -def _sign_transaction(transaction: Transaction, sender: IAccount, guardian_and_relayer_data: GuardianRelayerData): - base = BaseTransactionsController() - base.sign_transaction( - transaction=transaction, - sender=sender, - guardian=guardian_and_relayer_data.guardian, - relayer=guardian_and_relayer_data.relayer, - guardian_service_url=guardian_and_relayer_data.guardian_service_url, - guardian_2fa_code=guardian_and_relayer_data.guardian_2fa_code, - ) - - def issue_fungible(args: Any): _ensure_args(args) @@ -878,7 +862,12 @@ def issue_fungible(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -910,7 +899,12 @@ def issue_semi_fungible(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -942,7 +936,12 @@ def issue_non_fungible(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -975,7 +974,12 @@ def register_meta_esdt(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1004,7 +1008,12 @@ def register_and_set_all_roles(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1028,7 +1037,12 @@ def set_burn_role_globally(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1052,7 +1066,12 @@ def unset_burn_role_globally(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1080,7 +1099,12 @@ def set_special_role_on_fungible(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1108,7 +1132,12 @@ def unset_special_role_on_fungible(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1142,7 +1171,12 @@ def set_special_role_on_semi_fungible(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1175,7 +1209,12 @@ def unset_special_role_on_semi_fungible(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1204,7 +1243,12 @@ def set_special_role_on_meta_esdt(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1232,7 +1276,12 @@ def unset_special_role_on_meta_esdt(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1267,7 +1316,12 @@ def set_special_role_on_nft(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1301,7 +1355,12 @@ def unset_special_role_on_nft(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1331,7 +1390,12 @@ def create_nft(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1355,7 +1419,12 @@ def pause_token(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1379,7 +1448,12 @@ def unpause_token(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1404,7 +1478,12 @@ def freeze_token(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1429,7 +1508,12 @@ def unfreeze_token(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1454,7 +1538,12 @@ def wipe_token(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1479,7 +1568,12 @@ def local_mint(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1504,7 +1598,12 @@ def local_burn(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1530,7 +1629,12 @@ def update_attributes(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1556,7 +1660,12 @@ def add_quantity(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1582,7 +1691,12 @@ def burn_quantity(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1608,7 +1722,12 @@ def modify_royalties(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1634,7 +1753,12 @@ def set_new_uris(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1659,7 +1783,12 @@ def modify_creator(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1689,7 +1818,12 @@ def update_metadata(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1719,7 +1853,12 @@ def nft_metadata_recreate(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1743,7 +1882,12 @@ def change_to_dynamic(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1767,7 +1911,12 @@ def update_token_id(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1796,7 +1945,12 @@ def register_dynamic_token(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1825,7 +1979,12 @@ def register_dynamic_and_set_all_roles(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1850,7 +2009,12 @@ def transfer_ownership(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1876,7 +2040,12 @@ def freeze_single_nft(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1902,7 +2071,12 @@ def unfreeze_single_nft(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1927,7 +2101,12 @@ def change_sft_to_meta_esdt(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1952,7 +2131,12 @@ def transfer_nft_create_role(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -1976,7 +2160,12 @@ def stop_nft_creation(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -2002,7 +2191,12 @@ def wipe_single_nft(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) @@ -2028,5 +2222,10 @@ def add_uris(args: Any): gas_price=args.gas_price, ) - _sign_transaction(transaction, sender, guardian_and_relayer_data) + cli_shared.alter_transaction_and_sign_again_if_needed( + args=args, + tx=transaction, + sender=sender, + guardian_and_relayer_data=guardian_and_relayer_data, + ) cli_shared.send_or_simulate(transaction, args) diff --git a/multiversx_sdk_cli/transactions.py b/multiversx_sdk_cli/transactions.py index f4229b51..327ffff4 100644 --- a/multiversx_sdk_cli/transactions.py +++ b/multiversx_sdk_cli/transactions.py @@ -17,9 +17,6 @@ class INetworkProvider(Protocol): def send_transaction(self, transaction: Transaction) -> bytes: ... - def get_transaction(self, transaction_hash: Union[bytes, str]) -> TransactionOnNetwork: - ... - def await_transaction_completed(self, transaction_hash: Union[bytes, str], options: Optional[AwaitingOptions] = None) -> TransactionOnNetwork: ... # fmt: on