multiversx-sdk-cli 9.5.4__tar.gz → 9.6.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 (111) hide show
  1. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/PKG-INFO +4 -4
  2. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/config.py +1 -1
  3. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/delegation/staking_provider.py +1 -0
  4. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/dependencies/modules.py +1 -1
  5. multiversx_sdk_cli-9.6.0/multiversx_sdk_cli/localnet/genesis.py +10 -0
  6. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/genesis_json.py +6 -17
  7. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/node_config_toml.py +14 -15
  8. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/nodes_setup_json.py +6 -14
  9. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/step_start.py +2 -1
  10. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/pyproject.toml +4 -4
  11. multiversx_sdk_cli-9.5.4/multiversx_sdk_cli/localnet/genesis.py +0 -26
  12. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/.gitignore +0 -0
  13. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/LICENSE +0 -0
  14. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/README.md +0 -0
  15. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/.vscode/settings.json +0 -0
  16. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/__init__.py +0 -0
  17. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/accounts.py +0 -0
  18. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/cli.py +0 -0
  19. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/cli_accounts.py +0 -0
  20. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/cli_config.py +0 -0
  21. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/cli_contracts.py +0 -0
  22. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/cli_data.py +0 -0
  23. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/cli_delegation.py +0 -0
  24. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/cli_deps.py +0 -0
  25. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/cli_dns.py +0 -0
  26. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/cli_ledger.py +0 -0
  27. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/cli_localnet.py +0 -0
  28. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/cli_output.py +0 -0
  29. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/cli_password.py +0 -0
  30. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/cli_shared.py +0 -0
  31. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/cli_transactions.py +0 -0
  32. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/cli_validators.py +0 -0
  33. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/cli_wallet.py +0 -0
  34. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/constants.py +0 -0
  35. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/contract_verification.py +0 -0
  36. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/contracts.py +0 -0
  37. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/cosign_transaction.py +0 -0
  38. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/custom_network_provider.py +0 -0
  39. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/delegation/__init__.py +0 -0
  40. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/dependencies/__init__.py +0 -0
  41. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/dependencies/install.py +0 -0
  42. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/dependencies/resolution.py +0 -0
  43. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/dependency_checker.py +0 -0
  44. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/dns.py +0 -0
  45. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/docker.py +0 -0
  46. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/downloader.py +0 -0
  47. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/errors.py +0 -0
  48. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/guards.py +0 -0
  49. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/interfaces.py +0 -0
  50. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/ledger/__init__.py +0 -0
  51. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/ledger/config.py +0 -0
  52. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/ledger/ledger_app_handler.py +0 -0
  53. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/ledger/ledger_functions.py +0 -0
  54. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/__init__.py +0 -0
  55. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/config_default.py +0 -0
  56. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/config_general.py +0 -0
  57. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/config_networking.py +0 -0
  58. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/config_part.py +0 -0
  59. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/config_root.py +0 -0
  60. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/config_sharding.py +0 -0
  61. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/config_software.py +0 -0
  62. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/constants.py +0 -0
  63. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/genesis_smart_contracts_json.py +0 -0
  64. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/libraries.py +0 -0
  65. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/node.py +0 -0
  66. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/p2p_toml.py +0 -0
  67. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/seednode_p2pKey.pem +0 -0
  68. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/step_build_software.py +0 -0
  69. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/step_clean.py +0 -0
  70. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/step_config.py +0 -0
  71. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/step_new.py +0 -0
  72. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/step_prerequisites.py +0 -0
  73. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/localnet/wallets.py +0 -0
  74. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/myprocess.py +0 -0
  75. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/__init__.py +0 -0
  76. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/constants.py +0 -0
  77. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/core.py +0 -0
  78. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/interfaces.py +0 -0
  79. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/migrations.py +0 -0
  80. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/project_base.py +0 -0
  81. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/project_rust.py +0 -0
  82. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/report/__init__.py +0 -0
  83. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/report/data/__init__.py +0 -0
  84. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/report/data/common.py +0 -0
  85. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/report/data/extracted_feature.py +0 -0
  86. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/report/data/folder_report.py +0 -0
  87. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/report/data/project_report.py +0 -0
  88. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/report/data/report.py +0 -0
  89. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/report/data/wasm_report.py +0 -0
  90. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/report/do_report.py +0 -0
  91. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/report/features/__init__.py +0 -0
  92. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/report/features/features.py +0 -0
  93. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/report/features/report_option.py +0 -0
  94. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/report/features/size.py +0 -0
  95. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/report/features/twiggy_paths_check.py +0 -0
  96. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/report/format/__init__.py +0 -0
  97. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/report/format/change_type.py +0 -0
  98. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/report/format/format_options.py +0 -0
  99. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/report/report_creator.py +0 -0
  100. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/shared.py +0 -0
  101. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/projects/templates.py +0 -0
  102. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/sign_verify.py +0 -0
  103. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/simulation.py +0 -0
  104. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/transactions.py +0 -0
  105. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/utils.py +0 -0
  106. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/ux.py +0 -0
  107. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/validators/__init__.py +0 -0
  108. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/validators/core.py +0 -0
  109. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/validators/validators_file.py +0 -0
  110. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/multiversx_sdk_cli/version.py +0 -0
  111. {multiversx_sdk_cli-9.5.4 → multiversx_sdk_cli-9.6.0}/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.5.4
3
+ Version: 9.6.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
@@ -12,9 +12,9 @@ Classifier: Operating System :: OS Independent
12
12
  Classifier: Programming Language :: Python :: 3
13
13
  Requires-Python: >=3.8
14
14
  Requires-Dist: ledgercomm[hid]
15
- Requires-Dist: multiversx-sdk-core<0.8.0,>=0.7.0
16
- Requires-Dist: multiversx-sdk-network-providers<0.13.0,>=0.12.0
17
- Requires-Dist: multiversx-sdk-wallet<0.9.0,>=0.8.0
15
+ Requires-Dist: multiversx-sdk-core<0.9.0,>=0.8.0
16
+ Requires-Dist: multiversx-sdk-network-providers<0.14.0,>=0.13.0
17
+ Requires-Dist: multiversx-sdk-wallet<0.10.0,>=0.9.0
18
18
  Requires-Dist: prettytable
19
19
  Requires-Dist: requests
20
20
  Requires-Dist: requests-cache
@@ -147,7 +147,7 @@ def get_defaults() -> Dict[str, Any]:
147
147
  "dependencies.vmtools.urlTemplate.linux": "https://github.com/multiversx/mx-chain-vm-go/archive/{TAG}.tar.gz",
148
148
  "dependencies.vmtools.urlTemplate.osx": "https://github.com/multiversx/mx-chain-vm-go/archive/{TAG}.tar.gz",
149
149
  "dependencies.vmtools.urlTemplate.windows": "https://github.com/multiversx/mx-chain-vm-go/archive/{TAG}.tar.gz",
150
- "dependencies.rust.tag": "nightly-2023-12-11",
150
+ "dependencies.rust.tag": "stable",
151
151
  "dependencies.golang.resolution": "SDK",
152
152
  "dependencies.golang.tag": "go1.20.7",
153
153
  "dependencies.golang.urlTemplate.linux": "https://golang.org/dl/{TAG}.linux-amd64.tar.gz",
@@ -184,6 +184,7 @@ class DelegationOperations:
184
184
  tx.version = int(args.version)
185
185
  tx.options = int(args.options)
186
186
  tx.guardian = args.guardian
187
+ tx.value = args.value
187
188
 
188
189
  if args.gas_limit:
189
190
  tx.gas_limit = int(args.gas_limit)
@@ -325,7 +325,7 @@ This may cause problems with the installation of rust.""")
325
325
  if tag:
326
326
  toolchain = tag
327
327
  else:
328
- toolchain = "nightly"
328
+ toolchain = "stable"
329
329
 
330
330
  args = [str(installer_path), "--verbose", "--default-toolchain", toolchain, "--profile",
331
331
  "minimal", "--target", "wasm32-unknown-unknown", "-y"]
@@ -0,0 +1,10 @@
1
+ from multiversx_sdk_cli.localnet import wallets
2
+
3
+
4
+ def get_owner_of_genesis_contracts():
5
+ users = wallets.get_users()
6
+ return users["alice"]
7
+
8
+
9
+ def is_last_user(nickname: str) -> bool:
10
+ return nickname == "mike"
@@ -1,13 +1,9 @@
1
1
  from typing import Any, Dict, List
2
2
 
3
- from multiversx_sdk_core import Address
4
-
5
3
  from multiversx_sdk_cli.accounts import Account
6
4
  from multiversx_sdk_cli.localnet import wallets
7
5
  from multiversx_sdk_cli.localnet.config_root import ConfigRoot
8
- from multiversx_sdk_cli.localnet.genesis import (get_delegation_address,
9
- is_foundational_node,
10
- is_last_user)
6
+ from multiversx_sdk_cli.localnet.genesis import is_last_user
11
7
 
12
8
  ENTIRE_SUPPLY = 20000000000000000000000000
13
9
  # For localnet, we delegate for 1 node
@@ -18,13 +14,8 @@ def build(config: ConfigRoot) -> List[Any]:
18
14
  num_validators = config.num_all_validators()
19
15
  genesis_items: List[Dict[str, Any]] = []
20
16
  remaining_supply = ENTIRE_SUPPLY
21
- remaining_to_delegate = DELEGATED_VALUE
22
- delegation_address = get_delegation_address()
23
17
 
24
18
  for nickname, account in wallets.get_validator_wallets(num_validators).items():
25
- if is_foundational_node(nickname):
26
- continue
27
-
28
19
  value = 2500000000000000000000
29
20
  entry = _build_validator_entry(nickname, account, value)
30
21
  genesis_items.append(entry)
@@ -33,11 +24,9 @@ def build(config: ConfigRoot) -> List[Any]:
33
24
  for nickname, account in wallets.get_users().items():
34
25
  # The last user (mike) gets all remaining tokens
35
26
  value = remaining_supply if is_last_user(nickname) else 100000000000000000000000
36
- delegated_value = remaining_to_delegate if is_last_user(nickname) else 100000000000000000000
37
- entry = _build_user_entry(nickname, account, value, delegated_value, delegation_address)
27
+ entry = _build_user_entry(nickname, account, value)
38
28
  genesis_items.append(entry)
39
29
  remaining_supply -= value
40
- remaining_to_delegate -= delegated_value
41
30
 
42
31
  return genesis_items
43
32
 
@@ -56,15 +45,15 @@ def _build_validator_entry(nickname: str, account: Account, value: int) -> Dict[
56
45
  }
57
46
 
58
47
 
59
- def _build_user_entry(nickname: str, account: Account, value: int, delegated_value: int, delegation_address: Address) -> Dict[str, Any]:
48
+ def _build_user_entry(nickname: str, account: Account, value: int) -> Dict[str, Any]:
60
49
  return {
61
50
  "nickname": nickname,
62
51
  "address": account.address.to_bech32(),
63
52
  "supply": str(value),
64
- "balance": str(value - delegated_value),
53
+ "balance": str(value),
65
54
  "stakingvalue": "0",
66
55
  "delegation": {
67
- "address": delegation_address.to_bech32(),
68
- "value": str(delegated_value)
56
+ "address": "",
57
+ "value": "0"
69
58
  }
70
59
  }
@@ -7,14 +7,16 @@ ConfigDict = Dict[str, Any]
7
7
 
8
8
 
9
9
  def patch_config(data: ConfigDict, config: ConfigRoot):
10
- data['DbLookupExtensions']['Enabled'] = True
11
-
12
- general_settings: ConfigDict = dict()
13
- general_settings['ChainID'] = CHAIN_ID
14
- general_settings['StartInEpochEnabled'] = False
15
- general_settings['SetGuardianEpochsDelay'] = 1
10
+ data['GeneralSettings']['ChainID'] = CHAIN_ID
16
11
 
17
- data['GeneralSettings'].update(general_settings)
12
+ # "--operation-mode=historical-balances" is not available for nodes,
13
+ # since << validator cannot be a full archive node >>,
14
+ # but we attempt to set the "deep-history" mode as follows:
15
+ data['DbLookupExtensions']['Enabled'] = True
16
+ data['GeneralSettings']['StartInEpochEnabled'] = False
17
+ data['StateTriesConfig']['AccountsStatePruningEnabled'] = False
18
+ data['StoragePruning']['ObserverCleanOldEpochsData'] = False
19
+ data['StoragePruning']['AccountsTrieCleanOldEpochsData'] = False
18
20
 
19
21
  # Make epochs shorter
20
22
  epoch_start_config: ConfigDict = dict()
@@ -41,17 +43,14 @@ def patch_api(data: ConfigDict, config: ConfigRoot):
41
43
 
42
44
 
43
45
  def patch_enable_epochs(data: ConfigDict, config: ConfigRoot):
44
- enable_epochs: ConfigDict = dict()
46
+ enable_epochs = data["EnableEpochs"]
45
47
  enable_epochs['SCDeployEnableEpoch'] = 0
46
48
  enable_epochs['BuiltInFunctionsEnableEpoch'] = 0
47
49
  enable_epochs['RelayedTransactionsEnableEpoch'] = 0
48
50
  enable_epochs['PenalizedTooMuchGasEnableEpoch'] = 0
49
- enable_epochs['SwitchJailWaitingEnableEpoch'] = 0
50
- enable_epochs['BelowSignedThresholdEnableEpoch'] = 0
51
51
  enable_epochs['AheadOfTimeGasUsageEnableEpoch'] = 0
52
52
  enable_epochs['GasPriceModifierEnableEpoch'] = 0
53
53
  enable_epochs['RepairCallbackEnableEpoch'] = 0
54
- enable_epochs['BlockGasAndFeesReCheckEnableEpoch'] = 0
55
54
  enable_epochs['ReturnDataToLastTransferEnableEpoch'] = 0
56
55
  enable_epochs['SenderInOutTransferEnableEpoch'] = 0
57
56
  enable_epochs['ESDTEnableEpoch'] = 0
@@ -62,10 +61,10 @@ def patch_enable_epochs(data: ConfigDict, config: ConfigRoot):
62
61
  enable_epochs['BuiltInFunctionOnMetaEnableEpoch'] = 0
63
62
  enable_epochs['MultiESDTTransferFixOnCallBackOnEnableEpoch'] = 0
64
63
  enable_epochs['ESDTNFTCreateOnMultiShard'] = 0
65
- enable_epochs['RemoveNonUpdatedStorageEnableEpoch'] = 0
66
- enable_epochs['FixOOGReturnCodeEnableEpoch'] = 0
67
- enable_epochs['CorrectFirstQueuedEpoch'] = 0
68
64
  enable_epochs['MetaESDTSetEnableEpoch'] = 0
69
65
  enable_epochs['DelegationManagerEnableEpoch'] = 0
70
66
 
71
- data['EnableEpochs'].update(enable_epochs)
67
+ max_nodes_change_enable_epoch = enable_epochs['MaxNodesChangeEnableEpoch']
68
+ last_entry = max_nodes_change_enable_epoch[-1]
69
+ penultimate_entry = max_nodes_change_enable_epoch[-2]
70
+ last_entry['MaxNumNodes'] = penultimate_entry['MaxNumNodes'] - (config.shards.num_shards + 1) * penultimate_entry['NodesToShufflePerShard']
@@ -1,10 +1,7 @@
1
1
  from typing import Any, Dict, List
2
2
 
3
- from multiversx_sdk_cli.accounts import Account
4
3
  from multiversx_sdk_cli.localnet import wallets
5
4
  from multiversx_sdk_cli.localnet.config_root import ConfigRoot
6
- from multiversx_sdk_cli.localnet.genesis import (get_delegation_address,
7
- is_foundational_node)
8
5
 
9
6
  CHAIN_ID = "localnet"
10
7
 
@@ -14,7 +11,12 @@ def build(config: ConfigRoot) -> Any:
14
11
  initial_nodes: List[Dict[str, str]] = []
15
12
 
16
13
  for nickname, [pubkey, account] in wallets.get_validators(num_validators).items():
17
- entry = _build_initial_nodes_entry(nickname, pubkey, account)
14
+ entry = {
15
+ "nickname": nickname,
16
+ "address": account.address.to_bech32(),
17
+ "pubkey": pubkey,
18
+ }
19
+
18
20
  initial_nodes.append(entry)
19
21
 
20
22
  # Then, patch the list of initial nodes, so that higher indexes will become metachain nodes.
@@ -35,13 +37,3 @@ def build(config: ConfigRoot) -> Any:
35
37
  "minTransactionVersion": 1,
36
38
  "initialNodes": initial_nodes
37
39
  }
38
-
39
-
40
- def _build_initial_nodes_entry(nickname: str, pubkey: str, account: Account) -> Dict[str, str]:
41
- address = get_delegation_address().bech32() if is_foundational_node(nickname) else account.address.bech32()
42
-
43
- return {
44
- "nickname": nickname,
45
- "address": address,
46
- "pubkey": pubkey,
47
- }
@@ -63,7 +63,8 @@ async def do_start(configfile: Path, stop_after_seconds: int):
63
63
  f"--log-level={loglevel}",
64
64
  "--log-logger-name",
65
65
  f"--destination-shard-as-observer={observer.shard}",
66
- f"--rest-api-interface={observer.api_interface()}"
66
+ f"--rest-api-interface={observer.api_interface()}",
67
+ "--operation-mode=historical-balances"
67
68
  ], cwd=observer.folder, delay=NODES_START_DELAY))
68
69
 
69
70
  # Validators
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "multiversx-sdk-cli"
7
- version = "9.5.4"
7
+ version = "9.6.0"
8
8
  authors = [
9
9
  { name="MultiversX" },
10
10
  ]
@@ -27,9 +27,9 @@ dependencies = [
27
27
  "semver",
28
28
  "requests-cache",
29
29
  "rich==13.3.4",
30
- "multiversx-sdk-network-providers>=0.12.0,<0.13.0",
31
- "multiversx-sdk-wallet>=0.8.0,<0.9.0,",
32
- "multiversx-sdk-core>=0.7.0,<0.8.0"
30
+ "multiversx-sdk-network-providers>=0.13.0,<0.14.0",
31
+ "multiversx-sdk-wallet>=0.9.0,<0.10.0",
32
+ "multiversx-sdk-core>=0.8.0,<0.9.0"
33
33
  ]
34
34
 
35
35
  [project.scripts]
@@ -1,26 +0,0 @@
1
- from multiversx_sdk_core.address import Address, AddressComputer
2
-
3
- from multiversx_sdk_cli.constants import NUMBER_OF_SHARDS
4
- from multiversx_sdk_cli.localnet import wallets
5
-
6
-
7
- def get_owner_of_genesis_contracts():
8
- users = wallets.get_users()
9
- return users["alice"]
10
-
11
-
12
- def get_delegation_address() -> Address:
13
- owner = get_owner_of_genesis_contracts()
14
- owner.nonce = 0
15
-
16
- address_computer = AddressComputer(NUMBER_OF_SHARDS)
17
- address = address_computer.compute_contract_address(owner.address, owner.nonce)
18
- return address
19
-
20
-
21
- def is_last_user(nickname: str) -> bool:
22
- return nickname == "mike"
23
-
24
-
25
- def is_foundational_node(nickname: str) -> bool:
26
- return nickname == "validator00"