diff --git a/README.md b/README.md index 03722264..e3d60aaf 100644 --- a/README.md +++ b/README.md @@ -40,7 +40,7 @@ Allow `pre-commit` to automatically run on `git commit`: pre-commit install ``` -Above, `requirements.txt` should mirror the **dependencies** section of `setup.py`. +Above, `requirements.txt` should mirror the **dependencies** section of `pyproject.toml`. If using VSCode, restart it or follow these steps: - `Ctrl + Shift + P` diff --git a/multiversx_sdk_cli/cli.py b/multiversx_sdk_cli/cli.py index 3804bad7..8bf57fd8 100644 --- a/multiversx_sdk_cli/cli.py +++ b/multiversx_sdk_cli/cli.py @@ -3,7 +3,7 @@ import logging import sys from argparse import ArgumentParser -from typing import Any, List +from typing import Any import argcomplete from multiversx_sdk import LibraryConfig @@ -28,7 +28,7 @@ logger = logging.getLogger("cli") -def main(cli_args: List[str] = sys.argv[1:]): +def main(cli_args: list[str] = sys.argv[1:]): try: _do_main(cli_args) except errors.KnownError as err: @@ -41,7 +41,7 @@ def main(cli_args: List[str] = sys.argv[1:]): return 0 -def _do_main(cli_args: List[str]): +def _do_main(cli_args: list[str]): utils.ensure_folder(config.SDK_PATH) argv_with_config_args = config.add_config_args(cli_args) parser = setup_parser(argv_with_config_args) @@ -72,7 +72,7 @@ def _do_main(cli_args: List[str]): args.func(args) -def setup_parser(args: List[str]): +def setup_parser(args: list[str]): parser = ArgumentParser( prog="mxpy", usage="mxpy [-h] [-v] [--verbose] COMMAND-GROUP [-h] COMMAND ...", @@ -104,7 +104,7 @@ def setup_parser(args: List[str]): parser.add_argument("--verbose", action="store_true", default=False) subparsers = parser.add_subparsers() - commands: List[Any] = [] + commands: list[Any] = [] commands.append(multiversx_sdk_cli.cli_contracts.setup_parser(args, subparsers)) commands.append(multiversx_sdk_cli.cli_transactions.setup_parser(args, subparsers)) diff --git a/multiversx_sdk_cli/cli_data.py b/multiversx_sdk_cli/cli_data.py index 6b13f6fa..69ed6ca1 100644 --- a/multiversx_sdk_cli/cli_data.py +++ b/multiversx_sdk_cli/cli_data.py @@ -1,7 +1,7 @@ import logging import os from pathlib import Path -from typing import Any, Dict +from typing import Any from multiversx_sdk_cli import cli_shared, errors, utils, workstation @@ -101,16 +101,16 @@ def load(args: Any): print(value) -def _read_file(use_global: bool) -> Dict[str, Any]: +def _read_file(use_global: bool) -> dict[str, Any]: filename = _get_filename(use_global) if not os.path.isfile(filename): return dict() - data: Dict[str, Any] = utils.read_json_file(filename) + data: dict[str, Any] = utils.read_json_file(filename) return data -def _write_file(use_global: bool, data: Dict[str, Any]): +def _write_file(use_global: bool, data: dict[str, Any]): filename = _get_filename(use_global) utils.write_json_file(str(filename), data) diff --git a/multiversx_sdk_cli/cli_deps.py b/multiversx_sdk_cli/cli_deps.py index b73fd02e..f2638dc9 100644 --- a/multiversx_sdk_cli/cli_deps.py +++ b/multiversx_sdk_cli/cli_deps.py @@ -1,5 +1,5 @@ import logging -from typing import Any, List, Tuple +from typing import Any from multiversx_sdk_cli import cli_shared, config, dependencies, errors from multiversx_sdk_cli.dependencies.install import get_deps_dict @@ -45,7 +45,7 @@ def check(args: Any): if name == "all": all_dependencies = dependencies.get_all_deps() - missing_dependencies: List[Tuple[str, str]] = [] + missing_dependencies: list[tuple[str, str]] = [] for dependency in all_dependencies: tag_to_check: str = config.get_dependency_tag(dependency.key) diff --git a/multiversx_sdk_cli/cli_dns.py b/multiversx_sdk_cli/cli_dns.py index 1e890b50..987b2d55 100644 --- a/multiversx_sdk_cli/cli_dns.py +++ b/multiversx_sdk_cli/cli_dns.py @@ -1,4 +1,4 @@ -from typing import Any, List +from typing import Any from multiversx_sdk import ProxyNetworkProvider from prettytable import PrettyTable @@ -19,7 +19,7 @@ from multiversx_sdk_cli.errors import ArgumentsNotProvidedError -def setup_parser(args: List[str], subparsers: Any) -> Any: +def setup_parser(args: list[str], subparsers: Any) -> Any: parser = cli_shared.add_group_subparser(subparsers, "dns", "Operations related to the Domain Name Service") subparsers = parser.add_subparsers() @@ -190,7 +190,7 @@ def get_version(args: Any): for shard_id in range(0, 256): address = compute_dns_address_for_shard_id(shard_id) v = version(shard_id, proxy) - t.add_row([shard_id, address.to_bech32(), address.to_hex(), v]) + t.add_row([shard_id, address.to_bech32(), address.to_hex(), v]) # type: ignore print(t) else: shard_id = int(args.shard_id) @@ -201,5 +201,5 @@ def print_dns_addresses_table(args: Any): t = PrettyTable(["Shard ID", "Contract address (bech32)", "Contract address (hex)"]) for shard_id in range(0, 256): address = compute_dns_address_for_shard_id(shard_id) - t.add_row([shard_id, address.to_bech32(), address.to_hex()]) + t.add_row([shard_id, address.to_bech32(), address.to_hex()]) # type: ignore print(t) diff --git a/multiversx_sdk_cli/cli_localnet.py b/multiversx_sdk_cli/cli_localnet.py index 72160751..2f57a1f0 100644 --- a/multiversx_sdk_cli/cli_localnet.py +++ b/multiversx_sdk_cli/cli_localnet.py @@ -1,6 +1,6 @@ import logging from pathlib import Path -from typing import Any, List +from typing import Any from multiversx_sdk_cli import cli_shared, ux from multiversx_sdk_cli.constants import ONE_YEAR_IN_SECONDS @@ -17,7 +17,7 @@ logger = logging.getLogger("cli.localnet") -def setup_parser(args: List[str], subparsers: Any) -> Any: +def setup_parser(args: list[str], subparsers: Any) -> Any: parser = cli_shared.add_group_subparser(subparsers, "localnet", "Set up, start and control localnets") subparsers = parser.add_subparsers() diff --git a/multiversx_sdk_cli/config.py b/multiversx_sdk_cli/config.py index afcf82b2..222e4c7b 100644 --- a/multiversx_sdk_cli/config.py +++ b/multiversx_sdk_cli/config.py @@ -1,6 +1,6 @@ import os from pathlib import Path -from typing import Any, Dict, List +from typing import Any from multiversx_sdk import NetworkProviderConfig @@ -81,12 +81,12 @@ def delete_value(name: str): write_file(data) -def get_active() -> Dict[str, Any]: +def get_active() -> dict[str, Any]: data = read_file() configs = data.get("configurations", {}) active_config_name: str = data.get("active", "default") - empty_config: Dict[str, Any] = dict() - result: Dict[str, Any] = configs.get(active_config_name, empty_config) + empty_config: dict[str, Any] = dict() + result: dict[str, Any] = configs.get(active_config_name, empty_config) return result @@ -143,7 +143,7 @@ def _guard_valid_config_deletion(name: str): raise errors.ConfigurationProtectedError(name) -def get_defaults() -> Dict[str, Any]: +def get_defaults() -> dict[str, Any]: return { "dependencies.vmtools.tag": "v1.5.24", "dependencies.vmtools.urlTemplate.linux": "https://github.com/multiversx/mx-chain-vm-go/archive/{TAG}.tar.gz", @@ -179,20 +179,20 @@ def resolve_config_path() -> Path: return GLOBAL_CONFIG_PATH -def read_file() -> Dict[str, Any]: +def read_file() -> dict[str, Any]: config_path = resolve_config_path() if config_path.exists(): - data: Dict[str, Any] = utils.read_json_file(config_path) + data: dict[str, Any] = utils.read_json_file(config_path) return data return dict() -def write_file(data: Dict[str, Any]): +def write_file(data: dict[str, Any]): config_path = resolve_config_path() utils.write_json_file(str(config_path), data) -def add_config_args(argv: List[str]) -> List[str]: +def add_config_args(argv: list[str]) -> list[str]: try: command, subcommand, *_ = argv except ValueError: @@ -210,8 +210,8 @@ def add_config_args(argv: List[str]) -> List[str]: return final_args -def determine_final_args(argv: List[str], config_args: Dict[str, Any]) -> List[str]: - extra_args: List[str] = [] +def determine_final_args(argv: list[str], config_args: dict[str, Any]) -> list[str]: + extra_args: list[str] = [] for key, value in config_args.items(): key_arg = f"--{key}" # arguments from the command line override the config @@ -222,9 +222,9 @@ def determine_final_args(argv: List[str], config_args: Dict[str, Any]) -> List[s extra_args.append(key_arg) if value is True: continue - if isinstance(value, List): - for item in value: - extra_args.append(str(item)) + if isinstance(value, list): + for item in value: # type: ignore + extra_args.append(str(item)) # type: ignore else: extra_args.append(str(value)) diff --git a/multiversx_sdk_cli/contract_verification.py b/multiversx_sdk_cli/contract_verification.py index 3a9221c3..28fea012 100644 --- a/multiversx_sdk_cli/contract_verification.py +++ b/multiversx_sdk_cli/contract_verification.py @@ -3,7 +3,7 @@ import logging import time from pathlib import Path -from typing import Any, Optional, Protocol, Tuple +from typing import Any, Optional, Protocol import requests from multiversx_sdk import Address, Message @@ -143,7 +143,7 @@ def query_status_with_task_id(url: str, task_id: str, interval: int = 10): time.sleep(interval) -def _do_post(url: str, payload: Any) -> Tuple[int, str, dict[str, Any]]: +def _do_post(url: str, payload: Any) -> tuple[int, str, dict[str, Any]]: logger.debug(f"_do_post() to {url}") response = requests.post(url, json=payload) @@ -156,7 +156,7 @@ def _do_post(url: str, payload: Any) -> Tuple[int, str, dict[str, Any]]: raise KnownError(f"Cannot parse response from {url}", error) -def _do_get(url: str) -> Tuple[int, str, dict[str, Any]]: +def _do_get(url: str) -> tuple[int, str, dict[str, Any]]: logger.debug(f"_do_get() from {url}") response = requests.get(url) diff --git a/multiversx_sdk_cli/delegation/staking_provider.py b/multiversx_sdk_cli/delegation.py similarity index 100% rename from multiversx_sdk_cli/delegation/staking_provider.py rename to multiversx_sdk_cli/delegation.py diff --git a/multiversx_sdk_cli/delegation/__init__.py b/multiversx_sdk_cli/delegation/__init__.py deleted file mode 100644 index ecdc1533..00000000 --- a/multiversx_sdk_cli/delegation/__init__.py +++ /dev/null @@ -1,3 +0,0 @@ -from multiversx_sdk_cli.delegation.staking_provider import DelegationOperations - -__all__ = ["DelegationOperations"] diff --git a/multiversx_sdk_cli/docker.py b/multiversx_sdk_cli/docker.py index 2c087a77..79767326 100644 --- a/multiversx_sdk_cli/docker.py +++ b/multiversx_sdk_cli/docker.py @@ -2,7 +2,6 @@ import os import subprocess from pathlib import Path -from typing import List from multiversx_sdk_cli.errors import KnownError @@ -32,7 +31,7 @@ def run_docker( docker_tty: bool, no_default_platform: bool, ): - docker_mount_args: List[str] = ["--volume", f"{output_path}:/output"] + docker_mount_args: list[str] = ["--volume", f"{output_path}:/output"] if project_path: docker_mount_args.extend(["--volume", f"{project_path}:/project"]) @@ -51,7 +50,7 @@ def run_docker( docker_args += ["--user", f"{str(os.getuid())}:{str(os.getgid())}"] docker_args += ["--rm", image] - entrypoint_args: List[str] = [] + entrypoint_args: list[str] = [] if project_path: entrypoint_args.extend(["--project", "project"]) diff --git a/multiversx_sdk_cli/errors.py b/multiversx_sdk_cli/errors.py index e00e42e1..be13e41b 100644 --- a/multiversx_sdk_cli/errors.py +++ b/multiversx_sdk_cli/errors.py @@ -1,4 +1,4 @@ -from typing import Any, List, Tuple, Union +from typing import Any, Union class KnownError(Exception): @@ -38,7 +38,7 @@ def __init__(self, name: str, tag: str): class DependenciesMissing(KnownError): - def __init__(self, dependencies: List[Tuple[str, str]]): + def __init__(self, dependencies: list[tuple[str, str]]): message = "Dependencies missing: \n" for dependency in dependencies: diff --git a/multiversx_sdk_cli/myprocess.py b/multiversx_sdk_cli/myprocess.py index a8a72277..810db319 100644 --- a/multiversx_sdk_cli/myprocess.py +++ b/multiversx_sdk_cli/myprocess.py @@ -1,7 +1,7 @@ import logging import subprocess from pathlib import Path -from typing import Any, List, Optional, Union +from typing import Any, Optional, Union from multiversx_sdk_cli import errors @@ -9,7 +9,7 @@ def run_process( - args: List[str], + args: list[str], env: Any = None, dump_to_stdout: bool = True, cwd: Optional[Union[str, Path]] = None, diff --git a/multiversx_sdk_cli/simulation.py b/multiversx_sdk_cli/simulation.py index d2984b2c..8ba3a35a 100644 --- a/multiversx_sdk_cli/simulation.py +++ b/multiversx_sdk_cli/simulation.py @@ -1,5 +1,5 @@ from collections import OrderedDict -from typing import Any, Dict, Protocol +from typing import Any, Protocol from multiversx_sdk import Transaction, TransactionOnNetwork @@ -17,8 +17,8 @@ class Simulation(ISerializable): def __init__(self, simulate_response: TransactionOnNetwork) -> None: self.simulation_response = simulate_response - def to_dictionary(self) -> Dict[str, Any]: - dictionary: Dict[str, Any] = OrderedDict() + def to_dictionary(self) -> dict[str, Any]: + dictionary: dict[str, Any] = OrderedDict() dictionary["execution"] = self.simulation_response.raw return dictionary