From 09801f71368e72703650578f207d4e74b7711962 Mon Sep 17 00:00:00 2001 From: Alexandru Popenta Date: Tue, 17 Sep 2024 12:50:32 +0300 Subject: [PATCH 1/4] add amount for unjailing transactions & ask user to install sc-meta deps --- multiversx_sdk_cli/cli_delegation.py | 2 +- multiversx_sdk_cli/delegation/staking_provider.py | 4 +++- multiversx_sdk_cli/dependencies/modules.py | 4 ++-- multiversx_sdk_cli/tests/test_cli_staking_provider.py | 2 ++ 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/multiversx_sdk_cli/cli_delegation.py b/multiversx_sdk_cli/cli_delegation.py index 9c49d158..eef8a357 100644 --- a/multiversx_sdk_cli/cli_delegation.py +++ b/multiversx_sdk_cli/cli_delegation.py @@ -171,7 +171,7 @@ def setup_parser(args: List[str], subparsers: Any) -> Any: "Create a delegation contract from validator data. Must be called by the node operator") sub.add_argument("--max-cap", required=True, help="total delegation cap in EGLD, fully denominated. Use value 0 for uncapped") - sub.add_argument("--fee", required=True, help=f"service fee as hundredths of percents. (e.g. a service fee of 37.45 percent is expressed by the integer 3745)") + sub.add_argument("--fee", required=True, help="service fee as hundredths of percents. (e.g. a service fee of 37.45 percent is expressed by the integer 3745)") _add_common_arguments(args, sub) sub.set_defaults(func=make_new_contract_from_validator_data) diff --git a/multiversx_sdk_cli/delegation/staking_provider.py b/multiversx_sdk_cli/delegation/staking_provider.py index 4d4834bb..418418dc 100644 --- a/multiversx_sdk_cli/delegation/staking_provider.py +++ b/multiversx_sdk_cli/delegation/staking_provider.py @@ -171,11 +171,13 @@ def prepare_transaction_for_unjailing_nodes(self, owner: IAccount, args: Any) -> delegation_contract = Address.new_from_bech32(args.delegation_contract) public_keys = self._load_validators_public_keys(args) + amount = int(args.value) tx = self._factory.create_transaction_for_unjailing_nodes( sender=owner.address, delegation_contract=delegation_contract, - public_keys=public_keys + public_keys=public_keys, + amount=amount ) tx.nonce = int(args.nonce) tx.version = int(args.version) diff --git a/multiversx_sdk_cli/dependencies/modules.py b/multiversx_sdk_cli/dependencies/modules.py index 6e778f44..7db8c1a5 100644 --- a/multiversx_sdk_cli/dependencies/modules.py +++ b/multiversx_sdk_cli/dependencies/modules.py @@ -10,7 +10,7 @@ myprocess, utils, workstation) from multiversx_sdk_cli.dependencies.resolution import ( DependencyResolution, get_dependency_resolution) -from multiversx_sdk_cli.ux import show_warning +from multiversx_sdk_cli.ux import show_message, show_warning logger = logging.getLogger("modules") @@ -241,7 +241,7 @@ def install(self, overwrite: bool) -> None: self._install_sc_meta() self._install_wasm_opt() self._install_twiggy() - self._install_sc_meta_deps() + show_message("Please also install all the necessary dependencies required for `sc-meta` to run properly bu running the following command: `sc-meta install all`.") def _check_install_env(self, apply_correction: bool = True): """ diff --git a/multiversx_sdk_cli/tests/test_cli_staking_provider.py b/multiversx_sdk_cli/tests/test_cli_staking_provider.py index 6921fe4b..a657c0d1 100644 --- a/multiversx_sdk_cli/tests/test_cli_staking_provider.py +++ b/multiversx_sdk_cli/tests/test_cli_staking_provider.py @@ -223,6 +223,7 @@ def test_unjail_nodes(capsys: Any): "staking-provider", "unjail-nodes", "--bls-keys", f"{first_bls_key},{second_bls_key}", "--delegation-contract", "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqthllllsy5r6rh", + "--value", "5000000000000000000", "--pem", str(alice), "--chain", "T", "--nonce", "7", "--estimate-gas" @@ -235,6 +236,7 @@ def test_unjail_nodes(capsys: Any): assert transaction["sender"] == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" assert transaction["receiver"] == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqthllllsy5r6rh" assert transaction["gasLimit"] == 13645500 + assert transaction["value"] == "5000000000000000000" def test_change_service_fee(capsys: Any): From f3daf91852abb59f99f83604246c70602d7bee79 Mon Sep 17 00:00:00 2001 From: Alexandru Popenta Date: Tue, 17 Sep 2024 14:49:20 +0300 Subject: [PATCH 2/4] fix flake errors --- multiversx_sdk_cli/cli_config.py | 2 +- multiversx_sdk_cli/docker.py | 2 +- .../ledger/ledger_app_handler.py | 2 +- multiversx_sdk_cli/localnet/config_part.py | 4 ++-- multiversx_sdk_cli/simulation.py | 2 ++ .../tests/local_verify_server.py | 4 ++-- multiversx_sdk_cli/validators/__init__.py | 21 +++++++------------ multiversx_sdk_cli/version.py | 2 +- 8 files changed, 18 insertions(+), 21 deletions(-) diff --git a/multiversx_sdk_cli/cli_config.py b/multiversx_sdk_cli/cli_config.py index d1439ac2..4e03879d 100644 --- a/multiversx_sdk_cli/cli_config.py +++ b/multiversx_sdk_cli/cli_config.py @@ -103,7 +103,7 @@ def list_configs(args: Any): def delete_config(args: Any): config_file = config.resolve_config_path() if not config_file.is_file(): - logger.info(f"Config file not found. Aborting...") + logger.info("Config file not found. Aborting...") return confirm_continuation(f"The file `{str(config_file)}` will be deleted. Do you want to continue? (y/n)") diff --git a/multiversx_sdk_cli/docker.py b/multiversx_sdk_cli/docker.py index b14e9ef2..02deb8bb 100644 --- a/multiversx_sdk_cli/docker.py +++ b/multiversx_sdk_cli/docker.py @@ -18,7 +18,7 @@ def is_docker_installed(): return True else: return False - except: + except Exception: logger.error("Something went wrong when checking if docker is installed!") diff --git a/multiversx_sdk_cli/ledger/ledger_app_handler.py b/multiversx_sdk_cli/ledger/ledger_app_handler.py index dde814ec..2ec9e955 100644 --- a/multiversx_sdk_cli/ledger/ledger_app_handler.py +++ b/multiversx_sdk_cli/ledger/ledger_app_handler.py @@ -30,7 +30,7 @@ class LedgerApp: def __init__(self): try: self.transport = Transport(interface="hid", debug=False) # Nano S/X using HID interface - except: + except Exception: raise LedgerError(CONNECTION_ERROR_MSG) def close(self): diff --git a/multiversx_sdk_cli/localnet/config_part.py b/multiversx_sdk_cli/localnet/config_part.py index e2df004f..cccdd17f 100644 --- a/multiversx_sdk_cli/localnet/config_part.py +++ b/multiversx_sdk_cli/localnet/config_part.py @@ -24,8 +24,8 @@ def _validate_overriding_entries(self, overriding: Dict[str, Any]) -> None: if unknown_entries: logger.error(f"""\ -Unknown localnet configuration entries: {unknown_entries}. -Please check the configuration of the localnet. +Unknown localnet configuration entries: {unknown_entries}. +Please check the configuration of the localnet. For "{self.get_name()}", the allowed entries are: {allowed_entries}.""") raise UnknownConfigurationError(f"Unknown localnet configuration entries: {unknown_entries}") diff --git a/multiversx_sdk_cli/simulation.py b/multiversx_sdk_cli/simulation.py index a6b1bbd4..bd5c41c6 100644 --- a/multiversx_sdk_cli/simulation.py +++ b/multiversx_sdk_cli/simulation.py @@ -1,5 +1,6 @@ from collections import OrderedDict from typing import Any, Dict, Protocol + from multiversx_sdk_cli.interfaces import ISimulateResponse, ITransaction from multiversx_sdk_cli.utils import ISerializable @@ -19,6 +20,7 @@ def to_dictionary(self) -> Dict[str, Any]: return dictionary + class Simulator(): def __init__(self, proxy: INetworkProvider) -> None: self.proxy = proxy diff --git a/multiversx_sdk_cli/tests/local_verify_server.py b/multiversx_sdk_cli/tests/local_verify_server.py index 010177c3..dbc989ab 100644 --- a/multiversx_sdk_cli/tests/local_verify_server.py +++ b/multiversx_sdk_cli/tests/local_verify_server.py @@ -1,5 +1,5 @@ -from http.server import HTTPServer, BaseHTTPRequestHandler import json +from http.server import BaseHTTPRequestHandler, HTTPServer HOST = 'localhost' PORT = 7777 @@ -14,7 +14,7 @@ def do_POST(self): if self.path == "/initialise": response = {'token': 7890} self.wfile.write(bytes(json.dumps(response), 'utf-8')) - + if self.path == "/verify": response = {'status': 'sent to verification'} self.wfile.write(bytes(json.dumps(response), 'utf-8')) diff --git a/multiversx_sdk_cli/validators/__init__.py b/multiversx_sdk_cli/validators/__init__.py index c66ffcba..74a11e54 100644 --- a/multiversx_sdk_cli/validators/__init__.py +++ b/multiversx_sdk_cli/validators/__init__.py @@ -1,16 +1,11 @@ -from multiversx_sdk_cli.validators.core import (prepare_args_for_change_reward_address, - prepare_args_for_claim, - prepare_args_for_stake, - prepare_args_for_unbond, - prepare_args_for_unjail, - prepare_args_for_unstake, - prepare_args_for_unstake_nodes, - prepare_args_for_unstake_tokens, - prepare_args_for_unbond_tokens, - prepare_args_for_unbond_nodes, - prepare_args_for_clean_registered_data, - prepare_args_for_restake_unstaked_nodes) - +from multiversx_sdk_cli.validators.core import ( + prepare_args_for_change_reward_address, prepare_args_for_claim, + prepare_args_for_clean_registered_data, + prepare_args_for_restake_unstaked_nodes, prepare_args_for_stake, + prepare_args_for_unbond, prepare_args_for_unbond_nodes, + prepare_args_for_unbond_tokens, prepare_args_for_unjail, + prepare_args_for_unstake, prepare_args_for_unstake_nodes, + prepare_args_for_unstake_tokens) from multiversx_sdk_cli.validators.validators_file import ValidatorsFile __all__ = ["prepare_args_for_stake", diff --git a/multiversx_sdk_cli/version.py b/multiversx_sdk_cli/version.py index fa7c33f3..df09e4ce 100644 --- a/multiversx_sdk_cli/version.py +++ b/multiversx_sdk_cli/version.py @@ -9,7 +9,7 @@ def get_version() -> str: try: # Works for local development return _get_version_from_pyproject() - except Exception as error: + except Exception: try: # Works for the installed package return _get_version_from_metadata() From 8d4e014e2f919b8428c539e8cb6dbabaebdf7819 Mon Sep 17 00:00:00 2001 From: Alexandru Popenta Date: Tue, 17 Sep 2024 15:10:32 +0300 Subject: [PATCH 3/4] update requirements --- pyproject.toml | 4 ++-- requirements.txt | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index ac423476..33a016c4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -21,13 +21,13 @@ classifiers = [ dependencies = [ "toml>=0.10.2", - "requests", + "requests>=2.32.0,<3.0.0", "prettytable", "ledgercomm[hid]", "semver", "requests-cache", "rich==13.3.4", - "multiversx-sdk>=0.9.2,<1.0.0", + "multiversx-sdk==0.13.0", "argcomplete==3.2.2" ] diff --git a/requirements.txt b/requirements.txt index c6f46432..2048553c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,6 +1,6 @@ toml>=0.10.2 types-toml -requests~=2.31.0 +requests>=2.32.0,<3.0.0 types-requests prettytable types-prettytable @@ -10,4 +10,4 @@ requests-cache rich==13.3.4 argcomplete==3.2.2 -multiversx-sdk>=0.9.2,<1.0.0 +multiversx-sdk==0.13.0 From eea5966076a030a3f925c4e9f45884605bc454f7 Mon Sep 17 00:00:00 2001 From: Alexandru Popenta Date: Tue, 17 Sep 2024 16:00:45 +0300 Subject: [PATCH 4/4] revert alteration of installing sc-meta dependencies --- multiversx_sdk_cli/dependencies/modules.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/multiversx_sdk_cli/dependencies/modules.py b/multiversx_sdk_cli/dependencies/modules.py index 7db8c1a5..6e778f44 100644 --- a/multiversx_sdk_cli/dependencies/modules.py +++ b/multiversx_sdk_cli/dependencies/modules.py @@ -10,7 +10,7 @@ myprocess, utils, workstation) from multiversx_sdk_cli.dependencies.resolution import ( DependencyResolution, get_dependency_resolution) -from multiversx_sdk_cli.ux import show_message, show_warning +from multiversx_sdk_cli.ux import show_warning logger = logging.getLogger("modules") @@ -241,7 +241,7 @@ def install(self, overwrite: bool) -> None: self._install_sc_meta() self._install_wasm_opt() self._install_twiggy() - show_message("Please also install all the necessary dependencies required for `sc-meta` to run properly bu running the following command: `sc-meta install all`.") + self._install_sc_meta_deps() def _check_install_env(self, apply_correction: bool = True): """