multiversx-sdk-cli 11.4.0__tar.gz → 12.0.0__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 (82) hide show
  1. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/PKG-INFO +3 -3
  2. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_contracts.py +1 -0
  3. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_dns.py +1 -1
  4. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_get.py +1 -1
  5. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_shared.py +8 -1
  6. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_transactions.py +3 -0
  7. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/contract_verification.py +2 -0
  8. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cosign_transaction.py +4 -10
  9. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/pyproject.toml +3 -3
  10. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/.gitignore +0 -0
  11. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/LICENSE +0 -0
  12. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/README.md +0 -0
  13. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/__init__.py +0 -0
  14. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/args_converter.py +0 -0
  15. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/args_validation.py +0 -0
  16. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli.py +0 -0
  17. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_config.py +0 -0
  18. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_config_env.py +0 -0
  19. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_config_wallet.py +0 -0
  20. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_data.py +0 -0
  21. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_delegation.py +0 -0
  22. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_deps.py +0 -0
  23. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_faucet.py +0 -0
  24. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_governance.py +0 -0
  25. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_ledger.py +0 -0
  26. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_localnet.py +0 -0
  27. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_multisig.py +0 -0
  28. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_output.py +0 -0
  29. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_password.py +0 -0
  30. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_tokens.py +0 -0
  31. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_validator_wallet.py +0 -0
  32. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_validators.py +0 -0
  33. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/cli_wallet.py +0 -0
  34. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/config.py +0 -0
  35. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/config_env.py +0 -0
  36. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/config_wallet.py +0 -0
  37. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/constants.py +0 -0
  38. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/dependencies/__init__.py +0 -0
  39. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/dependencies/install.py +0 -0
  40. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/dependencies/modules.py +0 -0
  41. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/dependencies/resolution.py +0 -0
  42. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/dns.py +0 -0
  43. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/docker.py +0 -0
  44. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/downloader.py +0 -0
  45. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/errors.py +0 -0
  46. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/guardian_relayer_data.py +0 -0
  47. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/guards.py +0 -0
  48. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/interfaces.py +0 -0
  49. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/__init__.py +0 -0
  50. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/config_default.py +0 -0
  51. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/config_general.py +0 -0
  52. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/config_networking.py +0 -0
  53. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/config_part.py +0 -0
  54. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/config_root.py +0 -0
  55. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/config_sharding.py +0 -0
  56. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/config_software.py +0 -0
  57. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/constants.py +0 -0
  58. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/genesis.py +0 -0
  59. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/genesis_json.py +0 -0
  60. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/genesis_smart_contracts_json.py +0 -0
  61. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/libraries.py +0 -0
  62. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/node.py +0 -0
  63. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/node_config_toml.py +0 -0
  64. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/nodes_setup_json.py +0 -0
  65. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/p2p_toml.py +0 -0
  66. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/seednode_p2pKey.pem +0 -0
  67. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/step_build_software.py +0 -0
  68. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/step_clean.py +0 -0
  69. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/step_config.py +0 -0
  70. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/step_new.py +0 -0
  71. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/step_prerequisites.py +0 -0
  72. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/step_start.py +0 -0
  73. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/localnet/wallets.py +0 -0
  74. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/myprocess.py +0 -0
  75. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/sign_verify.py +0 -0
  76. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/signing_wrapper.py +0 -0
  77. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/simulation.py +0 -0
  78. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/transactions.py +0 -0
  79. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/utils.py +0 -0
  80. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/ux.py +0 -0
  81. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/version.py +0 -0
  82. {multiversx_sdk_cli-11.4.0 → multiversx_sdk_cli-12.0.0}/multiversx_sdk_cli/workstation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: multiversx-sdk-cli
3
- Version: 11.4.0
3
+ Version: 12.0.0
4
4
  Summary: MultiversX Smart Contracts Tools
5
5
  Project-URL: Homepage, https://github.com/multiversx/mx-sdk-py-cli
6
6
  Author: MultiversX
@@ -10,10 +10,10 @@ Classifier: Intended Audience :: Developers
10
10
  Classifier: License :: OSI Approved :: MIT License
11
11
  Classifier: Operating System :: OS Independent
12
12
  Classifier: Programming Language :: Python :: 3
13
- Requires-Python: >=3.10
13
+ Requires-Python: >=3.11
14
14
  Requires-Dist: argcomplete==3.2.2
15
15
  Requires-Dist: ledgercomm[hid]
16
- Requires-Dist: multiversx-sdk[ledger]==2.4.0
16
+ Requires-Dist: multiversx-sdk[ledger]==3.0.0
17
17
  Requires-Dist: requests<3.0.0,>=2.32.0
18
18
  Requires-Dist: rich==13.3.4
19
19
  Requires-Dist: toml>=0.10.2
@@ -592,6 +592,7 @@ def unverify(args: Any) -> None:
592
592
 
593
593
  headers = {"Content-type": "application/json"}
594
594
  response = requests.delete(verifier_url, json=request_payload, headers=headers)
595
+ response.raise_for_status()
595
596
  logger.info(f"Your request to unverify contract {contract} was submitted.")
596
597
  print(response.json().get("message"))
597
598
 
@@ -37,7 +37,7 @@ def setup_parser(args: list[str], subparsers: Any) -> Any:
37
37
  cli_shared.add_tx_args(args, sub, with_receiver=False, with_data=False)
38
38
  cli_shared.add_guardian_wallet_args(args, sub)
39
39
  cli_shared.add_relayed_v3_wallet_args(args, sub)
40
- sub.add_argument("--name", help="the name to register")
40
+ sub.add_argument("--name", required=True, help="the name to register")
41
41
  sub.set_defaults(func=register)
42
42
 
43
43
  sub = cli_shared.add_command_subparser(subparsers, "dns", "resolve", "Find the address for a name")
@@ -202,7 +202,7 @@ def get_network_config(args: Any):
202
202
 
203
203
  def get_network_status(args: Any):
204
204
  proxy = _get_proxy(args)
205
- status = proxy.get_network_status()
205
+ status = proxy.get_network_status(args.shard)
206
206
 
207
207
  dump_out_json(status.raw)
208
208
 
@@ -361,6 +361,7 @@ def add_wait_result_and_timeout_args(sub: Any):
361
361
  )
362
362
  sub.add_argument(
363
363
  "--timeout",
364
+ type=int,
364
365
  default=100,
365
366
  help="max num of seconds to wait for result" " - only valid if --wait-result is set",
366
367
  )
@@ -612,7 +613,7 @@ def _fetch_guardian_data(address: str, proxy_url: str) -> dict[str, Any]:
612
613
  network_provider_config = config.get_config_for_network_providers()
613
614
  proxy = ProxyNetworkProvider(url=proxy_url, config=network_provider_config)
614
615
 
615
- response = proxy.do_get_generic(f"/address/{address}/guardian-data").to_dictionary()
616
+ response = proxy.do_get_generic(f"address/{address}/guardian-data").to_dictionary()
616
617
  guardian_data: dict[str, Any] = response.get("guardianData", {})
617
618
  return guardian_data
618
619
 
@@ -813,6 +814,12 @@ def prepare_token_transfers(transfers: list[str]) -> list[TokenTransfer]:
813
814
  token_computer = TokenComputer()
814
815
  token_transfers: list[TokenTransfer] = []
815
816
 
817
+ if len(transfers) % 2 != 0:
818
+ raise ArgumentsNotProvidedError(
819
+ "Invalid number of arguments for token transfers. "
820
+ "Expected pairs of [token, amount], but got an odd number of arguments."
821
+ )
822
+
816
823
  for i in range(0, len(transfers) - 1, 2):
817
824
  extended_identifier = transfers[i]
818
825
  amount = int(transfers[i + 1])
@@ -206,6 +206,9 @@ def sign_transaction(args: Any):
206
206
  if tx.guardian and not tx_computer.has_options_set_for_guarded_transaction(tx):
207
207
  raise BadUsage("Guardian wallet provided but the transaction has incorrect options")
208
208
 
209
+ if not sender and not guardian and not relayer:
210
+ raise NoWalletProvided()
211
+
209
212
  guardian_and_relayer = GuardianRelayerData(
210
213
  guardian=guardian,
211
214
  guardian_address=tx.guardian,
@@ -146,6 +146,7 @@ def query_status_with_task_id(url: str, task_id: str, interval: int = 10):
146
146
  def _do_post(url: str, payload: Any) -> tuple[int, str, dict[str, Any]]:
147
147
  logger.debug(f"_do_post() to {url}")
148
148
  response = requests.post(url, json=payload)
149
+ response.raise_for_status()
149
150
 
150
151
  try:
151
152
  data = response.json()
@@ -159,6 +160,7 @@ def _do_post(url: str, payload: Any) -> tuple[int, str, dict[str, Any]]:
159
160
  def _do_get(url: str) -> tuple[int, str, dict[str, Any]]:
160
161
  logger.debug(f"_do_get() from {url}")
161
162
  response = requests.get(url)
163
+ response.raise_for_status()
162
164
 
163
165
  try:
164
166
  data = response.json()
@@ -1,5 +1,3 @@
1
- from typing import Any
2
-
3
1
  import requests
4
2
  from multiversx_sdk import Transaction
5
3
 
@@ -15,15 +13,11 @@ def cosign_transaction(transaction: Transaction, service_url: str, guardian_code
15
13
  # we call sign-multiple-transactions to be allowed a bigger payload (e.g. deploying large contracts)
16
14
  url = f"{service_url}/sign-multiple-transactions"
17
15
  response = requests.post(url, json=payload)
18
- check_for_guardian_error(response.json())
16
+ try:
17
+ response.raise_for_status()
18
+ except requests.exceptions.HTTPError as e:
19
+ raise GuardianServiceError(f"Guardian service returned an error: {str(e)}")
19
20
 
20
21
  # we only send 1 transaction
21
22
  tx_as_dict = response.json()["data"]["transactions"][0]
22
23
  transaction.guardian_signature = bytes.fromhex(tx_as_dict["guardianSignature"])
23
-
24
-
25
- def check_for_guardian_error(response: dict[str, Any]):
26
- error = response["error"]
27
-
28
- if error:
29
- raise GuardianServiceError(error)
@@ -4,14 +4,14 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "multiversx-sdk-cli"
7
- version = "11.4.0"
7
+ version = "12.0.0"
8
8
  authors = [
9
9
  { name="MultiversX" },
10
10
  ]
11
11
  license = "MIT"
12
12
  description = "MultiversX Smart Contracts Tools"
13
13
  readme = "README.md"
14
- requires-python = ">=3.10"
14
+ requires-python = ">=3.11"
15
15
  classifiers = [
16
16
  "Programming Language :: Python :: 3",
17
17
  "License :: OSI Approved :: MIT License",
@@ -25,7 +25,7 @@ dependencies = [
25
25
  "ledgercomm[hid]",
26
26
  "rich==13.3.4",
27
27
  "argcomplete==3.2.2",
28
- "multiversx-sdk[ledger]==2.4.0"
28
+ "multiversx-sdk[ledger]==3.0.0"
29
29
  ]
30
30
 
31
31
  [project.scripts]