multiversx-sdk-cli 10.1.1__tar.gz → 10.2.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 (76) hide show
  1. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/PKG-INFO +1 -1
  2. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/cli_contracts.py +68 -0
  3. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/pyproject.toml +1 -1
  4. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/.gitignore +0 -0
  5. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/LICENSE +0 -0
  6. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/README.md +0 -0
  7. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/__init__.py +0 -0
  8. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/args_validation.py +0 -0
  9. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/base_transactions_controller.py +0 -0
  10. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/cli.py +0 -0
  11. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/cli_config.py +0 -0
  12. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/cli_data.py +0 -0
  13. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/cli_delegation.py +0 -0
  14. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/cli_deps.py +0 -0
  15. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/cli_dns.py +0 -0
  16. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/cli_faucet.py +0 -0
  17. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/cli_ledger.py +0 -0
  18. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/cli_localnet.py +0 -0
  19. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/cli_output.py +0 -0
  20. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/cli_password.py +0 -0
  21. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/cli_shared.py +0 -0
  22. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/cli_transactions.py +0 -0
  23. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/cli_validator_wallet.py +0 -0
  24. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/cli_validators.py +0 -0
  25. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/cli_wallet.py +0 -0
  26. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/config.py +0 -0
  27. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/constants.py +0 -0
  28. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/contract_verification.py +0 -0
  29. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/contracts.py +0 -0
  30. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/cosign_transaction.py +0 -0
  31. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/delegation.py +0 -0
  32. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/dependencies/__init__.py +0 -0
  33. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/dependencies/install.py +0 -0
  34. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/dependencies/modules.py +0 -0
  35. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/dependencies/resolution.py +0 -0
  36. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/dns.py +0 -0
  37. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/docker.py +0 -0
  38. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/downloader.py +0 -0
  39. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/errors.py +0 -0
  40. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/guardian_relayer_data.py +0 -0
  41. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/guards.py +0 -0
  42. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/interfaces.py +0 -0
  43. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/__init__.py +0 -0
  44. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/config_default.py +0 -0
  45. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/config_general.py +0 -0
  46. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/config_networking.py +0 -0
  47. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/config_part.py +0 -0
  48. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/config_root.py +0 -0
  49. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/config_sharding.py +0 -0
  50. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/config_software.py +0 -0
  51. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/constants.py +0 -0
  52. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/genesis.py +0 -0
  53. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/genesis_json.py +0 -0
  54. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/genesis_smart_contracts_json.py +0 -0
  55. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/libraries.py +0 -0
  56. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/node.py +0 -0
  57. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/node_config_toml.py +0 -0
  58. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/nodes_setup_json.py +0 -0
  59. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/p2p_toml.py +0 -0
  60. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/seednode_p2pKey.pem +0 -0
  61. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/step_build_software.py +0 -0
  62. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/step_clean.py +0 -0
  63. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/step_config.py +0 -0
  64. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/step_new.py +0 -0
  65. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/step_prerequisites.py +0 -0
  66. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/step_start.py +0 -0
  67. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/localnet/wallets.py +0 -0
  68. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/myprocess.py +0 -0
  69. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/sign_verify.py +0 -0
  70. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/simulation.py +0 -0
  71. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/transactions.py +0 -0
  72. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/utils.py +0 -0
  73. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/ux.py +0 -0
  74. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/validators.py +0 -0
  75. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.0}/multiversx_sdk_cli/version.py +0 -0
  76. {multiversx_sdk_cli-10.1.1 → multiversx_sdk_cli-10.2.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: 10.1.1
3
+ Version: 10.2.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
@@ -1,12 +1,15 @@
1
+ import hashlib
1
2
  import json
2
3
  import logging
3
4
  import os
4
5
  from pathlib import Path
5
6
  from typing import Any
6
7
 
8
+ import requests
7
9
  from multiversx_sdk import (
8
10
  Address,
9
11
  AddressComputer,
12
+ Message,
10
13
  ProxyNetworkProvider,
11
14
  Transaction,
12
15
  TransactionsFactoryConfig,
@@ -177,8 +180,37 @@ def setup_parser(args: list[str], subparsers: Any) -> Any:
177
180
  help="in case of a multicontract, specify the contract variant you want to verify",
178
181
  )
179
182
  cli_shared.add_wallet_args(args, sub)
183
+ sub.add_argument(
184
+ "--skip-confirmation",
185
+ "-y",
186
+ dest="skip_confirmation",
187
+ action="store_true",
188
+ default=False,
189
+ help="can be used to skip the confirmation prompt",
190
+ )
180
191
  sub.set_defaults(func=verify)
181
192
 
193
+ sub = cli_shared.add_command_subparser(
194
+ subparsers,
195
+ "contract",
196
+ "unverify",
197
+ "Unverify a previously verified Smart Contract",
198
+ )
199
+
200
+ _add_contract_arg(sub)
201
+ sub.add_argument(
202
+ "--code-hash",
203
+ required=True,
204
+ help="the code hash of the contract",
205
+ )
206
+ sub.add_argument(
207
+ "--verifier-url",
208
+ required=True,
209
+ help="the url of the service that validates the contract",
210
+ )
211
+ cli_shared.add_wallet_args(args, sub)
212
+ sub.set_defaults(func=unverify)
213
+
182
214
  sub = cli_shared.add_command_subparser(
183
215
  subparsers,
184
216
  "contract",
@@ -524,6 +556,14 @@ def _send_or_simulate(tx: Transaction, contract_address: Address, args: Any):
524
556
 
525
557
 
526
558
  def verify(args: Any) -> None:
559
+ if not args.skip_confirmation:
560
+ response = input(
561
+ "Are you sure you want to verify the contract? This will publish the contract's source code, which will be displayed on the MultiversX Explorer (y/n): "
562
+ )
563
+ if response.lower() != "y":
564
+ logger.info("Contract verification cancelled.")
565
+ return
566
+
527
567
  contract = Address.new_from_bech32(args.contract)
528
568
  verifier_url = args.verifier_url
529
569
 
@@ -537,6 +577,34 @@ def verify(args: Any) -> None:
537
577
  logger.info("Contract verification request completed!")
538
578
 
539
579
 
580
+ def unverify(args: Any) -> None:
581
+ account = cli_shared.prepare_account(args)
582
+ contract: str = args.contract
583
+ code_hash: str = args.code_hash
584
+ verifier_url: str = f"{args.verifier_url}/verifier"
585
+
586
+ payload = {
587
+ "contract": contract,
588
+ "codeHash": code_hash,
589
+ }
590
+
591
+ serialized_payload = json.dumps(payload, separators=(",", ":")).encode("utf-8")
592
+ hash = hashlib.sha256(serialized_payload).hexdigest()
593
+ message_to_sign = (contract + hash).encode("utf-8")
594
+
595
+ signature = account.sign_message(Message(message_to_sign))
596
+
597
+ request_payload = {
598
+ "signature": signature.hex(),
599
+ "payload": payload,
600
+ }
601
+
602
+ headers = {"Content-type": "application/json"}
603
+ response = requests.delete(verifier_url, json=request_payload, headers=headers)
604
+ logger.info(f"Your request to unverify contract {contract} was submitted.")
605
+ print(response.json().get("message"))
606
+
607
+
540
608
  def do_reproducible_build(args: Any):
541
609
  project_path = args.project
542
610
  docker_image = args.docker_image
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "multiversx-sdk-cli"
7
- version = "10.1.1"
7
+ version = "10.2.0"
8
8
  authors = [
9
9
  { name="MultiversX" },
10
10
  ]