multiversx-sdk-cli 9.7.1__tar.gz → 9.8.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/PKG-INFO +2 -2
  2. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/cli_accounts.py +3 -1
  3. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/cli_contracts.py +6 -10
  4. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/cli_delegation.py +3 -1
  5. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/cli_dns.py +11 -4
  6. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/cli_shared.py +14 -12
  7. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/cli_transactions.py +11 -44
  8. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/config.py +6 -0
  9. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/interfaces.py +1 -6
  10. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/transactions.py +0 -15
  11. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/pyproject.toml +2 -2
  12. multiversx_sdk_cli-9.7.1/multiversx_sdk_cli/custom_network_provider.py +0 -36
  13. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/.gitignore +0 -0
  14. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/LICENSE +0 -0
  15. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/README.md +0 -0
  16. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/.vscode/settings.json +0 -0
  17. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/__init__.py +0 -0
  18. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/accounts.py +0 -0
  19. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/cli.py +0 -0
  20. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/cli_config.py +0 -0
  21. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/cli_data.py +0 -0
  22. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/cli_deps.py +0 -0
  23. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/cli_faucet.py +0 -0
  24. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/cli_ledger.py +0 -0
  25. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/cli_localnet.py +0 -0
  26. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/cli_output.py +0 -0
  27. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/cli_password.py +0 -0
  28. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/cli_validators.py +0 -0
  29. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/cli_wallet.py +0 -0
  30. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/constants.py +0 -0
  31. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/contract_verification.py +0 -0
  32. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/contracts.py +0 -0
  33. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/cosign_transaction.py +0 -0
  34. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/delegation/__init__.py +0 -0
  35. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/delegation/staking_provider.py +0 -0
  36. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/dependencies/__init__.py +0 -0
  37. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/dependencies/install.py +0 -0
  38. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/dependencies/modules.py +0 -0
  39. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/dependencies/resolution.py +0 -0
  40. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/dependency_checker.py +0 -0
  41. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/dns.py +0 -0
  42. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/docker.py +0 -0
  43. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/downloader.py +0 -0
  44. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/errors.py +0 -0
  45. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/guards.py +0 -0
  46. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/ledger/__init__.py +0 -0
  47. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/ledger/config.py +0 -0
  48. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/ledger/ledger_app_handler.py +0 -0
  49. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/ledger/ledger_functions.py +0 -0
  50. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/__init__.py +0 -0
  51. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/config_default.py +0 -0
  52. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/config_general.py +0 -0
  53. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/config_networking.py +0 -0
  54. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/config_part.py +0 -0
  55. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/config_root.py +0 -0
  56. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/config_sharding.py +0 -0
  57. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/config_software.py +0 -0
  58. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/constants.py +0 -0
  59. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/genesis.py +0 -0
  60. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/genesis_json.py +0 -0
  61. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/genesis_smart_contracts_json.py +0 -0
  62. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/libraries.py +0 -0
  63. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/node.py +0 -0
  64. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/node_config_toml.py +0 -0
  65. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/nodes_setup_json.py +0 -0
  66. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/p2p_toml.py +0 -0
  67. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/seednode_p2pKey.pem +0 -0
  68. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/step_build_software.py +0 -0
  69. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/step_clean.py +0 -0
  70. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/step_config.py +0 -0
  71. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/step_new.py +0 -0
  72. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/step_prerequisites.py +0 -0
  73. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/step_start.py +0 -0
  74. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/localnet/wallets.py +0 -0
  75. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/myprocess.py +0 -0
  76. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/native_auth_client.py +0 -0
  77. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/__init__.py +0 -0
  78. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/constants.py +0 -0
  79. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/core.py +0 -0
  80. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/interfaces.py +0 -0
  81. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/migrations.py +0 -0
  82. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/project_base.py +0 -0
  83. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/project_rust.py +0 -0
  84. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/report/__init__.py +0 -0
  85. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/report/data/__init__.py +0 -0
  86. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/report/data/common.py +0 -0
  87. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/report/data/extracted_feature.py +0 -0
  88. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/report/data/folder_report.py +0 -0
  89. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/report/data/project_report.py +0 -0
  90. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/report/data/report.py +0 -0
  91. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/report/data/wasm_report.py +0 -0
  92. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/report/do_report.py +0 -0
  93. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/report/features/__init__.py +0 -0
  94. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/report/features/features.py +0 -0
  95. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/report/features/report_option.py +0 -0
  96. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/report/features/size.py +0 -0
  97. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/report/features/twiggy_paths_check.py +0 -0
  98. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/report/format/__init__.py +0 -0
  99. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/report/format/change_type.py +0 -0
  100. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/report/format/format_options.py +0 -0
  101. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/report/report_creator.py +0 -0
  102. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/shared.py +0 -0
  103. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/projects/templates.py +0 -0
  104. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/sign_verify.py +0 -0
  105. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/simulation.py +0 -0
  106. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/utils.py +0 -0
  107. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/ux.py +0 -0
  108. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/validators/__init__.py +0 -0
  109. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/validators/core.py +0 -0
  110. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/validators/validators_file.py +0 -0
  111. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/version.py +0 -0
  112. {multiversx_sdk_cli-9.7.1 → multiversx_sdk_cli-9.8.1}/multiversx_sdk_cli/workstation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: multiversx-sdk-cli
3
- Version: 9.7.1
3
+ Version: 9.8.1
4
4
  Summary: MultiversX Smart Contracts Tools
5
5
  Project-URL: Homepage, https://github.com/multiversx/mx-sdk-py-cli
6
6
  Author: MultiversX
@@ -13,7 +13,7 @@ Classifier: Programming Language :: Python :: 3
13
13
  Requires-Python: >=3.8
14
14
  Requires-Dist: argcomplete==3.2.2
15
15
  Requires-Dist: ledgercomm[hid]
16
- Requires-Dist: multiversx-sdk==0.13.0
16
+ Requires-Dist: multiversx-sdk==0.16.3
17
17
  Requires-Dist: prettytable
18
18
  Requires-Dist: requests-cache
19
19
  Requires-Dist: requests<3.0.0,>=2.32.0
@@ -4,6 +4,7 @@ from typing import Any
4
4
  from multiversx_sdk import Address, ProxyNetworkProvider
5
5
 
6
6
  from multiversx_sdk_cli import cli_shared, utils
7
+ from multiversx_sdk_cli.config import get_config_for_network_providers
7
8
 
8
9
  logger = logging.getLogger("cli.accounts")
9
10
 
@@ -33,7 +34,8 @@ def _add_address_arg(sub: Any):
33
34
  def get_account(args: Any):
34
35
  proxy_url = args.proxy
35
36
  address = args.address
36
- proxy = ProxyNetworkProvider(proxy_url)
37
+ config = get_config_for_network_providers()
38
+ proxy = ProxyNetworkProvider(url=proxy_url, config=config)
37
39
  account = proxy.get_account(Address.new_from_bech32(address))
38
40
 
39
41
  if args.balance:
@@ -10,6 +10,7 @@ from multiversx_sdk.abi import Abi
10
10
 
11
11
  from multiversx_sdk_cli import cli_shared, projects, utils
12
12
  from multiversx_sdk_cli.cli_output import CLIOutputBuilder
13
+ from multiversx_sdk_cli.config import get_config_for_network_providers
13
14
  from multiversx_sdk_cli.constants import NUMBER_OF_SHARDS
14
15
  from multiversx_sdk_cli.contract_verification import \
15
16
  trigger_contract_verification
@@ -100,7 +101,7 @@ def setup_parser(args: List[str], subparsers: Any) -> Any:
100
101
  cli_shared.add_tx_args(args, sub, with_receiver=False, with_data=False)
101
102
  _add_function_arg(sub)
102
103
  _add_arguments_arg(sub)
103
- _add_token_transfers_args(sub)
104
+ cli_shared.add_token_transfers_args(sub)
104
105
  sub.add_argument("--wait-result", action="store_true", default=False,
105
106
  help="signal to wait for the transaction result - only valid if --send is set")
106
107
  sub.add_argument("--timeout", default=100, help="max num of seconds to wait for result"
@@ -243,12 +244,6 @@ def _add_arguments_arg(sub: Any):
243
244
  "E.g. [{ 'to': 'erd1...', 'amount': 10000000000 }]")
244
245
 
245
246
 
246
- def _add_token_transfers_args(sub: Any):
247
- sub.add_argument("--token-transfers", nargs='+',
248
- help="token transfers for transfer & execute, as [token, amount] "
249
- "E.g. --token-transfers NFT-123456-0a 1 ESDT-987654 100000000")
250
-
251
-
252
247
  def _add_metadata_arg(sub: Any):
253
248
  sub.add_argument("--metadata-not-upgradeable", dest="metadata_upgradeable", action="store_false",
254
249
  help="‼ mark the contract as NOT upgradeable (default: upgradeable)")
@@ -448,14 +443,15 @@ def query(args: Any):
448
443
  args.chain = ""
449
444
  cli_shared.prepare_chain_id_in_args(args)
450
445
 
451
- config = TransactionsFactoryConfig(args.chain)
446
+ factory_config = TransactionsFactoryConfig(args.chain)
452
447
  abi = Abi.load(Path(args.abi)) if args.abi else None
453
- contract = SmartContract(config, abi)
448
+ contract = SmartContract(factory_config, abi)
454
449
 
455
450
  arguments, should_prepare_args = _get_contract_arguments(args)
456
451
  contract_address = Address.new_from_bech32(args.contract)
457
452
 
458
- proxy = ProxyNetworkProvider(args.proxy)
453
+ network_provider_config = get_config_for_network_providers()
454
+ proxy = ProxyNetworkProvider(url=args.proxy, config=network_provider_config)
459
455
  function = args.function
460
456
 
461
457
  result = contract.query_contract(
@@ -3,6 +3,7 @@ from typing import Any, List
3
3
  from multiversx_sdk import ProxyNetworkProvider, TransactionsFactoryConfig
4
4
 
5
5
  from multiversx_sdk_cli import cli_shared, errors, utils
6
+ from multiversx_sdk_cli.config import get_config_for_network_providers
6
7
  from multiversx_sdk_cli.delegation import DelegationOperations
7
8
 
8
9
 
@@ -209,7 +210,8 @@ def do_create_delegation_contract(args: Any):
209
210
  def get_contract_address_by_deploy_tx_hash(args: Any):
210
211
  args = utils.as_object(args)
211
212
 
212
- proxy = ProxyNetworkProvider(args.proxy)
213
+ config = get_config_for_network_providers()
214
+ proxy = ProxyNetworkProvider(url=args.proxy, config=config)
213
215
 
214
216
  transaction = proxy.get_transaction(args.create_tx_hash)
215
217
  transaction_events = transaction.logs.events
@@ -4,6 +4,7 @@ from multiversx_sdk import Address, ProxyNetworkProvider
4
4
  from prettytable import PrettyTable
5
5
 
6
6
  from multiversx_sdk_cli import cli_shared
7
+ from multiversx_sdk_cli.config import get_config_for_network_providers
7
8
  from multiversx_sdk_cli.constants import ADDRESS_ZERO_BECH32
8
9
  from multiversx_sdk_cli.dns import (compute_dns_address_for_shard_id,
9
10
  dns_address_for_name, name_hash, register,
@@ -79,14 +80,17 @@ def _ensure_proxy_is_provided(args: Any):
79
80
  def dns_resolve(args: Any):
80
81
  _ensure_proxy_is_provided(args)
81
82
 
82
- addr = resolve(args.name, ProxyNetworkProvider(args.proxy))
83
+ config = get_config_for_network_providers()
84
+ addr = resolve(args.name, ProxyNetworkProvider(url=args.proxy, config=config))
83
85
  if addr.to_hex() != Address.new_from_bech32(ADDRESS_ZERO_BECH32).to_hex():
84
86
  print(addr.to_bech32())
85
87
 
86
88
 
87
89
  def dns_validate_name(args: Any):
88
90
  _ensure_proxy_is_provided(args)
89
- validate_name(args.name, args.shard_id, ProxyNetworkProvider(args.proxy))
91
+
92
+ config = get_config_for_network_providers()
93
+ validate_name(args.name, args.shard_id, ProxyNetworkProvider(url=args.proxy, config=config))
90
94
 
91
95
 
92
96
  def get_name_hash(args: Any):
@@ -107,13 +111,16 @@ def get_dns_address_for_name_hex(args: Any):
107
111
 
108
112
  def get_registration_cost(args: Any):
109
113
  _ensure_proxy_is_provided(args)
110
- print(registration_cost(args.shard_id, ProxyNetworkProvider(args.proxy)))
114
+
115
+ config = get_config_for_network_providers()
116
+ print(registration_cost(args.shard_id, ProxyNetworkProvider(url=args.proxy, config=config)))
111
117
 
112
118
 
113
119
  def get_version(args: Any):
114
120
  _ensure_proxy_is_provided(args)
115
121
 
116
- proxy = ProxyNetworkProvider(args.proxy)
122
+ config = get_config_for_network_providers()
123
+ proxy = ProxyNetworkProvider(url=args.proxy, config=config)
117
124
  if args.all:
118
125
  t = PrettyTable(['Shard ID', 'Contract address (bech32)', 'Contract address (hex)', 'Version'])
119
126
  for shard_id in range(0, 256):
@@ -14,7 +14,6 @@ from multiversx_sdk_cli.cli_password import (load_guardian_password,
14
14
  load_password)
15
15
  from multiversx_sdk_cli.constants import (DEFAULT_TX_VERSION,
16
16
  TRANSACTION_OPTIONS_TX_GUARDED)
17
- from multiversx_sdk_cli.custom_network_provider import CustomNetworkProvider
18
17
  from multiversx_sdk_cli.errors import ArgumentsNotProvidedError
19
18
  from multiversx_sdk_cli.interfaces import ITransaction
20
19
  from multiversx_sdk_cli.ledger.ledger_functions import do_get_ledger_address
@@ -92,17 +91,10 @@ def add_tx_args(
92
91
  sub.add_argument("--version", type=int, default=DEFAULT_TX_VERSION, help="the transaction version (default: %(default)s)")
93
92
 
94
93
  add_guardian_args(sub)
95
- add_relayed_v3_args(sub)
96
94
 
97
95
  sub.add_argument("--options", type=int, default=0, help="the transaction options (default: 0)")
98
96
 
99
97
 
100
- def add_relayed_v3_args(sub: Any):
101
- sub.add_argument("--relayer", help="the address of the relayer")
102
- sub.add_argument("--inner-transactions", help="a json file containing the inner transactions; should only be provided when creating the relayer's transaction")
103
- sub.add_argument("--inner-transactions-outfile", type=str, help="where to save the transaction as an inner transaction (default: stdout)")
104
-
105
-
106
98
  def add_guardian_args(sub: Any):
107
99
  sub.add_argument("--guardian", type=str, help="the address of the guradian", default="")
108
100
  sub.add_argument("--guardian-service-url", type=str, help="the url of the guardian service", default="")
@@ -148,6 +140,12 @@ def add_omit_fields_arg(sub: Any):
148
140
  sub.add_argument("--omit-fields", default="[]", type=str, required=False, help="omit fields in the output payload (default: %(default)s)")
149
141
 
150
142
 
143
+ def add_token_transfers_args(sub: Any):
144
+ sub.add_argument("--token-transfers", nargs='+',
145
+ help="token transfers for transfer & execute, as [token, amount] "
146
+ "E.g. --token-transfers NFT-123456-0a 1 ESDT-987654 100000000")
147
+
148
+
151
149
  def parse_omit_fields_arg(args: Any) -> List[str]:
152
150
  literal = args.omit_fields
153
151
  parsed = ast.literal_eval(literal)
@@ -189,7 +187,8 @@ def prepare_nonce_in_args(args: Any):
189
187
 
190
188
  if args.recall_nonce:
191
189
  account = prepare_account(args)
192
- account.sync_nonce(ProxyNetworkProvider(args.proxy))
190
+ network_provider_config = config.get_config_for_network_providers()
191
+ account.sync_nonce(ProxyNetworkProvider(url=args.proxy, config=network_provider_config))
193
192
  args.nonce = account.nonce
194
193
 
195
194
 
@@ -198,7 +197,8 @@ def prepare_chain_id_in_args(args: Any):
198
197
  raise ArgumentsNotProvidedError("chain ID cannot be decided: `--chain` or `--proxy` should be provided")
199
198
 
200
199
  if args.chain and args.proxy:
201
- proxy = ProxyNetworkProvider(args.proxy)
200
+ network_provider_config = config.get_config_for_network_providers()
201
+ proxy = ProxyNetworkProvider(url=args.proxy, config=network_provider_config)
202
202
  fetched_chain_id = proxy.get_network_config().chain_id
203
203
 
204
204
  if args.chain != fetched_chain_id:
@@ -211,7 +211,8 @@ def prepare_chain_id_in_args(args: Any):
211
211
  if args.chain:
212
212
  return
213
213
  elif args.proxy:
214
- proxy = ProxyNetworkProvider(args.proxy)
214
+ network_provider_config = config.get_config_for_network_providers()
215
+ proxy = ProxyNetworkProvider(url=args.proxy, config=network_provider_config)
215
216
  args.chain = proxy.get_network_config().chain_id
216
217
 
217
218
 
@@ -260,7 +261,8 @@ def check_options_for_guarded_tx(options: int):
260
261
 
261
262
 
262
263
  def send_or_simulate(tx: ITransaction, args: Any, dump_output: bool = True) -> CLIOutputBuilder:
263
- proxy = CustomNetworkProvider(args.proxy)
264
+ network_provider_config = config.get_config_for_network_providers()
265
+ proxy = ProxyNetworkProvider(url=args.proxy, config=network_provider_config)
264
266
 
265
267
  is_set_wait_result = hasattr(args, "wait_result") and args.wait_result
266
268
  is_set_send = hasattr(args, "send") and args.send
@@ -1,17 +1,16 @@
1
1
  import logging
2
2
  from pathlib import Path
3
- from typing import Any, Dict, List
3
+ from typing import Any, List
4
4
 
5
- from multiversx_sdk import Transaction, TransactionsConverter
5
+ from multiversx_sdk import ProxyNetworkProvider
6
6
 
7
7
  from multiversx_sdk_cli import cli_shared, utils
8
8
  from multiversx_sdk_cli.cli_output import CLIOutputBuilder
9
+ from multiversx_sdk_cli.config import get_config_for_network_providers
9
10
  from multiversx_sdk_cli.cosign_transaction import cosign_transaction
10
- from multiversx_sdk_cli.custom_network_provider import CustomNetworkProvider
11
- from multiversx_sdk_cli.errors import BadUsage, NoWalletProvided
11
+ from multiversx_sdk_cli.errors import NoWalletProvided
12
12
  from multiversx_sdk_cli.transactions import (compute_relayed_v1_data,
13
13
  do_prepare_transaction,
14
- load_inner_transactions_from_file,
15
14
  load_transaction_from_file)
16
15
 
17
16
  logger = logging.getLogger("cli.transactions")
@@ -23,7 +22,7 @@ def setup_parser(args: List[str], subparsers: Any) -> Any:
23
22
 
24
23
  sub = cli_shared.add_command_subparser(subparsers, "tx", "new", f"Create a new transaction.{CLIOutputBuilder.describe()}")
25
24
  _add_common_arguments(args, sub)
26
- _add_token_transfers_args(sub)
25
+ cli_shared.add_token_transfers_args(sub)
27
26
  cli_shared.add_outfile_arg(sub, what="signed transaction, hash")
28
27
  cli_shared.add_broadcast_args(sub, relay=True)
29
28
  cli_shared.add_proxy_arg(sub)
@@ -68,12 +67,6 @@ def _add_common_arguments(args: List[str], sub: Any):
68
67
  sub.add_argument("--data-file", type=str, default=None, help="a file containing transaction data")
69
68
 
70
69
 
71
- def _add_token_transfers_args(sub: Any):
72
- sub.add_argument("--token-transfers", nargs='+',
73
- help="token transfers for transfer & execute, as [token, amount] "
74
- "E.g. --token-transfers NFT-123456-0a 1 ESDT-987654 100000000")
75
-
76
-
77
70
  def create_transaction(args: Any):
78
71
  args = utils.as_object(args)
79
72
 
@@ -85,14 +78,8 @@ def create_transaction(args: Any):
85
78
  if args.data_file:
86
79
  args.data = Path(args.data_file).read_text()
87
80
 
88
- check_relayer_transaction_with_data_field_for_relayed_v3(args)
89
-
90
81
  tx = do_prepare_transaction(args)
91
82
 
92
- if hasattr(args, "inner_transactions_outfile") and args.inner_transactions_outfile:
93
- save_transaction_to_inner_transactions_file(tx, args)
94
- return
95
-
96
83
  if hasattr(args, "relay") and args.relay:
97
84
  logger.warning("RelayedV1 transactions are deprecated. Please use RelayedV3 instead.")
98
85
  args.outfile.write(compute_relayed_v1_data(tx))
@@ -101,36 +88,14 @@ def create_transaction(args: Any):
101
88
  cli_shared.send_or_simulate(tx, args)
102
89
 
103
90
 
104
- def save_transaction_to_inner_transactions_file(transaction: Transaction, args: Any):
105
- inner_txs_file = Path(args.inner_transactions_outfile).expanduser()
106
- transactions = get_inner_transactions_if_any(inner_txs_file)
107
- transactions.append(transaction)
108
-
109
- tx_converter = TransactionsConverter()
110
- inner_transactions: Dict[str, Any] = {}
111
- inner_transactions["innerTransactions"] = [tx_converter.transaction_to_dictionary(tx) for tx in transactions]
112
-
113
- with open(inner_txs_file, "w") as file:
114
- utils.dump_out_json(inner_transactions, file)
115
-
116
-
117
- def get_inner_transactions_if_any(file: Path) -> List[Transaction]:
118
- if file.is_file():
119
- return load_inner_transactions_from_file(file)
120
- return []
121
-
122
-
123
- def check_relayer_transaction_with_data_field_for_relayed_v3(args: Any):
124
- if hasattr(args, "inner_transactions") and args.inner_transactions and args.data:
125
- raise BadUsage("Can't set data field when creating a relayedV3 transaction")
126
-
127
-
128
91
  def send_transaction(args: Any):
129
92
  args = utils.as_object(args)
130
93
 
131
94
  tx = load_transaction_from_file(args.infile)
132
95
  output = CLIOutputBuilder()
133
- proxy = CustomNetworkProvider(args.proxy)
96
+
97
+ config = get_config_for_network_providers()
98
+ proxy = ProxyNetworkProvider(url=args.proxy, config=config)
134
99
 
135
100
  try:
136
101
  tx_hash = proxy.send_transaction(tx)
@@ -143,7 +108,9 @@ def send_transaction(args: Any):
143
108
  def get_transaction(args: Any):
144
109
  args = utils.as_object(args)
145
110
  omit_fields = cli_shared.parse_omit_fields_arg(args)
146
- proxy = CustomNetworkProvider(args.proxy)
111
+
112
+ config = get_config_for_network_providers()
113
+ proxy = ProxyNetworkProvider(url=args.proxy, config=config)
147
114
 
148
115
  transaction = proxy.get_transaction(args.hash, True)
149
116
  output = CLIOutputBuilder().set_transaction_on_network(transaction, omit_fields).build()
@@ -2,6 +2,8 @@ import os
2
2
  from pathlib import Path
3
3
  from typing import Any, Dict, List
4
4
 
5
+ from multiversx_sdk import NetworkProviderConfig
6
+
5
7
  from multiversx_sdk_cli import errors, utils
6
8
 
7
9
  SDK_PATH = Path("~/multiversx-sdk").expanduser().resolve()
@@ -242,3 +244,7 @@ def get_dependency_directory(key: str, tag: str) -> Path:
242
244
 
243
245
  def get_dependency_parent_directory(key: str) -> Path:
244
246
  return SDK_PATH / key
247
+
248
+
249
+ def get_config_for_network_providers() -> NetworkProviderConfig:
250
+ return NetworkProviderConfig(client_name="mxpy")
@@ -1,4 +1,4 @@
1
- from typing import Any, Dict, Protocol, Sequence
1
+ from typing import Any, Dict, Protocol
2
2
 
3
3
 
4
4
  class IAddress(Protocol):
@@ -25,11 +25,6 @@ class ITransaction(Protocol):
25
25
  guardian: str
26
26
  signature: bytes
27
27
  guardian_signature: bytes
28
- relayer: str
29
-
30
- @property
31
- def inner_transactions(self) -> Sequence["ITransaction"]:
32
- ...
33
28
 
34
29
 
35
30
  class IAccount(Protocol):
@@ -2,7 +2,6 @@ import base64
2
2
  import json
3
3
  import logging
4
4
  import time
5
- from pathlib import Path
6
5
  from typing import Any, Dict, List, Optional, Protocol, TextIO
7
6
 
8
7
  from multiversx_sdk import (Address, Token, TokenComputer, TokenTransfer,
@@ -79,12 +78,6 @@ def do_prepare_transaction(args: Any) -> Transaction:
79
78
  if args.guardian:
80
79
  tx.guardian = args.guardian
81
80
 
82
- if args.relayer:
83
- tx.relayer = Address.new_from_bech32(args.relayer).to_bech32()
84
-
85
- if args.inner_transactions:
86
- tx.inner_transactions = load_inner_transactions_from_file(Path(args.inner_transactions).expanduser())
87
-
88
81
  tx.signature = bytes.fromhex(account.sign_transaction(tx))
89
82
  tx = sign_tx_by_guardian(args, tx)
90
83
 
@@ -227,11 +220,3 @@ def load_transaction_from_file(f: TextIO) -> Transaction:
227
220
 
228
221
  tx_converter = TransactionsConverter()
229
222
  return tx_converter.dictionary_to_transaction(transaction_dictionary)
230
-
231
-
232
- def load_inner_transactions_from_file(path: Path) -> List[Transaction]:
233
- data_json = path.read_text()
234
- transactions: List[Dict[str, Any]] = json.loads(data_json).get("innerTransactions")
235
-
236
- tx_converter = TransactionsConverter()
237
- return [tx_converter.dictionary_to_transaction(transaction) for transaction in transactions]
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "multiversx-sdk-cli"
7
- version = "9.7.1"
7
+ version = "9.8.1"
8
8
  authors = [
9
9
  { name="MultiversX" },
10
10
  ]
@@ -28,7 +28,7 @@ dependencies = [
28
28
  "requests-cache",
29
29
  "rich==13.3.4",
30
30
  "argcomplete==3.2.2",
31
- "multiversx-sdk==0.13.0"
31
+ "multiversx-sdk==0.16.3"
32
32
  ]
33
33
 
34
34
  [project.scripts]
@@ -1,36 +0,0 @@
1
- from typing import Any, Dict, Optional, Protocol
2
-
3
- from multiversx_sdk import GenericError, ProxyNetworkProvider
4
-
5
- from multiversx_sdk_cli.errors import ProxyError
6
- from multiversx_sdk_cli.interfaces import ISimulateResponse, ITransaction
7
-
8
-
9
- class ITransactionOnNetwork(Protocol):
10
- hash: str
11
- is_completed: Optional[bool]
12
-
13
- def to_dictionary(self) -> Dict[str, Any]:
14
- ...
15
-
16
-
17
- class CustomNetworkProvider:
18
- def __init__(self, url: str) -> None:
19
- self._provider = ProxyNetworkProvider(url)
20
-
21
- def send_transaction(self, transaction: ITransaction) -> str:
22
- try:
23
- hash = self._provider.send_transaction(transaction)
24
- return hash
25
- except GenericError as ge:
26
- url = ge.url
27
- message = ge.data.get("error", "")
28
- data = ge.data.get("data", "")
29
- code = ge.data.get("code", "")
30
- raise ProxyError(message, url, data, code)
31
-
32
- def get_transaction(self, tx_hash: str, with_process_status: Optional[bool] = False) -> ITransactionOnNetwork:
33
- return self._provider.get_transaction(tx_hash, with_process_status)
34
-
35
- def simulate_transaction(self, transaction: ITransaction) -> ISimulateResponse:
36
- return self._provider.simulate_transaction(transaction)