From ef362140bcb4bec91f5db1a85b3688f7735f8d6b Mon Sep 17 00:00:00 2001 From: Etienne Wallet <116115319+EtienneWallet@users.noreply.github.com> Date: Fri, 20 Oct 2023 11:18:03 +0200 Subject: [PATCH] Develop (#60) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Feat scenario checkpoint (#50) * fix: skip confirmation CLI command * refacto: use black for formatting * feat: handle checkpoints deletion * feat: add create, load and delete command for scenario * docs: fix wrong args * docs: add explanation for scenario checkpoints and update changelog * fix: idiom condition * fix: empty version number in CI * Bump version: 1.1.0 → 1.1.1-dev0 * fix: fetch all PR commits instead of the last one * Bump version: 1.1.1-dev0 → 1.1.1-dev1 * fix: use logger and add echo statements, allow autobump to be run manually * Bump version: 1.1.1-dev1 → 1.1.1-dev2 * fix: depth fetch for checkout * Bump version: 1.1.1-dev2 → 1.2.0-dev0 --------- Co-authored-by: github-actions <41898282+github-actions@users.noreply.github.com> * Feat upgrade step (#51) * feat: add upgrade step * tests: add tests for the upgrade step * docs: add upgrade step documentation and changelog * logs: add and fix log messages * Bump version: 1.2.0-dev0 → 1.2.0-dev1 --------- Co-authored-by: github-actions <41898282+github-actions@users.noreply.github.com> * Feat libs upgrade (#52) * fix: replace deprecated use of pkg_resources * feat: upgrade requirements versions * fix: adapt to the changes of the Address class * fix: adapt to the changes of the Account classe * fix: add the new transaction arguments * fix: replace is_completed test when None * fix: detect pylint error before pylint score * feat: add retry on query results * fix: use completion endpoint for the on chain tx fetching * fix: use the new Address error * feat: add the config value for max query attempts * test: add tests for retrieving the contract instance and address * fix: pep8 and linting * fix: remove deprecated script * doc: update changelog * Bump version: 1.2.0-dev1 → 1.2.0-dev2 --------- Co-authored-by: Etienne Wallet <116115319+EtienneWallet@users.noreplygithub.com> Co-authored-by: github-actions <41898282+github-actions@users.noreply.github.com> * Refactor builder (#53) * feat: upgrade to python 3.11 and fix deprecated usage * fix: deprecated resources module * feat: add a transaction builder class * breaking change: use checks for all transaction steps * breaking change: use checks for mint steps * fix: specify tests folder * Bump version: 1.2.0-dev2 → 2.0.0-dev0 * doc: update changelog * fix: update python version for github CI --------- Co-authored-by: Etienne Wallet <116115319+EtienneWallet@users.noreplygithub.com> Co-authored-by: github-actions <41898282+github-actions@users.noreply.github.com> * Feat python step (#54) * feat: add python step class and test * feat: save query results within the instance * doc: add documentation for the python step * doc: add the new python step doc page * doc: update changelog * Bump version: 2.0.0-dev0 → 2.0.0-dev1 --------- Co-authored-by: Etienne Wallet <116115319+EtienneWallet@users.noreplygithub.com> Co-authored-by: github-actions <41898282+github-actions@users.noreply.github.com> * Fix token issue properties (#55) * fix: remove wrong arguments for issuance of non fungible tokens * fix: remove wrong arguments from issue builders * feat: add python check for integration tests and reorganise properties tests * fix: use the correct default values for token properties * fix: add missing black requirement and fix style * docs: update changelog * Bump version: 2.0.0-dev1 → 2.0.0-dev2 --------- Co-authored-by: Etienne Wallet <116115319+EtienneWallet@users.noreplygithub.com> Co-authored-by: github-actions <41898282+github-actions@users.noreply.github.com> * Refactor data storage (#56) * feat: add the possibility for nested saved values * fix: linting * breaking change: use full value key for Scenario data and add scenario saved values * fix: wrong exception catched * docs: update changelog * Bump version: 2.0.0-dev2 → 2.0.0-dev3 --------- Co-authored-by: Etienne Wallet <116115319+EtienneWallet@users.noreplygithub.com> Co-authored-by: github-actions <41898282+github-actions@users.noreply.github.com> * Refactor query number (#57) * refactor: `int` is preferred over `number` for query return type * docs: update changelog * Bump version: 2.0.0-dev3 → 2.0.0-dev4 --------- Co-authored-by: Etienne Wallet <116115319+EtienneWallet@users.noreplygithub.com> Co-authored-by: github-actions <41898282+github-actions@users.noreply.github.com> * Feat scene step (#58) * feat: add SceneStep * feat: use SceneStep in integration tests * docs: add SceneStep documentation * docs: add an quick overview example in the Readme * docs: update changelog * Bump version: 2.0.0-dev4 → 2.0.0-dev5 --------- Co-authored-by: Etienne Wallet <116115319+EtienneWallet@users.noreplygithub.com> Co-authored-by: github-actions <41898282+github-actions@users.noreply.github.com> * Feat analyse (#59) * docs: rephrase some sentences * breaking change: rename data module into execution_data * docs: update changelog * fix: docstrings * feat: add data path for the transactions files * feat: add transaction data class and transaction data fetching * feat: add agglomeration and plot for analysis * typo: rename analyse into analyze * feat: add cli for analyze and docs * docs: update changelog * docs: mention the extension * Bump version: 2.0.0-dev5 → 2.0.0-dev6 --------- Co-authored-by: Etienne Wallet <116115319+EtienneWallet@users.noreplygithub.com> Co-authored-by: github-actions <41898282+github-actions@users.noreply.github.com> * Bump version: 2.0.0-dev6 → 2.0.0 * bump changelog: Unreleased -> 2.0.0 --------- Co-authored-by: github-actions <41898282+github-actions@users.noreply.github.com> Co-authored-by: Etienne Wallet <116115319+EtienneWallet@users.noreplygithub.com> --- .github/workflows/auto-bump.yaml | 35 +- .github/workflows/python-ci.yaml | 8 +- .pylintrc | 5 - .readthedocs.yaml | 2 +- README.md | 41 +- docs/dictionary/custom_wordlist.txt | 10 + docs/dictionary/multiversx_wordlist.txt | 6 +- docs/dictionary/project_wordlist.txt | 14 + docs/source/conf.py | 20 +- docs/source/dev_documentation/changelog.md | 27 +- docs/source/examples/piggy_bank.md | 22 +- docs/source/examples/python_steps.md | 311 +++++ docs/source/examples/wrapping.md | 28 +- .../getting_started/enhanced_first_scene.md | 14 +- docs/source/getting_started/installation.md | 6 + docs/source/getting_started/presentation.md | 4 +- docs/source/images/functions_per_day.png | Bin 0 -> 540345 bytes .../images/transactions_status_per_day.png | Bin 0 -> 457338 bytes docs/source/images/unique_users_per_day.png | Bin 0 -> 350327 bytes docs/source/index.rst | 3 +- docs/source/user_documentation/analyze.md | 64 + docs/source/user_documentation/checks.md | 32 +- docs/source/user_documentation/scenario.md | 48 +- docs/source/user_documentation/scenes.md | 18 +- docs/source/user_documentation/steps.md | 302 +++-- docs/source/user_documentation/values.md | 62 +- .../contracts/esdt-minter/src/lib.rs | 2 +- .../user_exploit/02_piggy_bank_init.yaml | 6 +- .../mxops_scenes/user_exploit/03_airdrop.yaml | 4 +- .../user_exploit/04_money_print.yaml | 2 +- .../mxops_scenes/user_exploit/05_upgrade.yaml | 46 + .../setup_scenes/02_egld_distribution.yaml | 59 +- .../setup_scenes/sub_scenes/send_egld.yaml | 12 + .../mxops_scenes/01_fungible_token.yaml | 15 +- .../mxops_scenes/02_non_fungible_token.yaml | 16 +- .../mxops_scenes/03_semi_fungible_token.yaml | 14 +- .../mxops_scenes/04_meta_token.yaml | 13 +- .../mxops_scenes/05_transfers.yaml | 16 +- .../token_management/scripts/checks.py | 103 ++ .../wrapping/mxops_scenes/02_wrap_unwrap.yaml | 14 +- mxops/__init__.py | 3 +- mxops/__main__.py | 40 +- mxops/analyze/__init__.py | 5 + mxops/analyze/agglomerate.py | 123 ++ mxops/analyze/cli.py | 167 +++ mxops/analyze/fetching.py | 73 ++ mxops/analyze/plots.py | 227 ++++ mxops/config/cli.py | 65 +- mxops/config/config.py | 31 +- mxops/data/__init__.py | 2 +- mxops/data/analyze_data.py | 70 + mxops/data/cli.py | 231 +++- mxops/data/{data.py => execution_data.py} | 357 +++-- mxops/data/path.py | 90 +- mxops/enums.py | 20 +- mxops/errors.py | 107 +- mxops/execution/__init__.py | 5 + mxops/execution/account.py | 30 +- mxops/execution/checks.py | 41 +- mxops/execution/cli.py | 74 +- mxops/execution/contract_interactions.py | 369 ------ mxops/execution/msc.py | 48 +- mxops/execution/network.py | 108 +- mxops/execution/scene.py | 55 +- mxops/execution/steps.py | 1160 ++++++++++------- mxops/execution/token_management.py | 333 +---- mxops/execution/token_management_builders.py | 447 ++++--- mxops/execution/utils.py | 134 +- mxops/resources/data_parser_help.txt | 37 +- mxops/resources/default_config.ini | 8 +- mxops/resources/mxops_logo.png | Bin 0 -> 52783 bytes mxops/utils/__init__.py | 3 +- mxops/utils/logger.py | 8 +- mxops/utils/msc.py | 35 +- pyproject.toml | 14 +- requirements-dev.txt | 1 + requirements.txt | 15 +- scripts/auto_bump.py | 53 +- scripts/check_python_code.sh | 8 +- scripts/launch_unit_tests.sh | 2 +- scripts/start_new_localnet.sh | 7 - setup.cfg | 11 +- tests/conftest.py | 41 +- tests/data/custom_user_module.py | 21 + tests/data/deploy_scene.yaml | 16 +- tests/data/scenarios/scenario_A.json | 2 +- tests/data/scenarios/scenario_B.json | 2 +- tests/data/scenarios/scenario_C.json | 7 +- tests/test_checks.py | 111 +- tests/test_core_builders.py | 143 +- tests/test_data_io.py | 192 ++- tests/test_execution_utils.py | 78 +- tests/test_instantiate.py | 65 +- tests/test_raise_tx_errors.py | 12 +- tests/test_steps.py | 37 + tests/test_token_management.py | 4 +- tests/test_transfers_extraction.py | 257 ++-- tests/test_utils.py | 35 + .../mxops_scenes/ping_pong.yaml | 12 +- 99 files changed, 4499 insertions(+), 2557 deletions(-) delete mode 100644 .pylintrc create mode 100644 docs/source/examples/python_steps.md create mode 100644 docs/source/images/functions_per_day.png create mode 100644 docs/source/images/transactions_status_per_day.png create mode 100644 docs/source/images/unique_users_per_day.png create mode 100644 docs/source/user_documentation/analyze.md create mode 100644 integration_tests/piggy_bank/mxops_scenes/user_exploit/05_upgrade.yaml create mode 100644 integration_tests/setup_scenes/sub_scenes/send_egld.yaml create mode 100644 integration_tests/token_management/scripts/checks.py create mode 100644 mxops/analyze/__init__.py create mode 100644 mxops/analyze/agglomerate.py create mode 100644 mxops/analyze/cli.py create mode 100644 mxops/analyze/fetching.py create mode 100644 mxops/analyze/plots.py create mode 100644 mxops/data/analyze_data.py rename mxops/data/{data.py => execution_data.py} (51%) delete mode 100644 mxops/execution/contract_interactions.py create mode 100644 mxops/resources/mxops_logo.png delete mode 100644 scripts/start_new_localnet.sh create mode 100644 tests/data/custom_user_module.py create mode 100644 tests/test_steps.py create mode 100644 tests/test_utils.py diff --git a/.github/workflows/auto-bump.yaml b/.github/workflows/auto-bump.yaml index db76632..b5c010d 100644 --- a/.github/workflows/auto-bump.yaml +++ b/.github/workflows/auto-bump.yaml @@ -1,51 +1,66 @@ name: auto-bump -on: +on: pull_request: branches: - develop - main types: - opened + workflow_dispatch: + inputs: + logLevel: + description: "Log level" + required: true + default: "warning" + type: choice + options: + - info + - warning + - debug jobs: auto-bump: runs-on: ubuntu-latest steps: - - name: Checkout code uses: actions/checkout@v3 with: ref: ${{ github.head_ref }} + fetch-depth: 0 - name: Set up Python uses: actions/setup-python@v4 with: - python-version: '3.8' + python-version: "3.10" - name: Install dependencies run: | python -m pip install --upgrade pip pip install bump2version - + - name: Setup Git run: | git config user.email "41898282+github-actions@users.noreply.github.com" git config user.name "github-actions" git fetch origin ${{ github.event.pull_request.base.ref }}:${{ github.event.pull_request.base.ref }} - - name : Auto bump version + - name: Auto bump version run: | VERSION=$(bump2version --dry-run --list patch | grep current_version | sed -E 's/.*=//') - PR_NUM=$(echo "$GITHUB_REF" | awk 'BEGIN { FS = "/" } ; { print $3 }') - COMMITS=$(git log --pretty=format:%s ${{ github.event.pull_request.base.ref }}..${{ github.head_ref }}) + BASE_SHA=${{ github.event.pull_request.base.sha }} + echo "Base SHA: $BASE_SHA" + HEAD_SHA=${{ github.event.pull_request.head.sha }} + echo "Head SHA: $HEAD_SHA" + COMMITS=$(git log --pretty=format:%s $BASE_SHA..$HEAD_SHA) + echo "Commits: $COMMITS" python scripts/auto_bump.py ${{ github.event.pull_request.base.ref }} "$VERSION" "$COMMITS" git push - - - name : Update changelog if targeting main branch + + - name: Update changelog if targeting main branch if: ${{ github.event.pull_request.base.ref == 'main' }} run: | + VERSION=$(bump2version --dry-run --list patch | grep current_version | sed -E 's/.*=//') bash scripts/changelog_release.sh git add docs/source/dev_documentation/changelog.md - VERSION=$(bump2version --dry-run --list patch | grep current_version | sed -E 's/.*=//') git commit -m "bump changelog: Unreleased -> ${VERSION}" git push diff --git a/.github/workflows/python-ci.yaml b/.github/workflows/python-ci.yaml index 0ee727b..e426480 100644 --- a/.github/workflows/python-ci.yaml +++ b/.github/workflows/python-ci.yaml @@ -11,7 +11,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: '3.8' + python-version: '3.10' - name: Install dependencies run: | python -m pip install --upgrade pip @@ -29,7 +29,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: '3.8' + python-version: '3.10' - name: Install dependencies run: | python -m pip install --upgrade pip @@ -47,7 +47,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: '3.8' + python-version: '3.10' - name: Install aspell run: sudo apt-get install -y aspell - name: Install dependencies @@ -72,7 +72,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: '3.8' + python-version: '3.10' - name: Install dependencies run: | diff --git a/.pylintrc b/.pylintrc deleted file mode 100644 index 46af65c..0000000 --- a/.pylintrc +++ /dev/null @@ -1,5 +0,0 @@ -[MESSAGES CONTROL] -disable=W1203 - -[FORMAT] -good-names=tx,i,x,e diff --git a/.readthedocs.yaml b/.readthedocs.yaml index c1d136e..69bf1fa 100644 --- a/.readthedocs.yaml +++ b/.readthedocs.yaml @@ -6,7 +6,7 @@ version: 2 build: os: ubuntu-22.04 tools: - python: "3.8" + python: "3.10" sphinx: configuration: docs/source/conf.py diff --git a/README.md b/README.md index b03151e..6112ad8 100644 --- a/README.md +++ b/README.md @@ -8,9 +8,48 @@ MxOps aims to be useful in these situations: - on-chain integration tests - contract interaction automation +For a quick overview, here's how to create a token, assign a mint role and mint tokens with MxOps: + +```yaml +allowed_networks: + - devnet + - localnet + +allowed_scenario: + - "alice_mint" + +accounts: + - account_name: alice + pem_path: ./wallets/alice.pem + +steps: + - type: FungibleIssue + sender: alice + token_name: AliceToken + token_ticker: ATK + initial_supply: 1000000000 # 1,000,000.000 ATK + num_decimals: 3 + can_add_special_roles: true + + - type: ManageFungibleTokenRoles + sender: alice + is_set: true # if we want to set or unset the roles below + token_identifier: "%AliceToken.identifier" + target: alice + roles: + - ESDTRoleLocalMint + - ESDTRoleLocalBurn + + - type: FungibleMint + sender: alice + token_identifier: "%AliceToken.identifier" + amount: 100000000 # 100,000.000 ATK + +``` + ## Getting Started -Heads up to the [documentation](https://mxops.readthedocs.io) to get started! +Heads up to the [documentation](https://mxops.readthedocs.io) to get started! You will find tutorials, user documentation and examples 🚀 ## Contribution diff --git a/docs/dictionary/custom_wordlist.txt b/docs/dictionary/custom_wordlist.txt index 2d0a715..1204b39 100644 --- a/docs/dictionary/custom_wordlist.txt +++ b/docs/dictionary/custom_wordlist.txt @@ -1,5 +1,9 @@ +api +APIs AppDir AppFolder +arg +backend blockchain blockchains ChangeLog @@ -10,16 +14,22 @@ customization customizations DevOps env +environ json https +os png PyPI pytest Readthedocs yaml svg +str +utils Flaticon +README reusability SBTS sdk +VScode wasm \ No newline at end of file diff --git a/docs/dictionary/multiversx_wordlist.txt b/docs/dictionary/multiversx_wordlist.txt index 9d4338e..2e2ed54 100644 --- a/docs/dictionary/multiversx_wordlist.txt +++ b/docs/dictionary/multiversx_wordlist.txt @@ -1,4 +1,5 @@ abi +bech BigUint devnet egld @@ -9,6 +10,7 @@ elrond esdt ESDT ESDTmapper +EsdtTransfer fn init localnet @@ -24,10 +26,12 @@ NFT NFTs OptionalValue pem +ProxyNetworkProvider sc SFT SFTs testnet txs WEGLD -wrapEgld \ No newline at end of file +wrapEgld +xExchange \ No newline at end of file diff --git a/docs/dictionary/project_wordlist.txt b/docs/dictionary/project_wordlist.txt index 45fae11..b364785 100644 --- a/docs/dictionary/project_wordlist.txt +++ b/docs/dictionary/project_wordlist.txt @@ -1,26 +1,40 @@ abc alice +BaseToken bob Catenscia changelog ContractCall +ContractCallStep ContractQuery +ContractQueryStep ContractUpgrade dev Dev devnet EsdtMinter +françois Freepik +GetBaseToken +GetPoolPrice +GetQuoteToken github +jacques +jean Keystore Knop mainnet Maiar +msc MxOps mxops +MyCustomException PiggyBank PingAmount +PoolPrice pylint +QuoteToken runtime +ScenarioData SuccessCheck TransfersCheck \ No newline at end of file diff --git a/docs/source/conf.py b/docs/source/conf.py index e4a4246..d2c3e84 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -8,7 +8,9 @@ # -- Retrieve the version from pyproject.toml ------------------------------- this_directory = os.path.abspath(os.path.dirname(__file__)) about = {} -with open(os.path.join(this_directory, '../../pyproject.toml'), encoding='utf-8') as file: +with open( + os.path.join(this_directory, "../../pyproject.toml"), encoding="utf-8" +) as file: content = file.read() version_pattern = r'\nversion\s*=\s*"(.*)"\n' @@ -20,9 +22,9 @@ # -- Project information ----------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information -project = 'MxOps' -copyright = '2023, Catenscia' -author = 'Catenscia' +project = "MxOps" +copyright = "2023, Catenscia" +author = "Catenscia" release = version_string version = version_string @@ -30,16 +32,16 @@ # https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration extensions = [ - 'myst_parser', - 'sphinxcontrib.images', + "myst_parser", + "sphinxcontrib.images", ] -templates_path = ['_templates'] +templates_path = ["_templates"] exclude_patterns = [] # -- Options for HTML output ------------------------------------------------- # https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output -html_theme = 'sphinx_rtd_theme' -html_static_path = ['_static'] +html_theme = "sphinx_rtd_theme" +html_static_path = ["_static"] diff --git a/docs/source/dev_documentation/changelog.md b/docs/source/dev_documentation/changelog.md index 260a361..4460bdd 100644 --- a/docs/source/dev_documentation/changelog.md +++ b/docs/source/dev_documentation/changelog.md @@ -2,12 +2,37 @@ ## Unreleased +## 2.0.0 - 2023-10-20 + +### Added + +- Checkpoints for `Scenario` +- `ContractUpgradeStep` +- Auto retry for empty query results +- python step class +- Value key can now of any depth for `Scenario` data +- `SceneStep` +- `analyze` module + +### Changed + +- 🚨 BREAKING CHANGE 🚨 `checks` attribute has been given for all `TransactionStep`, sometimes replacing `check_success` +- 🚨 BREAKING CHANGE 🚨 `.` and `[]` are used instead of `%` to specify a `Scenario` value key +- 🚨 BREAKING CHANGE 🚨 `data.data.py` renamed into `data.execution_data.py` +- Upgrade MultiversX python libraries +- `int` is preferred over `number` for query return type + +### Fixed + +- Bug with the `skip confirmation` CLI command +- Wrong token properties set during token registration + ## 1.1.0 - 2023-05-11 ### Added - CLI options to clean/delete `Scenario` data before or after execution -- `Steps` for token transfers (eGLD, fungible & non fungible) +- `Steps` for token transfers (eGLD, fungible & non fungible) - `Steps` for token issuance, roles management and minting (fungible & non fungible) - `TransfersCheck` to verify the transfers of a `ContractCallStep` - Networks enumerations can be parsed by their short or full names diff --git a/docs/source/examples/piggy_bank.md b/docs/source/examples/piggy_bank.md index fb72fc2..26c631e 100644 --- a/docs/source/examples/piggy_bank.md +++ b/docs/source/examples/piggy_bank.md @@ -289,8 +289,8 @@ When we deploy the `piggy-bank` contract, we need to supply two arguments: the t We could supply theses values by hand but that would be a huge waste of time and very prone to errors. Instead we can use the {doc}`../user_documentation/values` system of `MxOps`: -We can access the address of the `esdt-minter` contract we just deployed by using its id: `%abc-esdt-minter%address`. -As we also save the token identifier, we can access it too: `%abc-esdt-minter%EsdtIdentifier`. +We can access the address of the `esdt-minter` contract we just deployed by using its id: `%abc-esdt-minter.address`. +As we also save the token identifier, we can access it too: `%abc-esdt-minter.EsdtIdentifier`. ```yaml type: ContractDeploy @@ -299,8 +299,8 @@ wasm_path: "./contracts/piggy-bank/output/piggy-bank.wasm" contract_id: "abc-piggy-bank" gas_limit: 80000000 arguments: - - "%abc-esdt-minter%EsdtIdentifier" - - "%abc-esdt-minter%address" + - "%abc-esdt-minter.EsdtIdentifier" + - "%abc-esdt-minter.address" upgradeable: true readable: false payable: false @@ -318,7 +318,7 @@ contract: "abc-esdt-minter" endpoint: addInterestAddress gas_limit: 5000000 arguments: - - "%abc-piggy-bank%address" + - "%abc-piggy-bank.address" ``` ##### Results @@ -341,8 +341,8 @@ steps: contract_id: "abc-piggy-bank" gas_limit: 80000000 arguments: - - "%abc-esdt-minter%EsdtIdentifier" - - "%abc-esdt-minter%address" + - "%abc-esdt-minter.EsdtIdentifier" + - "%abc-esdt-minter.address" upgradeable: true readable: false payable: false @@ -354,7 +354,7 @@ steps: endpoint: addInterestAddress gas_limit: 5000000 arguments: - - "%abc-piggy-bank%address" + - "%abc-piggy-bank.address" ``` #### Airdrop @@ -391,9 +391,9 @@ steps: - type: Transfers condition: exact expected_transfers: - - sender: "%abc-esdt-minter%address" + - sender: "%abc-esdt-minter.address" receiver: "[user]" - token_identifier: "%abc-esdt-minter%EsdtIdentifier" + token_identifier: "%abc-esdt-minter.EsdtIdentifier" amount: 100000 ``` @@ -423,7 +423,7 @@ steps: contract: "abc-piggy-bank" endpoint: deposit esdt_transfers: - - token_identifier: "%abc-esdt-minter%EsdtIdentifier" + - token_identifier: "%abc-esdt-minter.EsdtIdentifier" amount: "$CAPITAL_AMOUNT:int" nonce: 0 gas_limit: 8000000 diff --git a/docs/source/examples/python_steps.md b/docs/source/examples/python_steps.md new file mode 100644 index 0000000..bcc274f --- /dev/null +++ b/docs/source/examples/python_steps.md @@ -0,0 +1,311 @@ +# Python Steps Examples + +This section will show you some basic ways of using the {doc}`PythonStep<../user_documentation/steps>`. These are just small examples: the python `Step` really gives you the keys to execute whatever you want: the creativity is yours to make what will perfectly fits your needs! 💪 + +## Calculation + +Let's say we have a pool and we want to deposit two tokens to this pool and we want to send the tokens with same ratio as the current pool price. +To do this, we can create the following {doc}`Scene<../user_documentation/scenes>`: + +```{code-block} yaml +:caption: my_scene.yaml + +allowed_networks: + - localnet + - devnet + +allowed_scenario: + - ".*" + +accounts: + - account_name: alice + pem_path: ./wallets/alice.pem + +steps: + # fetch data from the pool and save it + - type: ContractQuery + contract: my_pool + endpoint: GetBaseToken + expected_results: + - save_key: BaseToken # -> will be accessible with "%my_pool.BaseToken" + result_type: int + - type: ContractQuery + contract: my_pool + endpoint: GetQuoteToken + expected_results: + - save_key: QuoteToken # -> will be accessible with "%my_pool.QuoteToken" + result_type: int + - type: ContractQuery + contract: my_pool + endpoint: GetPoolPrice + expected_results: + - save_key: PoolPrice # -> will be accessible with "%my_pool.PoolPrice" + result_type: int + + # execute the python function to compute the amount of quote token to deposit + # given the price and the base amount + - type: Python + module_path: ./folder/my_module.py + function: compute_deposit_amount + keyword_arguments: # optional + pool_price: "%my_pool.PoolPrice" + base_amount: 1000000000000000000 # 1 assuming 18 decimals + + # deposit into the pool + - type: ContractCall + sender: alice + contract: my_pool + endpoint: deposit + gas_limit: 60000000 + esdt_transfers: + - token_identifier: "%my_pool.BaseToken" + amount: 1000000000000000000 + nonce: 0 + - token_identifier: "%my_pool.QuoteToken" + amount: "$MXOPS_COMPUTE_DEPOSIT_AMOUNT_RESULT" # -> direct access to the function result + nonce: 0 +``` + +During the python `Step`, `MxOps` will call a python function `compute_deposit_amount` that we can implement like this: + +```{code-block} python +:caption: my_module.py + +def compute_deposit_amount(pool_price: int, base_amount: int) -> str: + """ + Compute the quote amount to send to a pool for a deposit. + We assume that base and quote amounts are tokens with 18 decimals and + that the pool price is multiplied by 10e12 (for safe division) + + :param pool_price: price of the pool (1 base = price/10e12 quote) + :type pool_price: int + :param base_amount: amount of base token to convert + :type base_amount: int + :return: quote amount equivalent the the provided base amount + :rtype: str + """ + quote_amount = int(base_amount * pool_price / 10**12) + return str(quote_amount) +``` + +This python function helps us to make a calculation that is not directly supported by `MxOps`. The result is saved under the environment variable `MXOPS_COMPUTE_DEPOSIT_AMOUNT_RESULT` and it can be used in later steps, as shown above. + +## Query, Calculation and Transaction + +Alternatively, we can also realize all the actions of the previous example in python. This would look like this: + +```{code-block} yaml +:caption: my_scene.yaml + +allowed_networks: + - localnet + - devnet + +allowed_scenario: + - ".*" + +accounts: + - account_name: alice + pem_path: ./wallets/alice.pem + +steps: + - type: Python + module_path: ./folder/my_module.py + function: do_balanced_deposit + keyword_arguments: + contract: my_pool + base_amount: 1000000000000000000 # 1 assuming 18 decimals +``` + +There is now only one `Step` in our `Scene`, as everything will be done in our python module below: + +```{code-block} python +:caption: my_module.py + +from typing import Tuple +from mxops.execution.msc import EsdtTransfer +from mxops.execution.steps import ContractCallStep, ContractQueryStep +from mxops.execution.utils import parse_query_result + + +def fetch_pool_data(contract: str) -> Tuple[int, str, str]: + """ + Query a pool contract on the views GetPoolPrice, GetBaseToken and GetQuoteToken. + Return the results of the queries + + :param contract: designation of the pool contract (id or address) + :type contract: str + :return: pool price, base token identifier and quote token identifier + :rtype: Tuple[int, str, str] + """ + # construct the queries + price_query = ContractQueryStep( + contract=contract, + endpoint="GetPoolPrice" + ) + base_token_query = ContractQueryStep( + contract=contract, + endpoint="GetBaseToken" + ) + quote_token_query = ContractQueryStep( + contract=contract, + endpoint="GetQuoteToken" + ) + + # execute them + price_query.execute() + base_token_query.execute() + quote_token_query.execute() + + # extract the results (we expect to have exactly one result per query) + pool_price = parse_query_result(price_query.results[0], "int") + base_token = parse_query_result(base_token_query.results[0], "str") + quote_token = parse_query_result(quote_token_query.results[0], "str") + return pool_price, base_token, quote_token + + +def do_balanced_deposit(contract: str, base_amount: int) -> str: + """ + Given a base token amount, execute a balanced deposit to provided pool + + :param contract: designation of the pool contract (id or address) + :type contract: str + :param base_amount: amount of base token to convert + :type base_amount: int + """ + # fetch the current pool price and the token identifiers + pool_price, base_token, quote_token = fetch_pool_data(contract) + + # compute the quote amount + quote_amount = int(base_amount * pool_price / 10**12) + + # create the contract call to deposit + contract_call_step = ContractCallStep( + contract="my_pool", + endpoint="deposit", + gas_limit=60000000, + esdt_transfers=[ + EsdtTransfer( + token_identifier=base_token, + amount=base_amount + ), + EsdtTransfer( + token_identifier=quote_token, + amount=quote_amount + ) + ] + ) + + # execute the transaction (the success check is included by default) + contract_call_step.execute() + +``` + +Both the previous and the current examples end up sending the same transaction: `MxOps` allows you to choose if you want to use native `Steps` or if you want to write everything yourself in python, which gives you more flexibility (at the cost of more work and responsibility). + +## Third Party Interaction + +You might want to interact with third parties for many reasons: + - backend servers (e.g. a game engine) + - oracles + - databases (e.g. list of addresses for an airdrop) + - ... + +Using the python `Step`, you can easily integrate these third parties within the `MxOps` framework, as shown below. + +```{code-block} yaml +:caption: my_scene.yaml + +allowed_networks: + - localnet + - devnet + +allowed_scenario: + - ".*" + +steps: + - type: Python + module_path: ./folder/my_module.py + function: interact +``` + +```{code-block} python +:caption: my_module.py + +import os +from mxops.data.data import ScenarioData + +def interact(): + """ + A function that makes interactions between MxOps data and third parties + """ + # fetch some data from MxOps + scenario_data = ScenarioData.get() + var_1 = scenario_data.get_contract_value("my_contract", "my_value_1") + var_2 = scenario_data.get_token_value("my_token", "my_value_A") + + # interact with third parties + # + + # save some data within MxOps + scenario_data.set_contract_value("my_contract", "value_from_3rd_party", new_value_1) # -> now accessible with "%my_contract.value_from_3rd_party" + scenario_data.get_token_value("my_token", "value_from_3rd_party", new_value_A) # -> now accessible with "%my_token.value_from_3rd_party" + + # or save it as an env var + os.environ["MY_THIRD_PARTY_DATA"] = new_value_1 # -> now accessible with "$MY_THIRD_PARTY_DATA" +``` + +## Custom Check + +You may want to run custom checks after some crucial actions. To do so, implement them in python and run them any time you want using the python `Step`. Within your custom function, you can make queries, access the `MxOps` data, use the api or proxy network provider and much more. + +```{code-block} yaml +:caption: my_scene.yaml + +allowed_networks: + - localnet + - devnet + +allowed_scenario: + - ".*" + +steps: + - type: Python + module_path: ./folder/my_module.py + function: custom_check +``` + +```{code-block} python +:caption: my_module.py + +from multiversx_sdk_network_providers import ProxyNetworkProvider +from mxops.config.config import Config +from mxops.data.data import ScenarioData + +class MyCustomException(Exception): + pass + +def custom_check(): + """ + A function that raise an error if custom conditions are not verified + """ + # fetch some data from MxOps if you need + scenario_data = ScenarioData.get() + var_1 = scenario_data.get_contract_value("my_contract", "my_value_1") + var_2 = scenario_data.get_token_value("my_token", "my_value_A") + + # make requests using the proxy if needed + config = Config.get_config() + proxy = ProxyNetworkProvider(config.get("PROXY")) + # proxy.get_... + + # interact with third parties + # + + # assert what you want + assert condition + + # or directly raise a custom error + if condition_2: + raise MyCustomException +``` diff --git a/docs/source/examples/wrapping.md b/docs/source/examples/wrapping.md index 3d61c25..c97eab3 100644 --- a/docs/source/examples/wrapping.md +++ b/docs/source/examples/wrapping.md @@ -71,12 +71,12 @@ was successful, that the eGLD was sent to the contract and that we received wrap condition: exact expected_transfers: - sender: "[user]" - receiver: "%egld_wrapper_shard_2%address" + receiver: "%egld_wrapper_shard_2.address" token_identifier: EGLD amount: 10000 - - sender: "%egld_wrapper_shard_2%address" + - sender: "%egld_wrapper_shard_2.address" receiver: "[user]" - token_identifier: "%egld_wrapper_shard_2%WrappedTokenIdentifier" + token_identifier: "%egld_wrapper_shard_2.WrappedTokenIdentifier" amount: 10000 ``` @@ -89,7 +89,7 @@ And lastly we can unwrap our WEGLD: endpoint: unwrapEgld gas_limit: 3000000 esdt_transfers: - - token_identifier: "%egld_wrapper_shard_2%WrappedTokenIdentifier" + - token_identifier: "%egld_wrapper_shard_2.WrappedTokenIdentifier" amount: 10000 nonce: 0 checks: @@ -99,10 +99,10 @@ And lastly we can unwrap our WEGLD: condition: exact expected_transfers: - sender: "[user]" - receiver: "%egld_wrapper_shard_2%address" - token_identifier: "%egld_wrapper_shard_2%WrappedTokenIdentifier" + receiver: "%egld_wrapper_shard_2.address" + token_identifier: "%egld_wrapper_shard_2.WrappedTokenIdentifier" amount: 10000 - - sender: "%egld_wrapper_shard_2%address" + - sender: "%egld_wrapper_shard_2.address" receiver: "[user]" token_identifier: EGLD amount: 10000 @@ -142,12 +142,12 @@ steps: condition: exact expected_transfers: - sender: "[user]" - receiver: "%egld_wrapper_shard_2%address" + receiver: "%egld_wrapper_shard_2.address" token_identifier: EGLD amount: 10000 - - sender: "%egld_wrapper_shard_2%address" + - sender: "%egld_wrapper_shard_2.address" receiver: "[user]" - token_identifier: "%egld_wrapper_shard_2%WrappedTokenIdentifier" + token_identifier: "%egld_wrapper_shard_2.WrappedTokenIdentifier" amount: 10000 - type: ContractCall @@ -156,7 +156,7 @@ steps: endpoint: unwrapEgld gas_limit: 3000000 esdt_transfers: - - token_identifier: "%egld_wrapper_shard_2%WrappedTokenIdentifier" + - token_identifier: "%egld_wrapper_shard_2.WrappedTokenIdentifier" amount: 10000 nonce: 0 checks: @@ -166,10 +166,10 @@ steps: condition: exact expected_transfers: - sender: "[user]" - receiver: "%egld_wrapper_shard_2%address" - token_identifier: "%egld_wrapper_shard_2%WrappedTokenIdentifier" + receiver: "%egld_wrapper_shard_2.address" + token_identifier: "%egld_wrapper_shard_2.WrappedTokenIdentifier" amount: 10000 - - sender: "%egld_wrapper_shard_2%address" + - sender: "%egld_wrapper_shard_2.address" receiver: "[user]" token_identifier: EGLD amount: 10000 diff --git a/docs/source/getting_started/enhanced_first_scene.md b/docs/source/getting_started/enhanced_first_scene.md index f59232e..ecd91f0 100644 --- a/docs/source/getting_started/enhanced_first_scene.md +++ b/docs/source/getting_started/enhanced_first_scene.md @@ -93,7 +93,7 @@ Such `Step` would look like this: endpoint: getPingAmount expected_results: - save_key: PingAmount - result_type: number + result_type: int ``` This tells `MxOps` to save (in the current `Scenario`) the value from the query result and to attach it to the contract "egld-ping-pong" under the key name "PingAmount". @@ -106,7 +106,7 @@ We can reuse this value during the ping `Step`: contract: "egld-ping-pong" endpoint: ping gas_limit: 3000000 - value: "%egld-ping-pong%PingAmount" + value: "%egld-ping-pong.PingAmount" ``` This 'save&reuse' workflow allows you to make complex and dynamic `Scenes`: it can save you a ton of time in situations like complex and interdependent multi-deployment. @@ -121,7 +121,7 @@ MxOps checks by default that a transaction is successful. In our case, we would contract: "egld-ping-pong" endpoint: ping gas_limit: 3000000 - value: "%egld-ping-pong%PingAmount" + value: "%egld-ping-pong.PingAmount" checks: - type: Success @@ -129,9 +129,9 @@ MxOps checks by default that a transaction is successful. In our case, we would condition: exact expected_transfers: - sender: "[owner]" - receiver: "%egld-ping-pong%address" + receiver: "%egld-ping-pong.address" token_identifier: EGLD - amount: "%egld-ping-pong%PingAmount" + amount: "%egld-ping-pong.PingAmount" ``` We take advantages of the variable format of MxOps to specify the value for the transfer. The above check tells MxOps that the transaction should contain only one transfer, and that it should be an eGLD transfer of `PingAmount` token from the user `owner` to the `egld-ping-pong` contract. @@ -157,14 +157,14 @@ steps: endpoint: getPingAmount expected_results: - save_key: PingAmount - result_type: number + result_type: int - type: ContractCall sender: owner contract: "egld-ping-pong" endpoint: ping gas_limit: 3000000 - value: "%egld-ping-pong%PingAmount" + value: "%egld-ping-pong.PingAmount" - type: ContractCall sender: owner diff --git a/docs/source/getting_started/installation.md b/docs/source/getting_started/installation.md index 35cbfe5..26fb2af 100644 --- a/docs/source/getting_started/installation.md +++ b/docs/source/getting_started/installation.md @@ -23,4 +23,10 @@ pip install -U git+https://github.com/Catenscia/MxOps@develop If you want another branch or version, just replace "develop" by the branch or tag you want. +## Extension + +If you use VScode, we recommend you to use the extension `mxopsHelper` which will greatly help you using `MxOps`! +When installing, take a look at the README of the extension for the features that will assist you. + + You can now heads up to the {doc}`next section ` to learn how to write your first scene! 💪 diff --git a/docs/source/getting_started/presentation.md b/docs/source/getting_started/presentation.md index bb3f227..2113b6e 100644 --- a/docs/source/getting_started/presentation.md +++ b/docs/source/getting_started/presentation.md @@ -84,7 +84,7 @@ Here is the above `Scene`, but this time with the MxOps syntax: - "[owner]" expected_results: - save_key: ownerStakedAmount - result_type: number + result_type: int - type: ContractCall sender: owner @@ -92,7 +92,7 @@ Here is the above `Scene`, but this time with the MxOps syntax: endpoint: withdraw gas_limit: 5000000 arguments: - - "%my-contract%ownerStakedAmount" + - "%my-contract.ownerStakedAmount" ``` diff --git a/docs/source/images/functions_per_day.png b/docs/source/images/functions_per_day.png new file mode 100644 index 0000000000000000000000000000000000000000..04d649962de2657da6863932aab1b5fb2b45f386 GIT binary patch literal 540345 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 Z^w5%+IF+H%VZL@w}ru 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⪼u41R>F?jdl=*N%daO)~w$661uDYOeM~x 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 z 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

    nwEo2#Kjeo8jG)iBGp@lE^9L2C$es9 z)tlcUO+@x8{xCBApxEIHs(ib@v>0lA_q1W@-;+b1O;9ZcYi`)3XZNr0YVb(;yBa)t zq@_gvEubS&dz=pCXr^gGHA+^zK=S-p^F?}6eBSFN8cCgxD!IjXBqGj#KlxCcUG}SQ zo7|BeulDKbE}N-_qUVJUh>@&%W^-r->#Gsegau;v)j!;XWdD7Y`%Zb62(coH!S6NQ zw@?A`wd-voUdQ54AAID#??(*Jd^7$ky36UD5vKKiGrrvF(SisQp0eqP)1&PWe$3$0 zf*@%WRLwenGMIf6v~N$*tSM5pwIW3rzvrj4YyYfnA%67v1(2hX`8KCI>dk9$f^nV% zQKy7MdmFM>Z4^;mp6}G~VRRz(dtPS-?kO7u4$9=M=h#NOidXD;b)21e$dSnTT^fiU z3vX0Uate>jVoplGxFA0f9C(K@Tjk_al3r3_0&Qv-U6$9ZQR2;0uUr1gI(C`Nwu@ZQ z`lW1~z2lcV`wdd-TF;oMv#wlDDo`!;>J^G}6+C~ARzG`2^`+7C500ms`JY%PO#4!5 zwY6e+;P)+PgAC5oq)JzQI1{)nfcyDMLO}E!?p_YV;(z0THmAtu}Vg`Q8w| zD80TC^+vI?=8PI*5&X$k!5qt$Mq$q^ox+={{W-4i^zle}z7?SEsDD#*`i|af=X3AR z+IE(iPP(sPZfFvYYmuWJstQy;ifimxk`$=s%%46plrpw%Oxb?o8Zzgv9^RlPx=U^1 z$}io;8$V^|HpEtD<~)kGrP)Ywcu?XH5E3R~Ap{;(BF9@-2E?m-ibXq&cy_nGsnOIH z+rzM7@p8P)Oid%9`_u`mZmQA3+`(eO*gOC!71~KkO%?oFnHCzG&Yt|=?Uf&^U43EA zJB3I|y2&k-t&esMMz_Et`OD?aQSn!N2q#X?z_p4I_@W3x&)@2)LL zE;o;)-)uUHsp1UD{twY7HYApCm@mi9)nkJks@fqZuC@R5$@PM98JgVlFMQcu6>a^t z{Hj=<4ez$7oAdjp7;9b^nV#@s#GxX_ZVy>rxiTJK)wT5f=3}qtbWOg0MFb7%x4X?$ z4SFI*!VdJ_=ZHLD`?U7;LPt@%6)8dlZ+8(TA@l8$MgCa@1*P*LGA43!o=Q^}Ug~ZV zS>ea}^%=A&7$0b`_Op+ws~WWQ6c)&Yu4&t~w$s$@P>JK{#doMOd}9)pOdXQH+_7d| zUw(A1-A!C>g^yzWlZEFB^_FHz#>LocJLihiluEL?!8T0bbw*8h8#UmZa`yUhlSZo_ z2O72ZNU^>*am#aa9Q*@9%>q)PQdD_P8Kj@0odPU(J5SL(P%>+6<;^ue+`jMNqg2N2 zSySiMYu_ZSkXAUrnV)`mu+o!yw<+IN^70*Z>Xg!e?Zv|F1nu`SVGYdDKdIF<88c65 zz4kG%xnuq$Ysb4*`7b^rar2?W;}lewfnNKk4GxEB%|5rJV9)r3h}{aZi+4THHr0qO^N+ziK^=>p<*{iG)W*DkOLL9JIcYPWV#+zZvR>s7z&#mmc^=iaGX z^T41^XZv#^WhI+|S(7$2Vq)5?+4vjLk8NZuRvYdE7sF zPWiK*LQWmCkCs)r!lgpPu2M6aYTG%Ju$HivY9TiDPC>?A0dHn|3w zx5Rl0s-V1_ywopX1sAV;EUyHI z*LX?B=2CNgD5pG{Hc9|->KmKR^0waEUR(CvN8>(z%{D8C#rV0p0BiVVo#OcjS`xW( z0TJU}D)8plgm+fN`1y8KUR43OWBzM4`EnL{D@3)EUtN6qE1{*RD%Ye0#ugfcDlbx> z@1?6E%R%m?(%ehlb_qAA_qj3A=F%qZ8t|=8ydJufJES^&32YxRzb4(zu;i^6D7Jn2^WQ zn=^;Aqe4~q2}QIIABJTJ)oNpBGjtbQuvV3$ciV1-3qePRk72W5RTb!_;F>$zTDBR3 zN<~&BVv>llEGByGyQP9r9W!2wEB#JF z!#L*s#7^k_u~uKZvoBYi^Y`G}^ZC8^4eO|OI^olo?H;rDn8iqU=bG6Ugv@HGdfnJz z-X%^VkMuay%yxJ2_;MyzMY}v&5_fkLq(Vi3 zVhm?M+cZXlo6TW5(zikp6WFrZ8LL;~jf;s3VnK7dL5{0W+22!Dxdzu3Nl?4OamTXN zsPwNXzL{Wm;owm1TrfU1#-ey(s;c!$?UY0XB3zi&-1^hA76$sm34d!p=SE*e;j6ru zpBb;;| z%{IiZ=!*!lqCL&WcsQA(!dp5OF0D4QRcCrwH0P#XE53J2pyy+))GJ26A6*4W>6dO) zVfies*P0;l+fKC2dYodrwirFMDZ_#F65b6fFLx&<ol&U2-kE6IKw8-ABFvare5RW%~6rR=l|7CXMxlHr}ice5u0bliK& zfc9Hg4y&tXP|xWKA5L*?O*3D{C;Rlmu1v(F7*E1hb6&O$r>{9XOATXjQ=QCCibNG= zH&cLXP2K8Ff#jDc4f^mrO}~vkWFBt|OgZZ7c9GLDE!toN)1g<*1KWr>uiYbS>d9MQ zW?%ml=eX`-Em-$PcKDm|A_{4oJ6F_jO!{FNE`Mw>U^B_I$r`O>w7)U+$Va$2KYQgk z-f_IhAzy;6nc;B@Q{*b8^4?Dn`>Y;$La4JDLW`H#y7}e8^^$t$w)t|kQ3isy&G=3+ zQ#O^lZZJiJ_3|Y(>z1>q?ZwUx&3V0`3FVFQR`%GCN2b+p5e4YWqkY`U2d!jVV;{Iy#5ngvG)9w(2iJLfmPi7xDEKaXslxSx z9>PiV9J5$fG^euCl1NNU%)w4YJ<}0mL^HNV04Pz})_2i+{7GZs0v9@hZ0ycPT91{F zMaX@WY~_z#ZJyWhz^%UKwVN^bF1$QD+~9uQ-!X;+|M!T3EvYvNJ z+AA4J=G8Z0hp3+a+EnLJVYAX+q0cTq<;{*gX�bZ|&_Lb(zWTeixA@N8wY2^TrNl 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 Wa literal 0 HcmV?d00001 diff --git a/docs/source/images/transactions_status_per_day.png b/docs/source/images/transactions_status_per_day.png new file mode 100644 index 0000000000000000000000000000000000000000..b6abd76c973814f2de12ff20c5fcd0cbab609342 GIT binary patch literal 457338 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�k}}WEHHcF7 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 $k&Q-ic71CU1NbdoUBlU~9fuu$6B{cSF=SR_g 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%0Awi#jh^^J!=n9N^6AwZ$BZ= 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

    ?Dp@R!bP3KSI^D_aJ6Gs%FVOZ4E&DAB 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 CQ!oku literal 0 HcmV?d00001 diff --git a/docs/source/index.rst b/docs/source/index.rst index e2d8643..9422168 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -32,6 +32,7 @@ If you are new here, we recommend going first to the :doc:`getting_started/prese user_documentation/values user_documentation/execution user_documentation/config + user_documentation/analyze .. toctree:: :maxdepth: 1 @@ -40,12 +41,12 @@ If you are new here, we recommend going first to the :doc:`getting_started/prese examples/presentation examples/piggy_bank examples/wrapping + examples/python_steps .. toctree:: :maxdepth: 1 :caption: Dev Documentation - dev_documentation/backlog dev_documentation/changelog .. toctree:: diff --git a/docs/source/user_documentation/analyze.md b/docs/source/user_documentation/analyze.md new file mode 100644 index 0000000..b44d1f2 --- /dev/null +++ b/docs/source/user_documentation/analyze.md @@ -0,0 +1,64 @@ +# Analyze + +`Mxops Analyze` is an entire module that aims to give you insights on the usage of your contracts, be it after a long period of tests or during the contracts' lives on the mainnet. + +## Data + +First, `Mxops` needs to fetch the transactions of your contract. You can either give the bech32 address of the contract or the name and scenario of your contract if you deployed it using `MxOps`. + +### Commands + +```bash +mxops analyze update-tx -n mainnet -c erd1qqqqqqqqqqqqqpgqqff57a6l7ztsrk45k9grjs4npvla9jyktnqqhmwngx +``` + +or + +```bash +mxops analyze update-tx -n mainnet -s my_scenario -c my_contract_name +``` + +This will save the transactions locally on your computer, so you won't have to download them each time you want to analyze your contract. + +```{note} +Only users transactions are fetched. That is to say, only the transactions emitted by a user directly to your contract. All smart-contract to smart-contract calls are not retrieved. +``` + +### Rate limits + +The APIs provided publicly by the MultiversX team have limits rates, so if you have a lots of transactions to analyze, it can take a lot of time to fetch all of them. + +If you have your own API, you can dump the `MxOps` config by using `mxops config -d` and then modify the values `API` and `API_RATE_LIMIT`. This will automatically be taken into account in your next execution. (as long as you don't change of current working directory) + +## Plots + +Once your data is available, you can create plots to gain insights on your contract utilization. + +```bash +mxops analyze plots -n mainnet -s my_scenario -c my_contract_name +``` + +or + +```bash +mxops analyze plots -n mainnet -c erd1qqqqqqqqqqqqqpgqqff57a6l7ztsrk45k9grjs4npvla9jyktnqqhmwngx +``` + +### Available plots + +Many more plots will be added in future versions + +#### functions_per_day + +```{thumbnail} ../images/functions_per_day.png +``` + +#### transactions_status_per_day + +```{thumbnail} ../images/transactions_status_per_day.png +``` + +#### unique_users_per_day + +```{thumbnail} ../images/unique_users_per_day.png +``` \ No newline at end of file diff --git a/docs/source/user_documentation/checks.md b/docs/source/user_documentation/checks.md index 59a2ca3..9867aa8 100644 --- a/docs/source/user_documentation/checks.md +++ b/docs/source/user_documentation/checks.md @@ -1,10 +1,10 @@ -# Contract Call Checks +# Transaction Checks -When executing a smart-contract call, you may want to assert that everything went as you desired. +When executing a `Step` that send a blockchain transaction, you may want to assert that everything went as you desired. `MxOps` provides you a way to do so: `Checks` are additional information you can provide when -declaring a `ContractCallStep`. +declaring a `Step`. -If any `Check` your specified is not successful, it will stop the execution of `MxOps` +If any of the `Checks` you specified is not successful, it will stop the execution of `MxOps` and raise an error. At the moment, only two types of `Checks` exists: `SuccessCheck` and `TransfersCheck`. We plan @@ -13,7 +13,7 @@ on adding more types in the future such as `BalanceCheck`, `ErrorCheck`, ## SuccessCheck -This is the most simple `Check` and is included by default on every `ContractCall`. This will verify +This is the most simple `Check` and is included by default on every transaction `Step`. This will verify that the transaction went without any error. If you use the `checks` keywords, make sure to add the `SuccessCheck` like this: @@ -21,14 +21,14 @@ If you use the `checks` keywords, make sure to add the `SuccessCheck` like this: ```yaml type: ContractCall sender: alice -contract-id: my_first_sc +contract: my_first_sc endpoint: myEndpoint gas_limit: 60000000 arguments: - arg1 value: 0 checks: - - type: Success + - type: Success ``` In some cases, you may want to send many transactions quickly, without checking their results. @@ -38,7 +38,7 @@ gaining a significant time. ```yaml type: ContractCall sender: alice -contract-id: my_first_sc +contract: my_first_sc endpoint: myEndpoint gas_limit: 60000000 arguments: @@ -59,7 +59,7 @@ in exchange. ```yaml type: ContractCall sender: alice -contract-id: super-swap-sc +contract: super-swap-sc endpoint: superSell gas_limit: 60000000 esdt_transfers: @@ -74,18 +74,18 @@ checks: - type: Transfers condition: exact - include_gas_refund: false # optional, false by default + include_gas_refund: false # optional, false by default expected_transfers: - sender: "[alice]" - receiver: "%super-swap-sc%address" + receiver: "%super-swap-sc.address" token_identifier: ALICE-123456 amount: 58411548 - sender: "[alice]" - receiver: "%super-swap-sc%address" + receiver: "%super-swap-sc.address" token_identifier: XMEX-e45d41 amount: 848491898 - nonce: 721 # can write 721 as integer or "0d21" for its hex representation - - sender: "%super-swap-sc%address" + nonce: 721 # can write 721 as integer or "0d21" for its hex representation + - sender: "%super-swap-sc.address" receiver: "[alice]" token_identifier: EGLD amount: 18541 @@ -98,7 +98,7 @@ included in the on-chain transaction. ```yaml type: ContractCall sender: alice -contract-id: super-swap-sc +contract: super-swap-sc endpoint: superSell gas_limit: 60000000 esdt_transfers: @@ -114,7 +114,7 @@ checks: - type: Transfers condition: included expected_transfers: - - sender: "%super-swap-sc%address" + - sender: "%super-swap-sc.address" receiver: "[alice]" token_identifier: EGLD amount: 18541 diff --git a/docs/source/user_documentation/scenario.md b/docs/source/user_documentation/scenario.md index e081269..c71f65a 100644 --- a/docs/source/user_documentation/scenario.md +++ b/docs/source/user_documentation/scenario.md @@ -21,7 +21,7 @@ The files are organized as below: | .json - + ``` Where: @@ -48,7 +48,7 @@ Below sections show some command examples. You can always use `mxops data --help To print out all the existing `Scenario` on a specified network: ```bash -mxops data get -n -l +mxops data get -n -l ``` ### Scenario Data @@ -56,7 +56,7 @@ mxops data get -n -l To print out all the existing data for a `Scenario` on a specified network: ```bash -mxops data get -n -s +mxops data get -n -s ``` ### Delete Scenario @@ -64,5 +64,45 @@ mxops data get -n -s To delete all the data from a `Scenario` ```bash -mxops data delete -n -s +mxops data delete -n -s +``` + +### Checkpoints + +Sometimes you need to deploy numerous tokens and external contracts to setup your testing +environment. For example when you project relies on xExchange and you want to fully replicate the tokens, pools, +farms and others. +Such setup takes a long time to execute, even when it is automated as most of the transactions have to be made sequentially. + +To address this, MxOps has the notion of `Scenario` checkpoints. It allows you to save the data of a scenario in its current state so that you won't need to repeat certain actions. + +Here is an example use-case: + +1. Execute some `Scenes` that create some tokens +2. Create a checkpoint named `tokens_checkpoint` +3. Execute some `Scenes` that setup some external contracts (ex a wrapper-sc) +4. Create a checkpoint named `external_contracts_checkpoint` +5. Execute the `Scenes` that test your smart-contracts +6. Revert to checkpoint `tokens_checkpoint` or `external_contracts_checkpoint` depending on your needs so that you can use the tokens or the external contracts without creating/deploying them again. + +#### Create a Checkpoint + +To save the current state of a `Scenario` as a checkpoint. + +```bash +mxops data checkpoint -n -s -c -a create +``` + +#### Load a Checkpoint + +Overwrite the current state of a `Scenario` with the data of a checkpoint. + +```bash +mxops data checkpoint -n -s -c -a load +``` + +```{warning} +Checkpoint only save the local data of a `Scenario`, it does not perform any blockchain +operation: It can not revert a smart-contract in a certain state. If your scenario needs +every contracts to be as new, you will need to redeploy them each time. ``` diff --git a/docs/source/user_documentation/scenes.md b/docs/source/user_documentation/scenes.md index 4baef2f..41fa62a 100644 --- a/docs/source/user_documentation/scenes.md +++ b/docs/source/user_documentation/scenes.md @@ -19,18 +19,20 @@ At execution time, the user will designate the `Scenario` in which the actions w ```yaml -# list of network onto which this scene can be run +# List of network onto which this scene can be run allowed_networks: - mainnet - devnet -# list of scenario into which this scene can be run +# List of scenario into which this scene can be run +# Regex can be used. For example ".*" allows all scenario. allowed_scenario: - - ".*" # regex allowed here (in this case ".*" allows everything) + - "" + - "" -# list of accounts details. To be defined only once per execution -# In case of the execution of several scenes. This can be defined in a single file. -# names have to be unique or they will override each other +# List of the accounts that will be used in this scene or in other scenes later scenes. This means that +# if you execute a folder of scenes for example, you only need to define the accounts in the first executed scene. +# Names have to be unique or they will override each other accounts: - account_name: bob pem_path: path/to/bom_pem @@ -38,12 +40,12 @@ accounts: ledger_account_index: 12 ledger_address_index: 2 -# external contracts that will be called for transactions or queries in future steps +# External contracts that will be called for transactions or queries in future steps external_contracts: egld_wrapper: erd1qqqqqqqqqqqqqpgqhe8t5jewej70zupmh44jurgn29psua5l2jps3ntjj3 xexchange_router: erd1qqqqqqqqqqqqqpgqq66xk9gfr4esuhem3jru86wg5hvp33a62jps2fy57p -# list of the steps to execute +# List of the steps to execute in this scene steps: - type: ContractDeploy sender: bob diff --git a/docs/source/user_documentation/steps.md b/docs/source/user_documentation/steps.md index 6db3dfe..11ed596 100644 --- a/docs/source/user_documentation/steps.md +++ b/docs/source/user_documentation/steps.md @@ -6,6 +6,59 @@ In other words, a `Scene` contains a series of `Steps` that tells what `MxOps` s Several type of `Steps` exists, to allow users to easily construct complex `Scenes`. If you feel something is missing, please make a suggestion in the [github](https://github.com/Catenscia/MxOps/discussions/categories/ideas)! +## Transfer Steps + +### EGLD Transfer Step + +This step is used to transfer eGLD from an address to another + +```yaml +type: EgldTransfer +sender: bob +receiver: alice # you can also directly write a bech32 address here +amount: 7895651689 # integer amount here (for example 1 EGLD = 1000000000000000000) +``` + +### Fungible Transfer Step + +This step is used to transfer classic (fungible) ESDT from an address to another + +```yaml +type: FungibleTransfer +sender: bob +receiver: alice +token_identifier: "MYTOK-a123ec" +amount: 7895651689 +``` + +### Non Fungible Transfer Step + +This step is used to transfer a NFT, some SFT or some Meta ESDT from an address to another + +```yaml +type: NonFungibleTransfer +sender: bob +receiver: alice +token_identifier: "MTESDT-a123ec" +nonce: 4 +amount: 65481 # 1 for NFT +``` + +### Multi Transfers Step + +```yaml +type: MutliTransfers +sender: bob +receiver: alice +transfers: + - token_identifier: "MYSFT-a123ec" + amount: 25 + nonce: 4 + - token_identifier: "FUNG-a123ec" + amount: 87941198416 + nonce: 0 # 0 for fungible ESDT +``` + ## Contract Steps ### Contract Deploy Step @@ -19,14 +72,38 @@ sender: bob wasm_path: "path/to/wasm" contract_id: my_first_sc gas_limit: 1584000 -arguments: # optional, if any args must be submitted - - 100 +arguments: # optional, if any args must be submitted + - 100 +upgradeable: true +readable: false +payable: false +payable_by_sc: true +``` + +### Contract Upgrade Step + +This `Step` is used to upgrade a contract. + +```yaml +type: ContractUpgrade +sender: bob +wasm_path: "path/to/upgraded_wasm" +contract: my_first_sc +gas_limit: 1584000 +arguments: # optional, if any args must be submitted + - 100 upgradeable: true readable: false payable: false payable_by_sc: true ``` +```{warning} +Be mindful of the difference in the argument name between the deploy and the update steps. + +`contract_id` can only refer to a contract managed by MxOps whereas `contract` can be any contract. +``` + ### Contract Call Step This `Step` is used to call the endpoint of a deployed contract. @@ -34,21 +111,21 @@ This `Step` is used to call the endpoint of a deployed contract. ```yaml type: ContractCall sender: alice -contract-id: my_first_sc +contract: my_first_sc endpoint: myEndpoint gas_limit: 60000000 -arguments: # optional, args of the endpoint +arguments: # optional, args of the endpoint - arg1 -value: 0 # optional, amount of eGLD to send -esdt_transfers: # optional, ESDTs to send +value: 0 # optional, integer amount of eGLD to send +esdt_transfers: # optional, ESDTs to send - token_identifier: ALICE-123456 amount: 58411548 - nonce: 0 # 0 for fungible ESDT + nonce: 0 # 0 for fungible ESDT - token_identifier: LKMEX-e45d41 amount: 848491898 nonce: 721 -checks: # optional, by default it will contain a transaction success check - - type: Success +checks: # optional, by default it will contain a transaction success check + - type: Success ``` To get more information on the `checks` attribute, heads to the {doc}`checks` section. @@ -63,13 +140,13 @@ type: ContractQuery contract: my_first_sc endpoint: getEsdtIdentifier arguments: [] -expected_results: # list of results excpected from the query output +expected_results: # list of results excpected from the query output - save_key: EsdtIdentifier result_type: str -print_results: false # if the query results should be printed in the console +print_results: false # if the query results should be printed in the console ``` -Currently allowed values for `result_type`: [`number`, `str`] +Currently allowed values for `result_type`: [`int`, `str`] (loop_step_target)= @@ -84,21 +161,21 @@ This `Step` is used to issue a new fungible token, a initial supply of tokens wi ```yaml type: FungibleIssue sender: alice -token_name: MyToken # must be unique in a Scenario +token_name: MyToken # must be unique within a Scenario token_ticker: MTK -initial_supply: 1000000000 # 1,000,000.000 MTK +initial_supply: 1000000000 # 1,000,000.000 MTK num_decimals: 3 -can_freeze: false # optional, defaults to false -can_wipe: false # optional, defaults to false -can_pause: false # optional, defaults to false -can_mint: false # optional, defaults to false -can_burn: false # optional, defaults to false -can_change_owner: false # optional, defaults to false -can_upgrade: false # optional, defaults to false -can_add_special_roles: false # optional, defaults to false +can_freeze: false # optional, defaults to false +can_wipe: false # optional, defaults to false +can_pause: false # optional, defaults to false +can_mint: false # optional, defaults to false +can_burn: false # optional, defaults to false +can_change_owner: false # optional, defaults to false +can_upgrade: false # optional, defaults to false +can_add_special_roles: false # optional, defaults to false ``` -The results of the transaction will be saved. You can make a reference to this token in later `Steps` using its name, for example to retrieve the token identifier: `%MyToken%identifier`. +The results of the transaction will be saved. You can make a reference to this token in later `Steps` using its name, for example to retrieve the token identifier: `%MyToken.identifier`. ```{warning} To avoid data collision within `MxOps`, `token_name` should be unique within a `Scenario` and should not have a name identical to a `contract_id` in the same `Scenario`. @@ -111,10 +188,10 @@ This `Step` is used to set or unset roles for an address on a fungible token. ```yaml type: ManageFungibleTokenRoles sender: alice -is_set: true # if false, this will unset the provided roles token_identifier: MTK-abcdef target: erd17jcn20jh2k868vg0mm7yh0trdd5mxpy4jzasaf2uraffpae0yrjsvu6txw -roles: # choose one or several of the roles below +is_set: true # if false, this will unset the provided roles +roles: # choose one or several of the roles below - ESDTRoleLocalMint - ESDTRoleLocalBurn - ESDTTransferRole @@ -144,20 +221,18 @@ This `Step` is used to issue a new non fungible token (NFT). ```yaml type: NonFungibleIssue sender: alice -token_name: MyNFT # must be unique in a Scenario +token_name: MyNFT # must be unique within a Scenario token_ticker: MNFT -can_freeze: false # optional, defaults to false -can_wipe: false # optional, defaults to false -can_pause: false # optional, defaults to false -can_mint: false # optional, defaults to false -can_burn: false # optional, defaults to false -can_change_owner: false # optional, defaults to false -can_upgrade: false # optional, defaults to false -can_add_special_roles: false # optional, defaults to false -can_transfer_nft_create_role: false # optional, defaults to false +can_freeze: false # optional, defaults to false +can_wipe: false # optional, defaults to false +can_pause: false # optional, defaults to false +can_change_owner: false # optional, defaults to false +can_upgrade: false # optional, defaults to false +can_add_special_roles: false # optional, defaults to false +can_transfer_nft_create_role: false # optional, defaults to false ``` -The results of the transaction will be saved. You can make a reference to this token in later `Steps` using its name, for example to retrieve the token identifier: `%MyToken%identifier`. +The results of the transaction will be saved. You can make a reference to this token in later `Steps` using its name, for example to retrieve the token identifier: `%MyToken.identifier`. ```{warning} To avoid data collision within `MxOps`, `token_name` should be unique within a `Scenario` and should not have a name identical to a `contract_id` in the same `Scenario`. @@ -170,20 +245,18 @@ This `Step` is used to issue a new semi fungible token (NFT). ```yaml type: SemiFungibleIssue sender: alice -token_name: MySFT # must be unique in a Scenario +token_name: MySFT # must be unique within a Scenario token_ticker: MSFT -can_freeze: false # optional, defaults to false -can_wipe: false # optional, defaults to false -can_pause: false # optional, defaults to false -can_mint: false # optional, defaults to false -can_burn: false # optional, defaults to false -can_change_owner: false # optional, defaults to false -can_upgrade: false # optional, defaults to false -can_add_special_roles: false # optional, defaults to false -can_transfer_nft_create_role: false # optional, defaults to false +can_freeze: false # optional, defaults to false +can_wipe: false # optional, defaults to false +can_pause: false # optional, defaults to false +can_change_owner: false # optional, defaults to false +can_upgrade: false # optional, defaults to false +can_add_special_roles: false # optional, defaults to false +can_transfer_nft_create_role: false # optional, defaults to false ``` -The results of the transaction will be saved. You can make a reference to this token in later `Steps` using its name, for example to retrieve the token identifier: `%MyToken%identifier`. +The results of the transaction will be saved. You can make a reference to this token in later `Steps` using its name, for example to retrieve the token identifier: `%MyToken.identifier`. ```{warning} To avoid data collision within `MxOps`, `token_name` should be unique within a `Scenario` and should not have a name identical to a `contract_id` in the same `Scenario`. @@ -196,21 +269,19 @@ This `Step` is used to issue a new non fungible token (NFT). ```yaml type: MetaIssue sender: alice -token_name: MyMeta # must be unique in a Scenario +token_name: MyMeta # must be unique within a Scenario token_ticker: MMT num_decimals: 3 -can_freeze: false # optional, defaults to false -can_wipe: false # optional, defaults to false -can_pause: false # optional, defaults to false -can_mint: false # optional, defaults to false -can_burn: false # optional, defaults to false -can_change_owner: false # optional, defaults to false -can_upgrade: false # optional, defaults to false -can_add_special_roles: false # optional, defaults to false -can_transfer_nft_create_role: false # optional, defaults to false +can_freeze: false # optional, defaults to false +can_wipe: false # optional, defaults to false +can_pause: false # optional, defaults to false +can_change_owner: false # optional, defaults to false +can_upgrade: false # optional, defaults to false +can_add_special_roles: false # optional, defaults to false +can_transfer_nft_create_role: false # optional, defaults to false ``` -The results of the transaction will be saved. You can make a reference to this token in later `Steps` using its name, for example to retrieve the token identifier: `%MyToken%identifier`. +The results of the transaction will be saved. You can make a reference to this token in later `Steps` using its name, for example to retrieve the token identifier: `%MyToken.identifier`. ```{warning} To avoid data collision within `MxOps`, `token_name` should be unique within a `Scenario` and should not have a name identical to a `contract_id` in the same `Scenario`. @@ -223,10 +294,10 @@ This `Step` is used to set or unset roles for an address on a non fungible token ```yaml type: ManageNonFungibleTokenRoles sender: alice -is_set: true # if false, this will unset the provided roles token_identifier: MNFT-abcdef target: erd17jcn20jh2k868vg0mm7yh0trdd5mxpy4jzasaf2uraffpae0yrjsvu6txw -roles: # choose one or several of the roles below +is_set: true # if false, this will unset the provided roles +roles: # choose one or several of the roles below - ESDTRoleNFTCreate - ESDTRoleNFTBurn - ESDTRoleNFTUpdateAttributes @@ -243,10 +314,10 @@ This `Step` is used to set or unset roles for an address on a semi fungible toke ```yaml type: ManageSemiFungibleTokenRoles sender: alice -is_set: true # if false, this will unset the provided roles token_identifier: MNFT-abcdef target: erd17jcn20jh2k868vg0mm7yh0trdd5mxpy4jzasaf2uraffpae0yrjsvu6txw -roles: # choose one or several of the roles below +is_set: true # if false, this will unset the provided roles +roles: # choose one or several of the roles below - ESDTRoleNFTCreate - ESDTRoleNFTBurn - ESDTRoleNFTAddQuantity @@ -262,10 +333,10 @@ This `Step` is used to set or unset roles for an address on a meta token. ```yaml type: ManageMetaTokenRoles sender: alice -is_set: true # if false, this will unset the provided roles token_identifier: META-abcdef target: erd17jcn20jh2k868vg0mm7yh0trdd5mxpy4jzasaf2uraffpae0yrjsvu6txw -roles: # choose one or several of the roles below +is_set: true # if false, this will unset the provided roles +roles: # choose one or several of the roles below - ESDTRoleNFTCreate - ESDTRoleNFTBurn - ESDTRoleNFTAddQuantity @@ -283,12 +354,12 @@ It can be used for NFTs, SFTs and Meta tokens. type: NonFungibleMint sender: alice token_identifier: TOKE-abcdef -amount: 1 # must be 1 for NFT but any number for SFT and Meta -name: "Beautiful NFT" # optional -royalties: 750 # optional, here it is equals to 7.5% -hash: "00" # optional -attributes: "metadata:ipfsCID/song.json;tags:song,beautiful,music" # optional -uris: # optional +amount: 1 # must be 1 for NFT but any number for SFT and Meta +name: "Beautiful NFT" # optional +royalties: 750 # optional, here it is equals to 7.5% +hash: "00" # optional +attributes: "metadata:ipfsCID/song.json;tags:song,beautiful,music" # optional +uris: # optional - https://mypng.com/1 - https://mysftjpg.com/1 ``` @@ -299,7 +370,7 @@ You can find more information in the MultiversX documentation about [non fungibl ### Loop Step -This steps allows to run a set of steps for a given number of times. +This step allows to run a set of steps for a given number of times. A loop variable is created and can be used as an arguments for the steps inside the loop. ```yaml @@ -315,11 +386,11 @@ steps: endpoint: getSftAmount arguments: - TokenIdentifier4 - - $LOOP_VAR # nonce + - $LOOP_VAR # nonce expected_results: - save_key: TokenIdentifier4Amount - result_type: number - + result_type: int + - type: ContractCall sender: alice contract: my_first_sc @@ -327,8 +398,8 @@ steps: gas_limit: 60000000 arguments: - TokenIdentifier4 - - $LOOP_VAR # nonce - - "%my_first_sc%TokenIdentifier4Amount%" # result of the query + - $LOOP_VAR # nonce + - "%my_first_sc.TokenIdentifier4Amount." # result of the query ``` Instead of using `var_start` and `var_end` for the loop variable, a custom list of values can be provided with the keyword `var_list` like below. @@ -337,60 +408,69 @@ Instead of using `var_start` and `var_end` for the loop variable, a custom list type: Loop var_name: LOOP_VAR var_list: [1, 5, 78, 1566] -steps: - [...] +steps: [...] ``` You will notice that some symbols are used in the arguments of the above `ContractCall`. These are here to dynamically fetch values from different sources. Heads up to the {doc}`values` section for more information. -## EGLD Transfer Step -This step is used to transfer eGLD from an address to another +### Python Step + +This step allows to execute a custom python function. You can execute whatever you want in the python function. This `Step` is here to give you maximum flexibility, making `MxOps` suitable for all the needs of you project. Here are some basic use case for the python `Step`: + - complex calculation (results can be saved as `MxOps` or environment values) + - complex query parsing + - randomness generation + - third party calls (databases, API ...) + +For the function, the user can provide raw arguments or can use the MxOps values format. +If the python function return a string, it will be saved as an environment variable under the name `MXOPS__RESULT`. ```yaml -type: EgldTransfer -sender: bob -receiver: alice # you can also write bech32 address here -amount: 7895651689 +type: Python +module_path: ./folder/my_module.py +function: my_function +arguments: # optional + - arg1 + - "%my_contract.query_result" # using MxOps value +keyword_arguments: # optional + key_1: value_1 + key_2: "$VALUE" # using os env var ``` -## Fungible Transfer Step +The above `Step` will execute the function `my_function`, located at `./folder/my_module.py` that would look like this: +```python +def my_function(arg_1, arg2, key_1, key_2): + # execute anything here + return result # optionally return a string result +``` -This step is used to transfer classic (fungible) ESDT from an address to another +You can find examples of python `Steps` in this {doc}`section<../examples/python_steps>`. -```yaml -type: FungibleTransfer -sender: bob -receiver: alice -token_identifier: "MYTOK-a123ec" -amount: 7895651689 +```{warning} +MxOps is completely permissive and lets you do anything you want in the python `Step`, including changing the behavior of MxOps itself. Test everything you do on localnet and devnet before taking any action on mainnet. ``` -## Non Fungible Transfer Step +### Scene Step -This step is used to transfer a NFT, some SFT or some Meta ESDT from an address to another +This step simply runs a `Scene`. It can be used either to organize different executions or more importantly, to avoid copy pasting `Steps`. ```yaml -type: NonFungibleTransfer -sender: bob -receiver: alice -token_identifier: "MTESDT-a123ec" -nonce: 4 -amount: 65481 # 1 for NFT +type: Scene +scene_path: ./integration_tests/setup_scenes/sub_scenes/send_egld.yaml ``` -## Multi Transfers Step +For example, let's say you have several transactions to make to assign a given role in your organization to a wallet and you also want to assign this role to several wallets. This can be done elegantly with the scene below: ```yaml -type: MutliTransfers -sender: bob -receiver: alice -transfers: - - token_identifier: "MYSFT-a123ec" - amount: 25 - nonce: 4 - - token_identifier: "FUNG-a123ec" - amount: 87941198416 - nonce: 0 # 0 for fungible ESDT +steps: + - type: Loop + var_name: USER_FOR_ROLE + var_list: [françois, jacques, jean] + steps: + - type: Scene + scene_path: assign_role.yaml ``` + +Then, all of the `Steps` is the `Scene` `assign_role.yaml` should be written while using `$USER_FOR_ROLE` instead of the address of the wallet you want to assign the role to. +This will apply all the `Steps` to françois, jacques and jean without having to copy/paste the `Steps` for each one of them. \ No newline at end of file diff --git a/docs/source/user_documentation/values.md b/docs/source/user_documentation/values.md index f902bac..45d8ca8 100644 --- a/docs/source/user_documentation/values.md +++ b/docs/source/user_documentation/values.md @@ -4,15 +4,17 @@ To be as dynamic as possible, MxOps allows runtime evaluation of variables. This ## Syntax -Values are specified as below: +Values are specified with three parts, the last one being optional: + +`"[:]"` -`":"` for example: - `"$MY_VAR:int"` - `"&MY_VAR:str"` -- `"%ROOT_ID%MY_VAR:int"` +- `"%contract_id.my_amount:int"` +- `"%contract_id.my_amount"` ### Symbol @@ -24,12 +26,50 @@ The symbol is used to indicate which data source to use. | $ | Environment variable | | % | Scenario data | -Data saved within a `Scenario` are saved under a root name (for example a contract id). This root name must be used to create a reference to the data: +### Value Key + +#### Configuration and Environment Variables + +For the configuration and the environment variables, the value key is simply the name of the variable, for example: `"MY_CONSTANT"` or `"BASE_ISSUING_COST"`. + +#### Scenario Data + +The values saved within a `Scenario` can be more complex and in particular they can have an infinite nested length, allowing you to store complex data +while keeping things clean. To access the value, you simply write the full path of the value with a `.` or `[]` depending if the current element is a dictionary of a list. + +For example, given the data below -| Data type | Root name | Example | -|-----------|---------------|------------------------| -| contract | `contract_id` | "%my_contract%address" | -| token | `token_name` | "%my_token%identifier" | +```json +{ + "key_1": { + "key_2": [ + {"data": "value_1"}, + "value_2" + ], + "key_3": "value_3" + }, + "key_4": "value_4" +} +``` + +we can access the different values like this: + +| value key | value fetched | +|-----------------------|---------------| +| "key_1.key_2[0].data" | "value_1" | +| "key_1.key_2[1]" | "value_2" | +| "key_1.key_3" | "value_3" | +| "key_4" | "value_4" | + +Data saved within a `Scenario` are split into three categories: contract data, token data and everything else. A value attached to a contract or a token will always have its value key begins by the `contract_id` or the `token_name`. In addition, when you deploy a contract or a token, some values will already be available in the `Scenario data`. + +| Value Key | Description | +|------------------------------|---------------------------------------------------------| +| "contract-id.address" | Address of the deployed contract | +| "contract-id.key_1.key_2[0]" | Anything that you decided to saved under this value key | +| "token-name.identifier" | Token identifier of the issued token | +| "token-name.ticker" | Ticker of the issued token | +| "token-name.key_1.key_2[5]" | Anything that you decided to saved under this value key | ### Return Type @@ -37,6 +77,12 @@ For now, only two return types are supported: - `int` - `str` + +If not specified, the value will be returned as it is saved. + +```{warning} +Keep in mind that environment and configuration variables are always saved as strings. +``` ## Edge Cases diff --git a/integration_tests/piggy_bank/contracts/esdt-minter/src/lib.rs b/integration_tests/piggy_bank/contracts/esdt-minter/src/lib.rs index 3f155b9..a3ea5b4 100644 --- a/integration_tests/piggy_bank/contracts/esdt-minter/src/lib.rs +++ b/integration_tests/piggy_bank/contracts/esdt-minter/src/lib.rs @@ -33,7 +33,7 @@ pub trait EsdtMinter: multiversx_sc_modules::default_issue_callbacks::DefaultIss // ################# init ################# #[init] fn init(&self, interest_percentage: u64) { - self.interest_percentage().set_if_empty(interest_percentage); + self.interest_percentage().set(interest_percentage); } // ################# endpoints ################# diff --git a/integration_tests/piggy_bank/mxops_scenes/user_exploit/02_piggy_bank_init.yaml b/integration_tests/piggy_bank/mxops_scenes/user_exploit/02_piggy_bank_init.yaml index 1cf7fdf..214a246 100644 --- a/integration_tests/piggy_bank/mxops_scenes/user_exploit/02_piggy_bank_init.yaml +++ b/integration_tests/piggy_bank/mxops_scenes/user_exploit/02_piggy_bank_init.yaml @@ -13,8 +13,8 @@ steps: contract_id: "abc-piggy-bank" gas_limit: 80000000 arguments: - - "%abc-esdt-minter%EsdtIdentifier" - - "%abc-esdt-minter%address" + - "%abc-esdt-minter.EsdtIdentifier" + - "%abc-esdt-minter.address" upgradeable: true readable: false payable: false @@ -26,4 +26,4 @@ steps: endpoint: addInterestAddress gas_limit: 5000000 arguments: - - "%abc-piggy-bank%address" + - "%abc-piggy-bank.address" diff --git a/integration_tests/piggy_bank/mxops_scenes/user_exploit/03_airdrop.yaml b/integration_tests/piggy_bank/mxops_scenes/user_exploit/03_airdrop.yaml index d526958..453a2be 100644 --- a/integration_tests/piggy_bank/mxops_scenes/user_exploit/03_airdrop.yaml +++ b/integration_tests/piggy_bank/mxops_scenes/user_exploit/03_airdrop.yaml @@ -28,7 +28,7 @@ steps: condition: exact include_gas_refund: false # optional, false by default expected_transfers: - - sender: "%abc-esdt-minter%address" + - sender: "%abc-esdt-minter.address" receiver: "[thomas]" - token_identifier: "%abc-esdt-minter%EsdtIdentifier" + token_identifier: "%abc-esdt-minter.EsdtIdentifier" amount: 100000 \ No newline at end of file diff --git a/integration_tests/piggy_bank/mxops_scenes/user_exploit/04_money_print.yaml b/integration_tests/piggy_bank/mxops_scenes/user_exploit/04_money_print.yaml index ff27e22..3487e50 100644 --- a/integration_tests/piggy_bank/mxops_scenes/user_exploit/04_money_print.yaml +++ b/integration_tests/piggy_bank/mxops_scenes/user_exploit/04_money_print.yaml @@ -16,7 +16,7 @@ steps: contract: "abc-piggy-bank" endpoint: deposit esdt_transfers: - - token_identifier: "%abc-esdt-minter%EsdtIdentifier" + - token_identifier: "%abc-esdt-minter.EsdtIdentifier" amount: "$CAPITAL_AMOUNT:int" nonce: 0 gas_limit: 8000000 diff --git a/integration_tests/piggy_bank/mxops_scenes/user_exploit/05_upgrade.yaml b/integration_tests/piggy_bank/mxops_scenes/user_exploit/05_upgrade.yaml new file mode 100644 index 0000000..0feba83 --- /dev/null +++ b/integration_tests/piggy_bank/mxops_scenes/user_exploit/05_upgrade.yaml @@ -0,0 +1,46 @@ +allowed_networks: + - localnet + - testnet + - devnet + +allowed_scenario: + - "integration_test_piggy_bank_user_exploit" + +steps: + - type: ContractUpgrade + sender: jean + wasm_path: "./integration_tests/piggy_bank/contracts/esdt-minter/output/esdt-minter.wasm" + contract: "abc-esdt-minter" + gas_limit: 50000000 + arguments: + - 200 + upgradeable: true + readable: false + payable: false + payable_by_sc: true + + - type: ContractCall + sender: thomas + contract: "abc-piggy-bank" + endpoint: deposit + esdt_transfers: + - token_identifier: "%abc-esdt-minter.EsdtIdentifier" + amount: 100000 + nonce: 0 + gas_limit: 8000000 + + - type: ContractCall + sender: thomas + contract: "abc-piggy-bank" + endpoint: withdraw + gas_limit: 8000000 + checks: + - type: Success + + - type: Transfers + condition: included + expected_transfers: + - sender: "%abc-piggy-bank.address" + receiver: "[thomas]" + token_identifier: "%abc-esdt-minter.EsdtIdentifier" + amount: 300000 diff --git a/integration_tests/setup_scenes/02_egld_distribution.yaml b/integration_tests/setup_scenes/02_egld_distribution.yaml index ac89c2d..6acf8e1 100644 --- a/integration_tests/setup_scenes/02_egld_distribution.yaml +++ b/integration_tests/setup_scenes/02_egld_distribution.yaml @@ -6,56 +6,9 @@ allowed_scenario: - "integration_test.*" steps: - - type: EgldTransfer - sender: emmanuel - receiver: françois - amount: 1000000000000000000 # 1 eGLD - check_success: true - - - type: EgldTransfer - sender: emmanuel - receiver: "[jacques]" # both syntax can be used in the receiver field - amount: 1000000000000000000 # 1 eGLD - check_success: true - - - type: EgldTransfer - sender: emmanuel - receiver: jean - amount: 1000000000000000000 # 1 eGLD - check_success: true - - - type: EgldTransfer - sender: emmanuel - receiver: marc - amount: 1000000000000000000 # 1 eGLD - check_success: true - - - type: EgldTransfer - sender: emmanuel - receiver: marie - amount: 1000000000000000000 # 1 eGLD - check_success: true - - - type: EgldTransfer - sender: emmanuel - receiver: marthe - amount: 1000000000000000000 # 1 eGLD - check_success: true - - - type: EgldTransfer - sender: emmanuel - receiver: paul - amount: 1000000000000000000 # 1 eGLD - check_success: true - - - type: EgldTransfer - sender: emmanuel - receiver: pierre - amount: 1000000000000000000 # 1 eGLD - check_success: true - - - type: EgldTransfer - sender: emmanuel - receiver: thomas - amount: 1000000000000000000 # 1 eGLD - check_success: true \ No newline at end of file + - type: Loop + var_name: RECEIVER + var_list: [françois, jacques, jean, marc, marie, marthe, paul, pierre, thomas] + steps: + - type: Scene + scene_path: ./integration_tests/setup_scenes/sub_scenes/send_egld.yaml diff --git a/integration_tests/setup_scenes/sub_scenes/send_egld.yaml b/integration_tests/setup_scenes/sub_scenes/send_egld.yaml new file mode 100644 index 0000000..48305df --- /dev/null +++ b/integration_tests/setup_scenes/sub_scenes/send_egld.yaml @@ -0,0 +1,12 @@ +allowed_networks: + - localnet + - devnet + +allowed_scenario: + - "integration_test.*" + +steps: + - type: EgldTransfer + sender: emmanuel + receiver: $RECEIVER + amount: 1000000000000000000 # 1 eGLD \ No newline at end of file diff --git a/integration_tests/token_management/mxops_scenes/01_fungible_token.yaml b/integration_tests/token_management/mxops_scenes/01_fungible_token.yaml index e1fad8f..9c92743 100644 --- a/integration_tests/token_management/mxops_scenes/01_fungible_token.yaml +++ b/integration_tests/token_management/mxops_scenes/01_fungible_token.yaml @@ -14,11 +14,19 @@ steps: num_decimals: 3 can_upgrade: true can_add_special_roles: true - + can_mint: true + can_burn: true + + - type: Python + module_path: ./integration_tests/token_management/scripts/checks.py + function: check_token_properties + arguments: + - "JeanToken" + - type: ManageFungibleTokenRoles sender: jean is_set: true - token_identifier: "%JeanToken%identifier" + token_identifier: "%JeanToken.identifier" target: "[jean]" roles: - ESDTRoleLocalMint @@ -26,6 +34,5 @@ steps: - type: FungibleMint sender: jean - token_identifier: "%JeanToken%identifier" + token_identifier: "%JeanToken.identifier" amount: 100000000 # 100,000.000 JTK - diff --git a/integration_tests/token_management/mxops_scenes/02_non_fungible_token.yaml b/integration_tests/token_management/mxops_scenes/02_non_fungible_token.yaml index 5b796ee..c6c825b 100644 --- a/integration_tests/token_management/mxops_scenes/02_non_fungible_token.yaml +++ b/integration_tests/token_management/mxops_scenes/02_non_fungible_token.yaml @@ -12,11 +12,21 @@ steps: token_ticker: MNFT can_upgrade: true can_transfer_nft_create_role: true + can_pause: true + can_wipe: true + can_freeze: true + can_add_special_roles: true + + - type: Python + module_path: ./integration_tests/token_management/scripts/checks.py + function: check_token_properties + arguments: + - "MarcNFT" - type: ManageNonFungibleTokenRoles sender: marc is_set: true - token_identifier: "%MarcNFT%identifier" + token_identifier: "%MarcNFT.identifier" target: "[marc]" roles: - ESDTRoleNFTCreate @@ -28,14 +38,14 @@ steps: - type: ManageNonFungibleTokenRoles sender: marc is_set: true - token_identifier: "%MarcNFT%identifier" + token_identifier: "%MarcNFT.identifier" target: "[marie]" roles: - ESDTTransferRole - type: NonFungibleMint sender: marc - token_identifier: "%MarcNFT%identifier" + token_identifier: "%MarcNFT.identifier" amount: 1 # can only be one for NFT name: "Beautiful NFT" royalties: 750 diff --git a/integration_tests/token_management/mxops_scenes/03_semi_fungible_token.yaml b/integration_tests/token_management/mxops_scenes/03_semi_fungible_token.yaml index 9da267c..4933fe3 100644 --- a/integration_tests/token_management/mxops_scenes/03_semi_fungible_token.yaml +++ b/integration_tests/token_management/mxops_scenes/03_semi_fungible_token.yaml @@ -10,13 +10,21 @@ steps: sender: marthe token_name: MartheSFT token_ticker: MSFT - can_upgrade: true can_transfer_nft_create_role: true + can_change_owner: true + can_upgrade: false + can_add_special_roles: true + + - type: Python + module_path: ./integration_tests/token_management/scripts/checks.py + function: check_token_properties + arguments: + - "MartheSFT" - type: ManageSemiFungibleTokenRoles sender: marthe is_set: true - token_identifier: "%MartheSFT%identifier" + token_identifier: "%MartheSFT.identifier" target: "[marthe]" roles: - ESDTRoleNFTCreate @@ -25,7 +33,7 @@ steps: - type: NonFungibleMint sender: marthe - token_identifier: "%MartheSFT%identifier" + token_identifier: "%MartheSFT.identifier" amount: 100000000 # 100,000 MSFT name: "Beautiful SFT" royalties: 750 diff --git a/integration_tests/token_management/mxops_scenes/04_meta_token.yaml b/integration_tests/token_management/mxops_scenes/04_meta_token.yaml index ff4b4cf..47ad72d 100644 --- a/integration_tests/token_management/mxops_scenes/04_meta_token.yaml +++ b/integration_tests/token_management/mxops_scenes/04_meta_token.yaml @@ -11,13 +11,18 @@ steps: token_name: ThomasMeta token_ticker: TMT num_decimals: 3 - can_upgrade: true - can_transfer_nft_create_role: true + can_add_special_roles: true + + - type: Python + module_path: ./integration_tests/token_management/scripts/checks.py + function: check_token_properties + arguments: + - "ThomasMeta" - type: ManageMetaTokenRoles sender: thomas is_set: true - token_identifier: "%ThomasMeta%identifier" + token_identifier: "%ThomasMeta.identifier" target: "[thomas]" roles: - ESDTRoleNFTCreate @@ -26,5 +31,5 @@ steps: - type: NonFungibleMint sender: thomas - token_identifier: "%ThomasMeta%identifier" + token_identifier: "%ThomasMeta.identifier" amount: 100000000 # 100,000.000 TMT diff --git a/integration_tests/token_management/mxops_scenes/05_transfers.yaml b/integration_tests/token_management/mxops_scenes/05_transfers.yaml index 2794181..4db3a5b 100644 --- a/integration_tests/token_management/mxops_scenes/05_transfers.yaml +++ b/integration_tests/token_management/mxops_scenes/05_transfers.yaml @@ -9,27 +9,27 @@ steps: - type: FungibleTransfer sender: jean receiver: marie - token_identifier: "%JeanToken%identifier" + token_identifier: "%JeanToken.identifier" amount: 100000 # 100.000 JTK - type: NonFungibleTransfer sender: marc receiver: marie - token_identifier: "%MarcNFT%identifier" + token_identifier: "%MarcNFT.identifier" amount: 1 # 1 MNFT nonce: 1 - type: NonFungibleTransfer sender: marthe receiver: marie - token_identifier: "%MartheSFT%identifier" + token_identifier: "%MartheSFT.identifier" amount: 100 # 100 MSFT nonce: 1 - type: NonFungibleTransfer sender: thomas receiver: marie - token_identifier: "%ThomasMeta%identifier" + token_identifier: "%ThomasMeta.identifier" amount: 1000 # 1.000 TMT nonce: 1 @@ -37,18 +37,18 @@ steps: sender: marie receiver: emmanuel transfers: - - token_identifier: "%JeanToken%identifier" + - token_identifier: "%JeanToken.identifier" nonce: 0 amount: 100000 # 100.000 JTK - - token_identifier: "%MarcNFT%identifier" + - token_identifier: "%MarcNFT.identifier" amount: 1 # 1 MNFT nonce: 1 - - token_identifier: "%MartheSFT%identifier" + - token_identifier: "%MartheSFT.identifier" amount: 100 # 100 MSFT nonce: 1 - - token_identifier: "%ThomasMeta%identifier" + - token_identifier: "%ThomasMeta.identifier" amount: 1000 # 1.000 TMT nonce: 1 \ No newline at end of file diff --git a/integration_tests/token_management/scripts/checks.py b/integration_tests/token_management/scripts/checks.py new file mode 100644 index 0000000..113ee81 --- /dev/null +++ b/integration_tests/token_management/scripts/checks.py @@ -0,0 +1,103 @@ +from typing import Dict, List + +from multiversx_sdk_network_providers.constants import ESDT_CONTRACT_ADDRESS +from multiversx_sdk_cli.contracts import QueryResult + +from mxops.data.execution_data import ScenarioData +from mxops.execution.steps import ContractQueryStep +from mxops.execution.utils import parse_query_result + + +EXPECTED_PROPERTIES = { + "JeanToken": { + "IsPaused": False, + "CanUpgrade": True, + "CanMint": True, + "CanBurn": True, + "CanChangeOwner": False, + "CanPause": False, + "CanFreeze": False, + "CanWipe": False, + "CanAddSpecialRoles": True, + "CanTransferNFTCreateRole": False, + "NFTCreateStopped": False, + }, + "MarcNFT": { + "IsPaused": False, + "CanUpgrade": True, + "CanMint": False, + "CanBurn": False, + "CanChangeOwner": False, + "CanPause": True, + "CanFreeze": True, + "CanWipe": True, + "CanAddSpecialRoles": True, + "CanTransferNFTCreateRole": True, + "NFTCreateStopped": False, + }, + "MartheSFT": { + "IsPaused": False, + "CanUpgrade": False, + "CanMint": False, + "CanBurn": False, + "CanChangeOwner": True, + "CanPause": False, + "CanFreeze": False, + "CanWipe": False, + "CanAddSpecialRoles": True, + "CanTransferNFTCreateRole": True, + "NFTCreateStopped": False, + }, + "ThomasMeta": { + "IsPaused": False, + "CanUpgrade": False, + "CanMint": False, + "CanBurn": False, + "CanChangeOwner": False, + "CanPause": False, + "CanFreeze": False, + "CanWipe": False, + "CanAddSpecialRoles": True, + "CanTransferNFTCreateRole": False, + "NFTCreateStopped": False, + }, +} + + +def get_token_properties(query_results: List[QueryResult]) -> Dict: + """ + Return the properties of a token, giventhe query results of + the endpoint getTokenProperties + + :param query_results: result of the endpoint getTokenProperties + :type query_results: List[QueryResult] + :return: properties of the token + :rtype: Dict + """ + properties = {} + for result in query_results[6:17]: + name, value = parse_query_result(result, "str").split("-") + if value not in ("true", "false"): + raise ValueError(f"properties {name} has a non-boolean value: {value}") + properties[name] = value == "true" + return properties + + +def check_token_properties(token_name: str): + """ + Given a token name, checks that it got the correct properties set + for the integration tests. + + :param token_name: name of the token + :type token_name: str + """ + scenario_data = ScenarioData.get() + token_identifier = scenario_data.get_token_value(token_name, "identifier") + + query_step = ContractQueryStep( + ESDT_CONTRACT_ADDRESS.bech32(), "getTokenProperties", [token_identifier] + ) + query_step.execute() + token_properties = get_token_properties(query_step.results) + if token_properties != EXPECTED_PROPERTIES[token_name]: + raise ValueError(f"Token properties are not as expected: {token_properties}") diff --git a/integration_tests/wrapping/mxops_scenes/02_wrap_unwrap.yaml b/integration_tests/wrapping/mxops_scenes/02_wrap_unwrap.yaml index 6e04216..f383784 100644 --- a/integration_tests/wrapping/mxops_scenes/02_wrap_unwrap.yaml +++ b/integration_tests/wrapping/mxops_scenes/02_wrap_unwrap.yaml @@ -30,12 +30,12 @@ steps: include_gas_refund: false # optional, false by default expected_transfers: - sender: "[marc]" - receiver: "%egld_wrapper_shard_2%address" + receiver: "%egld_wrapper_shard_2.address" token_identifier: EGLD amount: 10000 - - sender: "%egld_wrapper_shard_2%address" + - sender: "%egld_wrapper_shard_2.address" receiver: "[marc]" - token_identifier: "%egld_wrapper_shard_2%WrappedTokenIdentifier" + token_identifier: "%egld_wrapper_shard_2.WrappedTokenIdentifier" amount: 10000 - type: ContractCall @@ -44,7 +44,7 @@ steps: endpoint: unwrapEgld gas_limit: 3000000 esdt_transfers: - - token_identifier: "%egld_wrapper_shard_2%WrappedTokenIdentifier" + - token_identifier: "%egld_wrapper_shard_2.WrappedTokenIdentifier" amount: 10000 nonce: 0 checks: @@ -55,10 +55,10 @@ steps: include_gas_refund: false # optional, false by default expected_transfers: - sender: "[marc]" - receiver: "%egld_wrapper_shard_2%address" - token_identifier: "%egld_wrapper_shard_2%WrappedTokenIdentifier" + receiver: "%egld_wrapper_shard_2.address" + token_identifier: "%egld_wrapper_shard_2.WrappedTokenIdentifier" amount: 10000 - - sender: "%egld_wrapper_shard_2%address" + - sender: "%egld_wrapper_shard_2.address" receiver: "[marc]" token_identifier: EGLD amount: 10000 \ No newline at end of file diff --git a/mxops/__init__.py b/mxops/__init__.py index ad7ec55..53a37d0 100644 --- a/mxops/__init__.py +++ b/mxops/__init__.py @@ -1,5 +1,6 @@ """ author: Etienne Wallet -This package is used to automate MultiversX smart contracts deployments and interactions in general +This package is used to automate MultiversX smart contracts deployments and +interactions in general """ diff --git a/mxops/__main__.py b/mxops/__main__.py index 580d2cd..b5fd002 100644 --- a/mxops/__main__.py +++ b/mxops/__main__.py @@ -5,9 +5,11 @@ """ from argparse import Namespace, RawDescriptionHelpFormatter import argparse -from importlib import resources -import pkg_resources +from importlib import metadata +from importlib_resources import files + +from mxops.analyze import cli as analyze_cli from mxops.config import cli as config_cli from mxops.data import cli as data_cli from mxops.execution import cli as execution_cli @@ -20,40 +22,44 @@ def parse_args() -> Namespace: :return: result of the user inputs parsing :rtype: Namespace """ - parser = argparse.ArgumentParser( - formatter_class=RawDescriptionHelpFormatter) + parser = argparse.ArgumentParser(formatter_class=RawDescriptionHelpFormatter) - description = resources.read_text('mxops.resources', 'parser_help.txt') - subparsers_action = parser.add_subparsers( - description=description, - dest='command') + description = files("mxops.resources").joinpath("parser_help.txt").read_text() + subparsers_action = parser.add_subparsers(description=description, dest="command") config_cli.add_subparser(subparsers_action) data_cli.add_subparser(subparsers_action) execution_cli.add_subparser(subparsers_action) + analyze_cli.add_subparser(subparsers_action) - subparsers_action.add_parser('version') + subparsers_action.add_parser("version") return parser.parse_args() def main(): """ - Main function of the package, responsible of running the highest level logic execution. - It will use the arguments provided by the user to execute the intendend functions. + Main function of the package, responsible of running the highest level logic + execution. It will use the arguments provided by the user to execute the + intendend functions. """ args = parse_args() - print("MxOps Copyright (C) 2023 Catenscia\nThis program comes with ABSOLUTELY NO WARRANTY") + print( + "MxOps Copyright (C) 2023 Catenscia", + "\nThis program comes with ABSOLUTELY NO WARRANTY", + ) - if args.command == 'config': + if args.command == "config": config_cli.execute_cli(args) - elif args.command == 'data': + elif args.command == "data": data_cli.execute_cli(args) - elif args.command == 'execute': + elif args.command == "execute": execution_cli.execute_cli(args) - elif args.command == 'version': - print(pkg_resources.get_distribution('mxops').version) + elif args.command == "analyze": + analyze_cli.execute_cli(args) + elif args.command == "version": + print(metadata.version("mxops")) if __name__ == "__main__": diff --git a/mxops/analyze/__init__.py b/mxops/analyze/__init__.py new file mode 100644 index 0000000..233a6a9 --- /dev/null +++ b/mxops/analyze/__init__.py @@ -0,0 +1,5 @@ +""" +author: Etienne Wallet + +This subpackage is used to record the parameters / attributes of the deployed contracts +""" diff --git a/mxops/analyze/agglomerate.py b/mxops/analyze/agglomerate.py new file mode 100644 index 0000000..47f5b4b --- /dev/null +++ b/mxops/analyze/agglomerate.py @@ -0,0 +1,123 @@ +""" +author: Etienne Wallet + +This module format transactions data in a usable manner for the plots +""" +from datetime import datetime, timezone +from typing import Dict + +import pandas as pd + +from mxops.data.analyze_data import TransactionsData +from mxops.utils.logger import get_logger + + +LOGGER = get_logger("agglomerate") + + +def extrat_df_raw_row(raw_tx: Dict) -> Dict: + """ + From a raw transaction, select and transfrom the data that will be + included in the transaction dataframe + + :param raw_tx: raw tranasction as received from the api + :type raw_tx: Dict + :return: extracted data + :rtype: Dict + """ + # For now only basic selection but complexe extraction will be done here + # in future version + tx_data = { + "txHash": raw_tx["txHash"], + "gasLimit": raw_tx["gasLimit"], + "gasUsed": raw_tx["gasUsed"], + "sender": raw_tx["sender"], + "status": raw_tx["status"], + "fee": int(raw_tx["fee"]), + "datetime": datetime.fromtimestamp(raw_tx["timestamp"], tz=timezone.utc), + "function": raw_tx["function"], + } + return tx_data + + +def get_transactions_df(transactions_data: TransactionsData) -> pd.DataFrame: + """ + Create a dataframe from the transactions data + + :param transactions_data: transactions data for a contract + :type transactions_data: TransactionsData + :return: dataframe of the transaction + :rtype: pd.DataFrame + """ + txs_data = [] + for raw_tx in transactions_data.raw_transactions.values(): + try: + txs_data.append(extrat_df_raw_row(raw_tx)) + except Exception as err: + LOGGER.warning(f"A raw transaction could not be processed: {raw_tx}: {err}") + df = pd.DataFrame(txs_data) + df["date"] = df["datetime"].dt.date + return df + + +def get_status_per_day_df(txs_df: pd.DataFrame) -> pd.DataFrame: + """ + Transform the transactions dataframe to aggregate the transactions + status per day + + :param txs_df: dataframe with all the transactions + :type txs_df: pd.DataFrame + :return: transactions status aggregated per day + :rtype: pd.DataFrame + """ + # Counting each status type per day + status_per_day_df = txs_df.pivot_table( + index="date", columns="status", aggfunc="size", fill_value=0 + ) + + for expected_col in ["success", "fail"]: + if expected_col not in status_per_day_df.columns: + status_per_day_df[expected_col] = 0 + + # sorting columns + status_per_day_df = status_per_day_df[sorted(status_per_day_df.columns)] + + # Adding total column + status_per_day_df["total"] = status_per_day_df.sum(axis=1) + return status_per_day_df + + +def get_function_per_day_df(txs_df: pd.DataFrame) -> pd.DataFrame: + """ + Transform the transactions dataframe to aggregate the transactions + function per day + + :param txs_df: dataframe with all the transactions + :type txs_df: pd.DataFrame + :return: transactions function aggregated per day + :rtype: pd.DataFrame + """ + # Counting each status type per day + function_per_day_df = txs_df.pivot_table( + index="date", columns="function", aggfunc="size", fill_value=0 + ) + + # sorting columns + function_per_day_df = function_per_day_df[sorted(function_per_day_df.columns)] + + # Adding total column + function_per_day_df["total"] = function_per_day_df.sum(axis=1) + return function_per_day_df + + +def get_unique_users_per_day_df(txs_df: pd.DataFrame) -> pd.DataFrame: + """ + Transform the transactions dataframe to aggregate the unique users + per day + + :param txs_df: dataframe with all the transactions + :type txs_df: pd.DataFrame + :return: transactions function aggregated per day + :rtype: pd.DataFrame + """ + return txs_df.groupby("date")["sender"].nunique().reset_index() diff --git a/mxops/analyze/cli.py b/mxops/analyze/cli.py new file mode 100644 index 0000000..9a53242 --- /dev/null +++ b/mxops/analyze/cli.py @@ -0,0 +1,167 @@ +""" +author: Etienne Wallet + +This module contains the cli for the analyze subpackage +""" +from argparse import ( + _SubParsersAction, + ArgumentError, + ArgumentParser, + Namespace, +) +import os + +from multiversx_sdk_core import Address +from mxops.analyze import plots +from mxops.analyze.fetching import update_transactions_data + +from mxops.data import path +from mxops.config.config import Config +from mxops.data.analyze_data import TransactionsData +from mxops.data.execution_data import ScenarioData +from mxops.enums import parse_network_enum +from mxops.execution.utils import get_address_instance +from mxops.utils.logger import get_logger + + +LOGGER = get_logger("analyze cli") + + +def add_subparser(subparsers_action: _SubParsersAction): + """ + Add the analyze subparser to a parser + + :param subparsers_action: subparsers interface for the parent parser + :type subparsers_action: _SubParsersAction[ArgumentParser] + """ + analyze_parser: ArgumentParser = subparsers_action.add_parser("analyze") + + # create sub parser for analyze cli + analyze_subparsers_actions = analyze_parser.add_subparsers( + dest="analyze_command", + ) + + # add update-tx command + update_parser = analyze_subparsers_actions.add_parser("update-tx") + + update_parser.add_argument( + "-n", + "--network", + help="Name of the network to use", + type=parse_network_enum, + required=True, + ) + + update_parser.add_argument( + "-c", + "--contract", + help="Bech32 address or contract name if a Scenario is provided", + required=True, + ) + + update_parser.add_argument( + "-s", + "--scenario", + help="Name of the scenario that contains the provided contract", + ) + + # add plot command + plot_parser = analyze_subparsers_actions.add_parser("plots") + + plot_parser.add_argument( + "-n", + "--network", + help="Name of the network to use", + type=parse_network_enum, + required=True, + ) + + plot_parser.add_argument( + "-c", + "--contract", + help="Bech32 address or contract name if a Scenario is provided", + required=True, + ) + + plot_parser.add_argument( + "-s", + "--scenario", + help="Name of the scenario that contains the provided contract", + ) + + plot_parser.add_argument( + "plots", + nargs="+", + type=str, + help="Plots to create", + ) + + # add list command + analyze_subparsers_actions.add_parser("list-plot") + + +def get_bech32_address(contract: str, scenario: str | None = None) -> str: + """ + Parse the scenario and contract argument to retrieve the contract address + + :param contract: name of bech32 address of the contract + :type contract: str + :param scenario: sceneario name, defaults to None + :type scenario: str | None, optional + :return: bech32 address + :rtype: str + """ + if scenario: + ScenarioData.load_scenario(scenario) + bech32_address = get_address_instance(contract) + else: + bech32_address = contract + return Address.from_bech32(bech32_address).bech32() + + +# pylint: disable=R0912 +def execute_cli(args: Namespace): + """ + Execute the analyze cli by following the given parsed arguments + + :param args: parsed arguments + :type args: Namespace + """ + if args.command != "analyze": + raise ValueError(f"Command analyze was expected, found {args.command}") + path.initialize_data_folder() + + sub_command = args.analyze_command + + if sub_command == "update-tx": + Config.set_network(args.network) + bech32_address = get_bech32_address(args.contract, args.scenario) + try: + txs_data = TransactionsData.load_from_file(bech32_address) + except FileNotFoundError: + txs_data = TransactionsData(bech32_address) + update_transactions_data(txs_data) + elif sub_command == "plots": + try: + os.makedirs("./mxops_analyzes") + except FileExistsError: + pass + Config.set_network(args.network) + bech32_address = get_bech32_address(args.contract, args.scenario) + txs_data = TransactionsData.load_from_file(bech32_address) + for plot in args.plots: + LOGGER.info(f"Plotting {plot}") + func_name = f"get_{plot}_fig" + func = getattr(plots, func_name) + fig = func(txs_data) + fig.savefig( + f"./mxops_analyzes/{bech32_address}_{plot}.png", + dpi=300, + bbox_inches="tight", + ) + elif sub_command == "list-plot": + print("available plots:") + for name in sorted(plots.get_all_plots()): + print(name) + else: + raise ArgumentError(None, f"Unkown command: {args.command}") diff --git a/mxops/analyze/fetching.py b/mxops/analyze/fetching.py new file mode 100644 index 0000000..45dafad --- /dev/null +++ b/mxops/analyze/fetching.py @@ -0,0 +1,73 @@ +""" +author: Etienne Wallet + +This module handles the data fetching from the network +""" +from datetime import datetime, timezone +from tqdm import tqdm + +from multiversx_sdk_network_providers import GenericError, ApiNetworkProvider + +from mxops.config.config import Config +from mxops.data.analyze_data import TransactionsData +from mxops.utils.logger import get_logger +from mxops.utils.msc import RateThrottler + +LOGGER = get_logger("fetching") + + +def update_transactions_data(txs_data: TransactionsData): + """ + Update the transactions data for a contract. + The data is not saved on the drive in this function + + :param txs_data: data to update + :type txs_data: TransactionsData + """ + config = Config.get_config() + LOGGER.info( + f"Updating transactions for {txs_data.contract_beh32_address} " + f"on {config.get_network().value}" + ) + pbar = tqdm(desc="Fetching data") + throttler = RateThrottler(int(config.get("API_RATE_LIMIT")), 1) + api_provider = ApiNetworkProvider(config.get("API")) + while True: + resource_url = ( + f"accounts/{txs_data.contract_beh32_address}/transactions?" + f"size=50&from={txs_data.transactions_offset}&after=" + f"{txs_data.transactions_offset_origin}&order=asc&" + "withScResults=true" + ) + error_count = 0 + raw_txs = None + while raw_txs is None: + try: + throttler.tick() + raw_txs = api_provider.do_get_generic_collection(resource_url) + except GenericError as err: + error_count += 1 + if error_count >= 3: + raise err + + if len(raw_txs) == 0: + pbar.set_description("all transactions have been fetched") + pbar.close() + txs_data.save() + return + + txs_data.add_transactions(raw_txs) + + most_recent_tx = sorted(raw_txs, key=lambda x: x["timestamp"], reverse=True)[0] + most_recent_timestamp = most_recent_tx["timestamp"] + datetime_str = datetime.fromtimestamp( + most_recent_timestamp, tz=timezone.utc + ).isoformat() + pbar.set_description("Transaction fetched up until " f"{datetime_str}") + pbar.update(len(raw_txs)) + txs_data.transactions_offset += len(raw_txs) + + if txs_data.transactions_offset > 2500: + txs_data.transactions_offset = 0 + txs_data.transactions_offset_origin = most_recent_timestamp - 1 + txs_data.save() diff --git a/mxops/analyze/plots.py b/mxops/analyze/plots.py new file mode 100644 index 0000000..80b3395 --- /dev/null +++ b/mxops/analyze/plots.py @@ -0,0 +1,227 @@ +""" +author: Etienne Wallet + +This module handlesthe plots to create and save +""" +import sys +import textwrap +from typing import Dict, List +from importlib_resources import files + +from matplotlib import pyplot as plt +from matplotlib.axes import Axes +import matplotlib.image as mpimg + +import seaborn as sns + +from mxops.data.analyze_data import TransactionsData +from mxops.analyze import agglomerate + + +def get_all_plots() -> List[str]: + """ + Return all the plots names of this module + + :return: plot names + :rtype: List[str] + """ + results = [] + for func_name in dir(sys.modules[__name__]): + if func_name.startswith("get_") and func_name.endswith("_fig"): + results.append(func_name[4:-4]) + return results + + +def limit_string_length(string: str, max_length: int = 30) -> str: + """ + Restrict a string length to a fixed threshold and replace excess + characters with '...' in the middle + + :param string: string to restrict + :type string: str + :param max_length: max length, defaults to 30 + :type max_length: int, optional + :return: _description_ + :rtype: str + """ + if len(string) <= max_length: + return string + + # If the label is longer than the maximum length, truncate it + # and insert '...' in the middle + half_max = max_length // 2 # Floor division to get an integer result + return string[: half_max - 2] + "..." + string[-half_max + 1 :] + + +def get_colors(categories: List, assigned_colors: Dict | None = None) -> List: + """ + Generated the list of colors to use for a plot + + :param categories: categories that will be plotted + :type categories: List + :param assigned_colors: if some colors has been already assigned to some categories + (specified with index), defaults to None + :type assigned_colors: Dict | None, optional + :return: colors to plot + :rtype: List + """ + color_to_generated = len(categories) + if assigned_colors is None: + assigned_colors = {} + else: + color_to_generated = max(color_to_generated, max(assigned_colors.values()) + 1) + generated_colors = sns.color_palette("bright", color_to_generated) + colors = generated_colors[: len(categories)] + for cat, color_index in assigned_colors.items(): + i_cat = categories.index(cat) + color = generated_colors[color_index] + # look if the color has already been assigned + try: + i_color = colors.index(color) + except ValueError: + i_color = None + if i_color is None: + colors[i_cat] = color + else: # swap the colors + colors[i_cat], colors[i_color] = color, colors[i_cat] + return colors + + +def set_ax_settings(ax: Axes, title: str): + """ + Set the parameters for the ax + + :param ax: ax to set + :type ax: Axes + :param title: title to set + :type title: str + """ + wrapped_title = textwrap.fill( + title, + width=80, + ) + ax.set_title( + wrapped_title, + fontsize=18, + fontweight="bold", + color="white", + ) + ax.grid(True, which="both", linestyle="--", linewidth=0.5, alpha=0.6) + ax.set_facecolor("#1E1E1E") + ax.spines["top"].set_visible(False) + ax.spines["right"].set_visible(False) + ax.spines["bottom"].set_color("gray") + ax.spines["left"].set_color("gray") + ax.tick_params(colors="gray") + ax.tick_params(axis="x", rotation=45) + ax.legend(frameon=False, fontsize=10, loc="upper left") + plt.tight_layout() + + # add logo + logo_path = files("mxops.resources").joinpath("mxops_logo.png") + logo = mpimg.imread(logo_path) + # Define the extent for positioning. This is just an example; adjust as needed. + # Format: [x_start, x_end, y_start, y_end] + extent = [*ax.get_xlim(), *ax.get_ylim()] + ax.imshow(logo, aspect="auto", extent=extent, alpha=0.25, zorder=0) + + +def get_transactions_status_per_day_fig(txs_data: TransactionsData) -> plt.Figure: + """ + Format the transactions data and create the plot of the transactions status per day + + :param txs_data: transactions data + :type txs_data: TransactionsData + :return: plot created + :rtype: plt.Figure + """ + txs_df = agglomerate.get_transactions_df(txs_data) + status_df = agglomerate.get_status_per_day_df(txs_df) + + plt.style.use("dark_background") + colors = get_colors(list(status_df.columns), {"success": 2, "fail": 3, "total": 0}) + + # ensure success is green, fail is + fig, ax = plt.subplots(figsize=(12, 7)) + line_styles = ["-"] * (len(status_df.columns) - 1) + ["--"] + title = "Transactions Status per Day" + + for idx, column in enumerate(status_df.columns): + ax.plot( + status_df.index, + status_df[column], + marker="o", + label=column, + color=colors[idx], + linewidth=2.5, + linestyle=line_styles[idx], + alpha=0.8, + ) + set_ax_settings(ax, title) + return fig + + +def get_functions_per_day_fig(txs_data: TransactionsData) -> plt.Figure: + """ + Format the transactions data and create the plot of the transactions + function per day + + :param txs_data: transactions data + :type txs_data: TransactionsData + :return: plot created + :rtype: plt.Figure + """ + txs_df = agglomerate.get_transactions_df(txs_data) + functions_df = agglomerate.get_function_per_day_df(txs_df) + + plt.style.use("dark_background") + colors = get_colors(list(functions_df.columns)) + + fig, ax = plt.subplots(figsize=(12, 7)) + line_styles = ["-"] * (len(functions_df.columns) - 1) + ["--"] + title = "Transactions Functions per Day" + + for idx, column in enumerate(functions_df.columns): + ax.plot( + functions_df.index, + functions_df[column], + marker="o", + label=limit_string_length(column), + color=colors[idx], + linewidth=2.5, + linestyle=line_styles[idx], + alpha=0.8, + ) + set_ax_settings(ax, title) + return fig + + +def get_unique_users_per_day_fig(txs_data: TransactionsData) -> plt.Figure: + """ + Format the transactions data and create the plot of the unique users per day + + :param txs_data: transactions data + :type txs_data: TransactionsData + :return: plot created + :rtype: plt.Figure + """ + txs_df = agglomerate.get_transactions_df(txs_data) + unique_users_df = agglomerate.get_unique_users_per_day_df(txs_df) + + plt.style.use("dark_background") + + color = get_colors([""])[0] + fig, ax = plt.subplots(figsize=(12, 7)) + title = "Unique Users per Day" + ax.plot( + unique_users_df["date"], + unique_users_df["sender"], + marker="o", + label="count", + color=color, + linewidth=2.5, + linestyle="-", + alpha=0.8, + ) + set_ax_settings(ax, title) + return fig diff --git a/mxops/config/cli.py b/mxops/config/cli.py index 728bca4..844cf1b 100644 --- a/mxops/config/cli.py +++ b/mxops/config/cli.py @@ -17,32 +17,41 @@ def add_subparser(subparsers_action: _SubParsersAction): :param subparsers_action: subparsers interface for the parent parser :type subparsers_action: _SubParsersAction[ArgumentParser] """ - config_parser = subparsers_action.add_parser('config', - formatter_class=RawDescriptionHelpFormatter, - ) - - config_parser.add_argument('-n', - '--network', - help='Name of the network to use', - type=parse_network_enum) - - config_parser.add_argument('-o', - '--options', - action='store_true', - help=('list of options in the config for the ' - 'specified network')) - - config_parser.add_argument('-v', - '--values', - action='store_true', - help=('list of options and their values in the' - ' config for the specified network')) - - config_parser.add_argument('-d', - '--dump-default', - action='store_true', - help=('take the default config and dump it in ' - 'the working directory as mxops_config.ini')) + config_parser = subparsers_action.add_parser( + "config", + formatter_class=RawDescriptionHelpFormatter, + ) + + config_parser.add_argument( + "-n", "--network", help="Name of the network to use", type=parse_network_enum + ) + + config_parser.add_argument( + "-o", + "--options", + action="store_true", + help=("list of options in the config for the " "specified network"), + ) + + config_parser.add_argument( + "-v", + "--values", + action="store_true", + help=( + "list of options and their values in the" + " config for the specified network" + ), + ) + + config_parser.add_argument( + "-d", + "--dump-default", + action="store_true", + help=( + "take the default config and dump it in " + "the working directory as mxops_config.ini" + ), + ) def execute_cli(args: Namespace): @@ -52,8 +61,8 @@ def execute_cli(args: Namespace): :param args: parsed arguments :type args: Namespace """ - if args.command != 'config': - raise ValueError(f'Command config was expected, found {args.command}') + if args.command != "config": + raise ValueError(f"Command config was expected, found {args.command}") if args.dump_default: dump_default_config() diff --git a/mxops/config/config.py b/mxops/config/config.py index 03b73a3..ed406c4 100644 --- a/mxops/config/config.py +++ b/mxops/config/config.py @@ -4,11 +4,12 @@ This module contains utils functions related to path navigation """ from configparser import ConfigParser -from importlib import resources import os from pathlib import Path from typing import Dict, List, Optional +from importlib_resources import files + from mxops.enums import NetworkEnum @@ -30,11 +31,11 @@ def __init__(self, network: NetworkEnum, config_path: Optional[Path] = None): self.__config = ConfigParser() if config_path is not None: - with open(config_path.as_posix(), 'r', encoding='utf-8') as config_file: + with open(config_path.as_posix(), "r", encoding="utf-8") as config_file: self.__config.read_file(config_file) else: - with resources.open_text('mxops.resources', 'default_config.ini') as config_file: - self.__config.read_file(config_file) + default_config = files("mxops.resources").joinpath("default_config.ini") + self.__config.read_string(default_config.read_text()) def get_network(self) -> NetworkEnum: """ @@ -91,6 +92,7 @@ class Config: """ Singleton class that serves the _Config class """ + __instance: Optional[_Config] = None __network: NetworkEnum = NetworkEnum.LOCAL @@ -116,18 +118,17 @@ def find_config_path() -> Optional[Path]: """ # first check if a config is specified by env var try: - path = os.environ['MXOPS_CONFIG'] + path = os.environ["MXOPS_CONFIG"] except KeyError: path = None if path is not None: if os.path.exists(path): return path - raise ValueError(('MXOPS_CONFIG env var does not direct' - ' to an existing path')) + raise ValueError("MXOPS_CONFIG env var does not direct to an existing path") # then check if a config file is present in the working directory - path = Path('./mxops_config.ini') + path = Path("./mxops_config.ini") if os.path.exists(path): return path @@ -154,14 +155,12 @@ def dump_default_config(): """ Take the default config and dump it in the working directory as mxops_config.ini """ - dump_path = Path('./mxops_config.ini') + dump_path = Path("./mxops_config.ini") if os.path.exists(dump_path.as_posix()): - raise RuntimeError(('A config file already exists' - ' in the working directory')) + raise RuntimeError("A config file already exists in the working directory") - default_content = resources.read_text('mxops.resources', - 'default_config.ini') + default_config = files("mxops.resources").joinpath("default_config.ini") - with open(dump_path.as_posix(), 'w+', encoding='utf-8') as dump_file: - dump_file.write(default_content) - print(f'Copy of the default config dumped at {dump_path.absolute()}') + with open(dump_path.as_posix(), "w+", encoding="utf-8") as dump_file: + dump_file.write(default_config.read_text()) + print(f"Copy of the default config dumped at {dump_path.absolute()}") diff --git a/mxops/data/__init__.py b/mxops/data/__init__.py index 233a6a9..d625333 100644 --- a/mxops/data/__init__.py +++ b/mxops/data/__init__.py @@ -1,5 +1,5 @@ """ author: Etienne Wallet -This subpackage is used to record the parameters / attributes of the deployed contracts +This subpackage is used to host the logic for analysing on-chain contracts """ diff --git a/mxops/data/analyze_data.py b/mxops/data/analyze_data.py new file mode 100644 index 0000000..65c0ce1 --- /dev/null +++ b/mxops/data/analyze_data.py @@ -0,0 +1,70 @@ +""" +author: Etienne Wallet + +This module contains the functions to load, write and update transaction data +""" +from __future__ import annotations +from dataclasses import dataclass, field +import json +from typing import Dict + +from mxops.data.path import get_tx_file_path +from mxops.utils.logger import get_logger + +LOGGER = get_logger("analyze_data") + + +@dataclass +class TransactionsData: + """ + This class represents the save format for the transactions of a contract + """ + + contract_beh32_address: str + raw_transactions: Dict = field(default_factory=dict) # transactions saved by hash + transactions_offset: int = 0 # offset to fetch transactions used for the queries + transactions_offset_origin: int = 0 # timestamp used as start time for the queries + + def save(self): + """ + Save this scenario data where it belongs. + Overwrite any existing file. Will save a checkpoint if provided + + :param checkpoint: contract id or token name that hosts the value + :type checkpoint: str + """ + file_path = get_tx_file_path(self.contract_beh32_address) + with open(file_path.as_posix(), "w", encoding="utf-8") as file: + json.dump(self.__dict__, file) + + def add_transactions(self, new_raw_transactions: Dict): + """ + Add new transactions to the data + + :param new_raw_transactions: transactions to add + :type new_raw_transactions: Dict + """ + for raw_transaction in new_raw_transactions: + try: + tx_hash = raw_transaction["txHash"] + except KeyError: + LOGGER.warning( + f"Fetched raw transaction has no hash: {raw_transaction}" + ) + continue + self.raw_transactions[tx_hash] = raw_transaction + + @staticmethod + def load_from_file(contract_beh32_address: str) -> TransactionsData: + """ + Load the existing transaction data of a contract + + :param contract_beh32_address: address of the contract to load + :type contract_beh32_address: str + :return: loaded data + :rtype: TransactionsData + """ + file_path = get_tx_file_path(contract_beh32_address) + with open(file_path.as_posix(), "r", encoding="utf-8") as file: + raw_data = json.load(file) + return TransactionsData(**raw_data) diff --git a/mxops/data/cli.py b/mxops/data/cli.py index 8c99d9c..fa82806 100644 --- a/mxops/data/cli.py +++ b/mxops/data/cli.py @@ -3,14 +3,27 @@ This module contains the cli for the data subpackage """ -from argparse import _SubParsersAction, ArgumentError, Namespace, RawDescriptionHelpFormatter -from importlib import resources +from argparse import ( + _SubParsersAction, + ArgumentError, + ArgumentParser, + Namespace, + RawDescriptionHelpFormatter, +) +import argparse import json +from typing import Literal + +from importlib_resources import files from mxops.data import path from mxops.config.config import Config -from mxops.data.data import ScenarioData, delete_scenario_data +from mxops.data.execution_data import ScenarioData, delete_scenario_data from mxops.enums import parse_network_enum +from mxops.utils.logger import get_logger + + +LOGGER = get_logger("data cli") def add_subparser(subparsers_action: _SubParsersAction): @@ -20,61 +33,133 @@ def add_subparser(subparsers_action: _SubParsersAction): :param subparsers_action: subparsers interface for the parent parser :type subparsers_action: _SubParsersAction[ArgumentParser] """ - data_parser = subparsers_action.add_parser('data', - formatter_class=RawDescriptionHelpFormatter) + data_parser: ArgumentParser = subparsers_action.add_parser( + "data", formatter_class=RawDescriptionHelpFormatter + ) # create sub parser for data cli + description = files("mxops.resources").joinpath("data_parser_help.txt") data_subparsers_actions = data_parser.add_subparsers( - description=resources.read_text('mxops.resources', - 'data_parser_help.txt'), - dest='data_command') + description=description.read_text(), + dest="data_command", + ) # add get command - get_parser = data_subparsers_actions.add_parser('get') - - get_parser.add_argument('-n', - '--network', - help='Name of the network to use', - type=parse_network_enum, - required=True) - - get_parser.add_argument('-p', - '--path', - action='store_true', - help='Display the root path for the user data') - - get_parser.add_argument('-l', - '--list', - action='store_true', - help=('Display the names of all scenarios saved' - ' for the specified network')) - - get_parser.add_argument('-s', - '--scenario', - help='Name of the scenario of which to display the content') + get_parser = data_subparsers_actions.add_parser("get") + + get_parser.add_argument( + "-n", + "--network", + help="Name of the network to use", + type=parse_network_enum, + required=True, + ) + + get_parser.add_argument( + "-p", + "--path", + action="store_true", + help="Display the root path for the user data", + ) + + get_parser.add_argument( + "-l", + "--list", + action="store_true", + help="Display the names of all scenarios saved" " for the specified network", + ) + + get_parser.add_argument( + "-s", "--scenario", help="Name of the scenario of which to display the content" + ) + + get_parser.add_argument( + "-c", + "--checkpoint", + default="", + help=( + "Name of the checkpoint of the scenario to inspect," + "default leads to current data" + ), + ) # add delete command - delete_parser = data_subparsers_actions.add_parser('delete') - - delete_parser.add_argument('-n', - '--network', - help='Name of the network to use', - type=parse_network_enum, - required=True) - - delete_parser.add_argument('-s', - '--scenario', - help='Name of the scenario for the data deletion') - - delete_parser.add_argument('-a', - '--all', - action='store_true', - help='Delete all scenarios saved for the specified network') + delete_parser = data_subparsers_actions.add_parser("delete") + + delete_parser.add_argument( + "-n", + "--network", + help="Name of the network to use", + type=parse_network_enum, + required=True, + ) + + delete_parser.add_argument( + "-s", "--scenario", help="Name of the scenario for the data deletion" + ) + + delete_parser.add_argument( + "-c", + "--checkpoint", + default="", + help=( + "Name of the checkpoint of the scenario to delete," + "default will delete all checkpoints and current scenario data" + ), + ) + + delete_parser.add_argument( + "-a", + "--all", + action="store_true", + help="Delete all scenarios saved for the specified network", + ) + + delete_parser.add_argument( + "-y", "--yes", action="store_true", help="Skip confirmation step" + ) + + # add a checkpoint command + checkpoint_parser = data_subparsers_actions.add_parser("checkpoint") + checkpoint_parser.add_argument( + "-n", + "--network", + help="Name of the network to use", + type=parse_network_enum, + required=True, + ) + + checkpoint_parser.add_argument( + "-s", "--scenario", help="Name of the scenario for the checkpoint" + ) + + checkpoint_parser.add_argument( + "-c", + "--checkpoint", + required=True, + help="Name of the checkpoint of the scenario to create/load/delete", + ) + + checkpoint_parser.add_argument( + "-a", + "--action", + type=valid_checkpoint_action, + help="Name of the checkpoint of the scenario to create/load/delete", + ) + + +def valid_checkpoint_action(action: str) -> Literal["create", "load", "delete"]: + """ + validate the action value for the checkpoint subparser - delete_parser.add_argument('-y', - '--yes', - action='store_true', - help='Skip confirmation step') + :rtype: the loaded action + """ + if action not in ["create", "load", "delete"]: + raise argparse.ArgumentTypeError( + f"Invalid action type: {action}. " + "Valid actions are 'create', 'load', 'delete'" + ) + return action def execute_cli(args: Namespace): # pylint: disable=R0912 @@ -84,37 +169,53 @@ def execute_cli(args: Namespace): # pylint: disable=R0912 :param args: parsed arguments :type args: Namespace """ - if args.command != 'data': - raise ValueError(f'Command data was expected, found {args.command}') + if args.command != "data": + raise ValueError(f"Command data was expected, found {args.command}") path.initialize_data_folder() Config.set_network(args.network) sub_command = args.data_command - if sub_command == 'get': + if sub_command == "get": if args.scenario: - ScenarioData.load_scenario(args.scenario) + ScenarioData.load_scenario(args.scenario, args.checkpoint) print(json.dumps(ScenarioData.get().to_dict(), indent=4)) elif args.list: scenarios_names = path.get_all_scenarios_names() - data = {'names': sorted(scenarios_names)} + data = {"names": sorted(scenarios_names)} print(json.dumps(data, indent=4)) elif args.path: - print(f'Root data path: {path.get_data_path()}') + print(f"Root data path: {path.get_data_path()}") else: - raise ArgumentError(None, 'This set of options is not valid') - elif sub_command == 'delete': + raise ArgumentError(None, "This set of options is not valid") + elif sub_command == "delete": if args.scenario: - delete_scenario_data(args.scenario, not args.yes) + delete_scenario_data(args.scenario, args.checkpoint, not args.yes) elif args.all: scenarios_names = path.get_all_scenarios_names() - message = 'Confirm deletion of all scenario. (y/n)' - if not args.yes or input(message).lower() not in ('y', 'yes'): - print('User aborted deletion') + message = "Confirm deletion of all scenario. (y/n)" + if not args.yes and input(message).lower() not in ("y", "yes"): + print("User aborted deletion") return for scenario in scenarios_names: - delete_scenario_data(scenario, False) + delete_scenario_data(scenario, ask_confirmation=False) + else: + raise ArgumentError(None, "This set of options is not valid") + elif sub_command == "checkpoint": + if args.action == "create": + ScenarioData.load_scenario(args.scenario) + scenario = ScenarioData.get() + scenario.save(args.checkpoint) + LOGGER.info(f"Checkpoint {args.checkpoint} created") + elif args.action == "load": + ScenarioData.load_scenario(args.scenario, args.checkpoint) + scenario = ScenarioData.get() + scenario.save() + LOGGER.info(f"Checkpoint {args.checkpoint} loaded") + elif args.action == "delete": + delete_scenario_data(args.scenario, args.checkpoint) + LOGGER.info(f"Checkpoint {args.checkpoint} deleted") else: - raise ArgumentError(None, 'This set of options is not valid') + raise ArgumentError(None, f"Unkown checkpoint action: {args.action}") else: - raise ArgumentError(None, f'Unkown command: {args.command}') + raise ArgumentError(None, f"Unkown command: {args.command}") diff --git a/mxops/data/data.py b/mxops/data/execution_data.py similarity index 51% rename from mxops/data/data.py rename to mxops/data/execution_data.py index ea0ca79..a63ee83 100644 --- a/mxops/data/data.py +++ b/mxops/data/execution_data.py @@ -1,43 +1,164 @@ """ author: Etienne Wallet -This module contains the functions to load, write and update contracts data +This module contains the functions to load, write and update scenario data """ from __future__ import annotations +from copy import deepcopy from dataclasses import asdict, dataclass, field, is_dataclass import json import os from pathlib import Path +import re import time -from typing import Any, Dict, Optional +from typing import Any, Dict, List, Optional from mxops.config.config import Config -from mxops.data.path import get_scenario_file_path +from mxops.data.path import get_all_checkpoints_names, get_scenario_file_path from mxops import enums as mxops_enums from mxops import errors from mxops.utils.logger import get_logger -LOGGER = get_logger('data') +LOGGER = get_logger("data") -@dataclass +def parse_value_key(path) -> List[int | str]: + """ + Parse a value key string into keys and indices using regex. + + e.g. "key_1.key2[2].data" -> ['key_1', 'key2', 2, 'data'] + """ + # This regex captures: + # - words, possibly including hyphens + # - numbers within square brackets + pattern = r"([\w\-]+)|\[(\d+)\]" + tokens = re.findall(pattern, path) + + # Flatten the list and convert indices to int + return [int(index) if index else key for key, index in tokens] + + +@dataclass(kw_only=True) class SavedValuesData: """ - Dataclass representing an object that can store values for the environment + Dataclass representing an object that can store nested values for the scenario """ - saved_values: Dict[str, Any] + + saved_values: Dict[str, Any] = field(default_factory=dict) + + def _get_element(self, parsed_value_key: List[str | int]) -> Any: + """ + Get the value saved under the specified value key. + + + :param parsed_value_key: parsed elements of a value key + :type parsed_value_key: List[str | int] + :return: element saved under the value key + :rtype: Any + """ + if len(parsed_value_key) == 0: + raise errors.WrongDataKeyPath("Key path is empty") + element = self.saved_values + for key in parsed_value_key: + if isinstance(key, int): + if isinstance(element, (tuple, list)): + try: + element = element[key] + except IndexError as err: + raise errors.WrongDataKeyPath( + f"Wrong index {repr(key)} in {parsed_value_key}" + f" for data element {element}" + ) from err + else: + raise errors.WrongDataKeyPath( + f"Expected a tuple or a list but found {element}" + ) + else: + if isinstance(element, dict): + try: + element = element[key] + except KeyError as err: + raise errors.WrongDataKeyPath( + f"Wrong key {repr(key)} in {parsed_value_key}" + f" for data element {element}" + ) from err + else: + raise errors.WrongDataKeyPath( + f"Expected a dict but found {element}" + ) + return element def set_value(self, value_key: str, value: Any): """ - Set the a value under a specified key + Set the a value under a specified value key - :param value_key: key to save the value + :param value_key: value key of the value to fetch :type value_key: str :param value: value to save :type value: Any """ - self.saved_values[value_key] = value + parsed_value_key = parse_value_key(value_key) + element = self.saved_values + + # verify the path and create it if necessary + if len(parsed_value_key) > 1: + for key, next_key in zip(parsed_value_key[:-1], parsed_value_key[1:]): + if isinstance(key, int): + if isinstance(element, list): + element_size = len(element) + if key > element_size: + raise errors.WrongDataKeyPath( + f"Tried to set element {key} of a list but the list" + f" has only {element_size} elements: {element}" + ) + if key == element_size: + element.append( # pylint: disable=E1101 + [] if isinstance(next_key, int) else {} + ) + element = element[key] + else: + raise errors.WrongDataKeyPath( + f"Expected a list but found {element}" + ) + else: + if isinstance(element, dict): + try: + element = element[key] + except KeyError: # key does not exist yet + element[key] = [] if isinstance(next_key, int) else {} + element = element[key] + else: + raise errors.WrongDataKeyPath( + f"Expected a dict but found {element}" + ) + elif len(parsed_value_key) == 0: + raise errors.WrongDataKeyPath("Key path is empty") + else: + next_key = parsed_value_key[0] + + # set the value + value_copy = deepcopy(value) # in case the value is a complexe type + if isinstance(next_key, int): + if isinstance(element, (tuple, list)): + try: + element[next_key] = value_copy + except IndexError as err: + if next_key > len(element): + raise errors.WrongDataKeyPath( + f"Tried to set element {next_key} of a list but the list " + f"has only {len(element)} elements: {element}" + ) from err + element.append(value_copy) + else: + raise errors.WrongDataKeyPath( + f"Expected a tuple or a list but found {element}" + ) + else: + if isinstance(element, dict): + element[next_key] = value_copy + else: + raise errors.WrongDataKeyPath(f"Expected a dict but found {element}") def get_value(self, value_key: str) -> Any: """ @@ -45,29 +166,15 @@ def get_value(self, value_key: str) -> Any: :param value_key: key for the value :type value_key: str - :return: value saved under the attribute or the the key provided + :return: value saved under the attribute or the value key provided :rtype: Any """ try: return getattr(self, value_key) except AttributeError: pass - return self.get_saved_value(value_key) - - def get_saved_value(self, value_key: str) -> Any: - """ - Fetch a value saved under a key - - :param value_key: key for the value - :type value_key: str - :return: value saved under the key - :rtype: Any - """ - try: - return self.saved_values[value_key] - except KeyError as err: - raise ValueError( - f'Unkown key: {value_key} for data object {self}') from err + parsed_value_key = parse_value_key(value_key) + return self._get_element(parsed_value_key) @dataclass @@ -75,6 +182,7 @@ class ContractData(SavedValuesData): """ Dataclass representing the data that can be locally saved for a contract """ + contract_id: str address: str @@ -87,7 +195,7 @@ def set_value(self, value_key: str, value: Any): :param value: value to save :type value: Any """ - if value_key == 'address': + if value_key == "address": self.address = value else: super().set_value(value_key, value) @@ -101,7 +209,7 @@ def to_dict(self) -> Dict: """ self_dict = asdict(self) # add attribute to indicate internal/external - self_dict['is_external'] = isinstance(self, ExternalContractData) + self_dict["is_external"] = isinstance(self, ExternalContractData) return self_dict @@ -111,10 +219,25 @@ class InternalContractData(ContractData): Dataclass representing the data that can be locally saved for a contract managed by MxOps """ + wasm_hash: str deploy_time: int last_upgrade_time: int + def set_value(self, value_key: str, value: Any): + """ + Set the a value under a specified key + + :param value_key: key to save the value + :type value_key: str + :param value: value to save + :type value: Any + """ + if value_key == "last_upgrade_time": + self.last_upgrade_time = value + else: + super().set_value(value_key, value) + @dataclass class ExternalContractData(ContractData): @@ -129,6 +252,7 @@ class TokenData(SavedValuesData): """ Dataclass representing a token issued on MultiversX """ + name: str ticker: str identifier: str @@ -142,7 +266,7 @@ def to_dict(self) -> Dict: :rtype: Dict """ self_dict = asdict(self) - self_dict['type'] = self.type.value + self_dict["type"] = self.type.value return self_dict @classmethod @@ -155,17 +279,16 @@ def from_dict(cls, data: Dict) -> TokenData: :return: instance from the input dictionary :rtype: TokenData """ - formated_data = { - 'type': mxops_enums.parse_token_type_enum(data['type']) - } + formated_data = {"type": mxops_enums.parse_token_type_enum(data["type"])} return cls(**{**data, **formated_data}) @dataclass -class _ScenarioData: +class _ScenarioData(SavedValuesData): """ Dataclass representing the data that can be locally saved for a scenario """ + name: str network: mxops_enums.NetworkEnum creation_time: int @@ -265,9 +388,10 @@ def add_token_data(self, token_data: TokenData): raise errors.TokenNameAlreadyExists(token_data.name) self.tokens_data[token_data.name] = token_data - def get_value(self, root_name: str, value_key: str) -> Any: + def get_value(self, value_key: str) -> Any: """ - Search within tokens data and contracts data the value saved under the provided key + Search within tokens data, contracts data and scenario saved values, + the value saved under the provided key :param root_name: contract id or token name that hosts the value :type root_name: str @@ -276,24 +400,53 @@ def get_value(self, root_name: str, value_key: str) -> Any: :return: value saved :rtype: Any """ - try: - return self.get_contract_value(root_name, value_key) - except errors.UnknownContract: - pass + parsed_value_key = parse_value_key(value_key) + if len(parsed_value_key) > 1: + root_name = parsed_value_key[0] + value_sub_key = value_key[len(root_name) + 1 :] # remove also the dot + try: + return self.get_contract_value(root_name, value_sub_key) + except errors.UnknownContract: + pass + try: + return self.get_token_value(root_name, value_sub_key) + except errors.UnknownToken: + pass + return super().get_value(value_key) - try: - return self.get_token_value(root_name, value_key) - except errors.UnknownToken: - pass - raise errors.UnknownRootName(self.name, root_name) + def set_value(self, value_key: str, value: Any): + """ + Set the a value under a specified value key - def save(self): + :param value_key: value key of the value to fetch + :type value_key: str + :param value: value to save + :type value: Any + """ + parsed_value_key = parse_value_key(value_key) + if len(parsed_value_key) > 1: + root_name = parsed_value_key[0] + value_sub_key = value_key[len(root_name) + 1 :] # remove also the dot + try: + return self.set_contract_value(root_name, value_sub_key, value) + except errors.UnknownContract: + pass + try: + return self.set_token_value(root_name, value_sub_key, value) + except errors.UnknownToken: + pass + return super().set_value(value_key, value) + + def save(self, checkpoint: str = ""): """ Save this scenario data where it belongs. - Overwrite any existing file + Overwrite any existing file. Will save a checkpoint if provided + + :param checkpoint: contract id or token name that hosts the value + :type checkpoint: str """ - scenario_path = get_scenario_file_path(self.name) - with open(scenario_path.as_posix(), 'w', encoding='utf-8') as file: + scenario_path = get_scenario_file_path(self.name, checkpoint) + with open(scenario_path.as_posix(), "w", encoding="utf-8") as file: json.dump(self.to_dict(), file) def to_dict(self) -> Dict: @@ -317,7 +470,7 @@ def to_dict(self) -> Dict: self_dict[key][sub_key] = asdict(sub_value) else: self_dict[key][sub_key] = sub_value - self_dict['network'] = self.network.value + self_dict["network"] = self.network.value return self_dict def _set_update_time(self): @@ -327,16 +480,20 @@ def _set_update_time(self): self.last_update_time = int(time.time()) @classmethod - def load_from_name(cls, scenario_name: str) -> _ScenarioData: + def load_from_name( + cls, scenario_name: str, checkpoint_name: str = "" + ) -> _ScenarioData: """ Retrieve the locally saved scenario data and instantiate it :param scenario_name: name of the scenario to load :type scenario_name: str + :param checkpoint_name: name of the checkpoint of the scenario to load + :type checkpoint_name: str :return: loaded scenario data :rtype: _ScenarioData """ - scenario_path = get_scenario_file_path(scenario_name) + scenario_path = get_scenario_file_path(scenario_name, checkpoint_name) return cls.load_from_path(scenario_path) @classmethod @@ -349,7 +506,7 @@ def load_from_path(cls, scenario_path: Path) -> _ScenarioData: :return: loaded scenario data :rtype: _ScenarioData """ - with open(scenario_path.as_posix(), 'r', encoding='utf-8') as file: + with open(scenario_path.as_posix(), "r", encoding="utf-8") as file: raw_content = json.load(file) return cls.from_dict(raw_content) @@ -364,10 +521,10 @@ def from_dict(cls, data: Dict[str, Any]) -> _ScenarioData: :rtype: ScenarioData """ contracts_data = {} - for contract_id, contract_data in data['contracts_data'].items(): + for contract_id, contract_data in data["contracts_data"].items(): if isinstance(contract_data, Dict): try: - is_external = contract_data.pop('is_external') + is_external = contract_data.pop("is_external") except KeyError: is_external = False if is_external: @@ -375,13 +532,13 @@ def from_dict(cls, data: Dict[str, Any]) -> _ScenarioData: else: contracts_data[contract_id] = InternalContractData(**contract_data) - tokens_data = data.get('tokens_data', {}) + tokens_data = data.get("tokens_data", {}) tokens_data = {k: TokenData.from_dict(v) for k, v in tokens_data.items()} formated_data = { - 'contracts_data': contracts_data, - 'tokens_data': tokens_data, - 'network': mxops_enums.parse_network_enum(data['network']) + "contracts_data": contracts_data, + "tokens_data": tokens_data, + "network": mxops_enums.parse_network_enum(data["network"]), } return cls(**{**data, **formated_data}) @@ -409,23 +566,27 @@ def get(cls) -> _ScenarioData: return cls._instance @classmethod - def load_scenario(cls, scenario_name: str): + def load_scenario(cls, scenario_name: str, checkpoint_name: str = ""): """ Load scenario data singleton. :param scenario_name: name of the scenario to load :type scenario_name: str + :param checkpoint_name: name of the checkpoint of the scenario to load + :type checkpoint_name: str """ if cls._instance is not None: raise errors.UnloadedScenario try: - cls._instance = _ScenarioData.load_from_name(scenario_name) + cls._instance = _ScenarioData.load_from_name(scenario_name, checkpoint_name) except FileNotFoundError as err: raise errors.UnknownScenario(scenario_name) from err config = Config.get_config() network = config.get_network() - LOGGER.info((f'Scenario {scenario_name} loaded for ' - f'network {network.value}')) + description = f"scenario {scenario_name}" + if checkpoint_name != "": + description += f" checkpoint {checkpoint_name}" + LOGGER.info(f"{checkpoint_name} loaded for network {network.value}") @classmethod def create_scenario(cls, scenario_name: str): @@ -436,21 +597,22 @@ def create_scenario(cls, scenario_name: str): :type scenario_name: str """ if check_scenario_file(scenario_name): - message = ('A scenario already exists under the name ' - f'{scenario_name}. Do you want to override it? (y/n)') - if input(message).lower not in ('y', 'yes'): + message = ( + "A scenario already exists under the name " + f"{scenario_name}. Do you want to override it? (y/n)" + ) + if input(message).lower not in ("y", "yes"): raise errors.ScenarioNameAlreadyExists(scenario_name) config = Config.get_config() network = config.get_network() current_timestamp = int(time.time()) - cls._instance = _ScenarioData(scenario_name, - network, - current_timestamp, - current_timestamp, - {}) - LOGGER.info((f'Scenario {scenario_name} created for ' - f'network {network.value}')) + cls._instance = _ScenarioData( + scenario_name, network, current_timestamp, current_timestamp, {} + ) + LOGGER.info( + (f"Scenario {scenario_name} created for " f"network {network.value}") + ) def check_scenario_file(scenario_name: str) -> bool: @@ -466,26 +628,47 @@ def check_scenario_file(scenario_name: str) -> bool: return Path(file_path).exists() -def delete_scenario_data(scenario_name: str, ask_confirmation: bool = True): +def delete_scenario_data( + scenario_name: str, checkpoint_name: str = "", ask_confirmation: bool = True +): """ Delete locally save data for a given scenario :param scenario_name: name of the scenario to delete :type scenario_name: str + :param checkpoint_name: name of the checkpoint to delete. If not specified, all the + checkpoints and the current scenario data will be deleted. + :type checkpoint_name: str :param ask_confirmation: if a deletion confirmation should be asked, defaults to True :type ask_confirmation: bool """ - scenario_path = get_scenario_file_path(scenario_name) - if ask_confirmation: - message = (f'Confirm the deletion of the scenario {scenario_name} ' - f'located at {scenario_path.as_posix()}. (y/n)') - if input(message).lower() not in ('y', 'yes'): - print('User aborted deletion') - return - try: - os.remove(scenario_path.as_posix()) - LOGGER.info(f'The data of the scenario {scenario_name} has been deleted') - except FileNotFoundError: - LOGGER.warning((f'The scenario {scenario_name} does' - ' not have any data recorded')) + checkpoints_names = get_all_checkpoints_names(scenario_name) + if checkpoint_name != "": + if checkpoint_name not in checkpoints_names: + raise ValueError( + f"Scenario {scenario_name} does not contains a checkpoint named " + f"{checkpoint_name}.\nList of existing checkpoints: {checkpoints_names}" + ) + checkpoints_names = [checkpoint_name] + else: + checkpoints_names = [""] + checkpoints_names + + for ckp in checkpoints_names: + description = f"scenario {scenario_name}" + if ckp != "": + description += f" checkpoint {ckp}" + scenario_path = get_scenario_file_path(scenario_name, ckp) + if ask_confirmation: + message = ( + f"Confirm the deletion of the {description} " + f"located at {scenario_path.as_posix()}. (y/n)" + ) + if input(message).lower() not in ("y", "yes"): + print("User aborted deletion") + continue + try: + os.remove(scenario_path.as_posix()) + LOGGER.info(f"The data of the {description} has been deleted") + except FileNotFoundError: + LOGGER.warning(f"The {description} does not have any data recorded") diff --git a/mxops/data/path.py b/mxops/data/path.py index 0a41b7a..56e0e18 100644 --- a/mxops/data/path.py +++ b/mxops/data/path.py @@ -14,14 +14,33 @@ from mxops.utils.logger import get_logger -LOGGER = get_logger('data-IO') +LOGGER = get_logger("data-IO") +CHECKPOINT_SEP = "___CHECKPOINT___" + + +def get_scenario_full_name(scenario_name: str, checkpoint: str = "") -> str: + """ + Construct the full name of a scenario with contains the name of the scenario + and potentially the checkpoint separator and the checkpoint + + :param scenario_name: name of the scenario + :type scenario_name: str + :param checkpoint: name of the checkpoint, defaults to "" + :type checkpoint: str, optional + :return: full name of the scenario + :rtype: str + """ + if checkpoint == "": + return scenario_name + return f"{scenario_name}{CHECKPOINT_SEP}{checkpoint}" def get_data_path() -> Path: """ Return the folder path where to store the data created by this project. The folder will be created if it does not exists. - It uses the library appdirs to follow the conventions across multi OS(MAc, Linux, Windows) + It uses the library appdirs to follow the conventions + across multi OS(MAc, Linux, Windows) https://pypi.org/project/appdirs/ :return: path of the folder to use for data saving @@ -43,22 +62,30 @@ def initialize_data_folder(): os.makedirs(network_path.as_posix()) except FileExistsError: pass + txs_dir_path = network_path / "transactions" + try: + os.makedirs(txs_dir_path.as_posix()) + except FileExistsError: + pass -def get_scenario_file_path(scenario_name: str) -> Path: +def get_scenario_file_path(scenario_name: str, checkpoint_name: str = "") -> Path: """ Construct and return the path of a scenario file: - //.json + //[].json - :param scenario_name: _description_ + :param scenario_name: name of the scenario :type scenario_name: str + :param checkpoint_name: name of the checkpoint, defaults to '' + :type checkpoint_name: str :return: path to the specified scenario file :rtype: Path """ data_path = get_data_path() config = Config.get_config() network = config.get_network() - return data_path / network.name / f'{scenario_name}.json' + scenario_full_name = get_scenario_full_name(scenario_name, checkpoint_name) + return data_path / network.name / f"{scenario_full_name}.json" def get_all_scenarios_names() -> List[str]: @@ -73,7 +100,54 @@ def get_all_scenarios_names() -> List[str]: data_path = get_data_path() files = os.listdir(data_path / network.name) - return [file[:-5] for file in files if file.endswith('.json')] + return [ + file[:-5] + for file in files + if file.endswith(".json") and CHECKPOINT_SEP not in file + ] + + +def get_all_checkpoints_names(scenario_name: str) -> List[str]: + """ + Return all the existing checkpoint for a given scenario + + :param scenario_name: name of the scenario + :type scenario_name: str + :return: list of the existing checkpoints + :rtype: List[str] + """ + config = Config.get_config() + network = config.get_network() + data_path = get_data_path() + files = os.listdir(data_path / network.name) + prefix = scenario_name + CHECKPOINT_SEP + prefix_len = len(prefix) + return [ + file[prefix_len:-5] + for file in files + if file.startswith(prefix) and file.endswith(".json") + ] + + +def get_tx_file_path(contract_bech32_address: str) -> Path: + """ + Construct and return the path of a the file that will contains the transactions + of a contract. + + :param contract_bech32_address: bech32 address of the contract + :type contract_bech32_address: str + :return: path to the save file + :rtype: Path + """ + data_path = get_data_path() + config = Config.get_config() + network = config.get_network() + return ( + data_path + / network.name + / "transactions" + / f"{contract_bech32_address}_txs.json" + ) -LOGGER.debug(f'MxOps app directory is located at {get_data_path()}') +LOGGER.debug(f"MxOps app directory is located at {get_data_path()}") diff --git a/mxops/enums.py b/mxops/enums.py index 628fa08..eef6ede 100644 --- a/mxops/enums.py +++ b/mxops/enums.py @@ -12,20 +12,22 @@ class NetworkEnum(Enum): """ Enum describing the allowed values for the network """ - MAIN = 'mainnet' - DEV = 'devnet' - TEST = 'testnet' - LOCAL = 'localnet' + + MAIN = "mainnet" + DEV = "devnet" + TEST = "testnet" + LOCAL = "localnet" class TokenTypeEnum(Enum): """ Enum describing the different token types on MultiversX """ - FUNGIBLE = 'fungible' - NON_FUNGIBLE = 'non fungible' - SEMI_FUNGIBLE = 'semi fungible' - META = 'meta' + + FUNGIBLE = "fungible" + NON_FUNGIBLE = "non fungible" + SEMI_FUNGIBLE = "semi fungible" + META = "meta" def parse_enum(value: str, enum_class: Type[Enum]) -> Enum: @@ -47,7 +49,7 @@ def parse_enum(value: str, enum_class: Type[Enum]) -> Enum: return enum_class(value) except ValueError: pass - raise ValueError(f'{value} can not be matched to a {enum_class}') + raise ValueError(f"{value} can not be matched to a {enum_class}") def parse_network_enum(network: str) -> NetworkEnum: diff --git a/mxops/errors.py b/mxops/errors.py index a20822a..90419f1 100644 --- a/mxops/errors.py +++ b/mxops/errors.py @@ -24,15 +24,19 @@ class ParsingError(Exception): To be raise when some data could not be parsed successfuly """ - def __init__(self, raw_object: Any, parsing_target: str, ) -> None: + def __init__( + self, + raw_object: Any, + parsing_target: str, + ) -> None: message = f"Could not parse {raw_object} as {parsing_target}" super().__init__(message) class NewTokenIdentifierNotFound(Exception): """ - To be raised when the token identifier of newly issued token was not found in the results - of the transaction + To be raised when the token identifier of newly issued token was not found in + the results of the transaction """ @@ -49,7 +53,7 @@ class UnknownScenario(Exception): """ def __init__(self, scenario_name: str) -> None: - message = f'Scenario {scenario_name} is unkown' + message = f"Scenario {scenario_name} is unkown" super().__init__(message) @@ -59,7 +63,7 @@ class UnloadedScenario(Exception): """ def __init__(self) -> None: - message = 'Scenario data was not loaded' + message = "Scenario data was not loaded" super().__init__(message) @@ -69,8 +73,7 @@ class UnknownContract(Exception): """ def __init__(self, scenario_name: str, contract_id: str) -> None: - message = (f'Contract {contract_id} is unkown in ' - f'scenario {scenario_name}') + message = f"Contract {contract_id} is unkown in " f"scenario {scenario_name}" super().__init__(message) @@ -80,7 +83,7 @@ class UnknownAccount(Exception): """ def __init__(self, account_name: str) -> None: - message = f'Account {account_name} is unkown in the current scene' + message = f"Account {account_name} is unkown in the current scene" super().__init__(message) @@ -90,7 +93,7 @@ class ContractIdAlreadyExists(Exception): """ def __init__(self, contract_id: str) -> None: - message = f'Contract id {contract_id} already exists' + message = f"Contract id {contract_id} already exists" super().__init__(message) @@ -100,8 +103,7 @@ class UnknownToken(Exception): """ def __init__(self, scenario_name: str, token_name: str) -> None: - message = (f'Token named {token_name} is unkown in ' - f'scenario {scenario_name}') + message = f"Token named {token_name} is unkown in " f"scenario {scenario_name}" super().__init__(message) @@ -111,7 +113,7 @@ class TokenNameAlreadyExists(Exception): """ def __init__(self, token_name: str) -> None: - message = f'Token named {token_name} already exists' + message = f"Token named {token_name} already exists" super().__init__(message) @@ -121,8 +123,7 @@ class UnknownRootName(Exception): """ def __init__(self, scenario_name: str, root_name: str) -> None: - message = (f'Root named {root_name} is unkown in ' - f'scenario {scenario_name}') + message = f"Root named {root_name} is unkown in " f"scenario {scenario_name}" super().__init__(message) @@ -132,7 +133,7 @@ class ScenarioNameAlreadyExists(Exception): """ def __init__(self, scenario_name: str) -> None: - message = f'Scenario name {scenario_name} already exists' + message = f"Scenario name {scenario_name} already exists" super().__init__(message) @@ -143,8 +144,10 @@ class WrongScenarioDataReference(Exception): """ def __init__(self) -> None: - message = ('Scenario data reference must have the format ' - r'"%contract_id%valuekey[:optional_format]"') + message = ( + "Scenario data reference must have the format " + r'"%[:optional_format]"' + ) super().__init__(message) @@ -154,11 +157,14 @@ class ForbiddenSceneNetwork(Exception): a network that the scene does not allow """ - def __init__(self, scene_path: Path, network_name: str, allowed_networks: List[str]) -> None: - message = (f'Scene {scene_path} not allowed to be executed ' - f'in the network {network_name}.\n' - f'Allowed networks: {allowed_networks}' - ) + def __init__( + self, scene_path: Path, network_name: str, allowed_networks: List[str] + ) -> None: + message = ( + f"Scene {scene_path} not allowed to be executed " + f"in the network {network_name}.\n" + f"Allowed networks: {allowed_networks}" + ) super().__init__(message) @@ -168,13 +174,34 @@ class ForbiddenSceneScenario(Exception): a scenario that the scene does not allow """ - def __init__(self, scene_path: Path, scenario_name: str, allowed_scenario: List[str]) -> None: - message = (f'Scene {scene_path} not allowed to be executed ' - f'in the scenario {scenario_name}.\n' - f'Allowed scenario: {allowed_scenario}' - ) + def __init__( + self, scene_path: Path, scenario_name: str, allowed_scenario: List[str] + ) -> None: + message = ( + f"Scene {scene_path} not allowed to be executed " + f"in the scenario {scenario_name}.\n" + f"Allowed scenario: {allowed_scenario}" + ) super().__init__(message) + +class WrongDataKeyPath(Exception): + """ + To be raised when a key path does not correspond to the saved + data + """ + + +class NoDataForContract(Exception): + """ + To be raised when a specified contract has no data saved (analyze submodule) + """ + + def __init__(self, contract_bech32_address: str) -> None: + message = f"Contract {contract_bech32_address} has no saved data" + super().__init__(message) + + ############################################################# # # Transactions Errors @@ -193,7 +220,7 @@ def __init__(self, tx: TransactionOnNetwork) -> None: super().__init__() def __str__(self) -> str: - return f'Error on transaction {get_tx_link(self.tx.hash)}\n' + return f"Error on transaction {get_tx_link(self.tx.hash)}\n" class FailedTransactionError(TransactionError): @@ -248,6 +275,7 @@ class EmptyQueryResults(Exception): # ############################################################# + class CheckFailed(Exception): """ To be raised when an on-chain transaction check fails @@ -259,7 +287,10 @@ def __init__(self, check: dataclass, tx: TransactionOnNetwork) -> None: super().__init__() def __str__(self) -> str: - return f'Check failed on transaction {get_tx_link(self.tx.hash)}\nCheck: {self.check}' + return ( + f"Check failed on transaction {get_tx_link(self.tx.hash)}" + f"\nCheck: {self.check}" + ) ############################################################# @@ -268,6 +299,7 @@ def __str__(self) -> str: # ############################################################# + class UnkownStep(Exception): """ to be raised when the user provide a step name that is unkown @@ -278,7 +310,20 @@ def __init__(self, step_name: str) -> None: super().__init__() def __str__(self) -> str: - return f'Unkown Step name: {self.step_name}' + return f"Unkown Step name: {self.step_name}" + + +class UnkownVariable(Exception): + """ + to be raised when the user provide a variable name that is unkown + """ + + def __init__(self, var_name: str) -> None: + self.step_name = var_name + super().__init__() + + def __str__(self) -> str: + return f"Unkown variable: {self.step_name}" class InvalidStepDefinition(Exception): @@ -292,4 +337,4 @@ def __init__(self, step_name: str, parameters: Dict) -> None: super().__init__() def __str__(self) -> str: - return f'Step {self.step_name} received invalid parameters {self.parameters}' + return f"Step {self.step_name} received invalid parameters {self.parameters}" diff --git a/mxops/execution/__init__.py b/mxops/execution/__init__.py index e69de29..62546db 100644 --- a/mxops/execution/__init__.py +++ b/mxops/execution/__init__.py @@ -0,0 +1,5 @@ +""" +author: Etienne Wallet + +This subpackage is used to handle all the scenes executions +""" diff --git a/mxops/execution/account.py b/mxops/execution/account.py index b70741d..128468f 100644 --- a/mxops/execution/account.py +++ b/mxops/execution/account.py @@ -17,18 +17,22 @@ class AccountsManager: This class is used to load and sync the MultiversX accounts This allows to handle nonce incrementation in a centralised place """ + _accounts = {} @classmethod - def load_account(cls, - account_name: str, - pem_path: Optional[str] = None, - ledger_account_index: Optional[int] = None, - ledger_address_index: Optional[int] = None): + def load_account( + cls, + account_name: str, + pem_path: Optional[str] = None, + ledger_account_index: Optional[int] = None, + ledger_address_index: Optional[int] = None, + ): """ Load an account from a pem path or ledger indices - :param account_name: name that will be used to reference this account. Must be unique. + :param account_name: name that will be used to reference this account. + Must be unique. :type account_name: str :param pem_path: string path to the PEM file, defaults to None :type pem_path: Optional[str], optional @@ -37,14 +41,14 @@ def load_account(cls, :param ledger_address_index: index of the ledger address, defaults to None :type ledger_address_index: Optional[int], optional """ - if (ledger_account_index is not None - and ledger_address_index is not None): - cls._accounts[account_name] = LedgerAccount(ledger_account_index, - ledger_address_index) + if ledger_account_index is not None and ledger_address_index is not None: + cls._accounts[account_name] = LedgerAccount( + ledger_account_index, ledger_address_index + ) elif isinstance(pem_path, str): cls._accounts[account_name] = Account(pem_file=pem_path) else: - raise ValueError(f'{account_name} is not correctly configured') + raise ValueError(f"{account_name} is not correctly configured") @classmethod def get_account(cls, account_name: str) -> Account: @@ -71,8 +75,8 @@ def sync_account(cls, account_name: str): :type account_name: str """ config = Config.get_config() - proxy = ProxyNetworkProvider(config.get('PROXY')) + proxy = ProxyNetworkProvider(config.get("PROXY")) try: cls._accounts[account_name].sync_nonce(proxy) except KeyError as err: - raise RuntimeError(f'Unkown account {account_name}') from err + raise RuntimeError(f"Unkown account {account_name}") from err diff --git a/mxops/execution/checks.py b/mxops/execution/checks.py index cef95d7..bf07527 100644 --- a/mxops/execution/checks.py +++ b/mxops/execution/checks.py @@ -15,7 +15,7 @@ from mxops.utils.logger import get_logger -LOGGER = get_logger('Checks') +LOGGER = get_logger("Checks") @dataclass @@ -76,8 +76,9 @@ class TransfersCheck(Check): """ Check the transfers that an on-chain transaction contains specified transfers """ + expected_transfers: List[ExpectedTransfer] - condition: Literal['exact', 'included'] = 'exact' + condition: Literal["exact", "included"] = "exact" include_gas_refund: bool = False def __post_init__(self): @@ -86,9 +87,13 @@ def __post_init__(self): found to be Dict, will try to convert them to TransfersCheck instances. Usefull for easy loading from yaml files """ - if self.condition not in ['exact', 'included']: - raise ValueError((f'{self.condition} is not an accepted value for ' - 'TransfersCheck.condition')) + if self.condition not in ["exact", "included"]: + raise ValueError( + ( + f"{self.condition} is not an accepted value for " + "TransfersCheck.condition" + ) + ) expected_transfers = [] for transfer in self.expected_transfers: if isinstance(transfer, Dict): @@ -96,7 +101,9 @@ def __post_init__(self): elif isinstance(transfer, ExpectedTransfer): expected_transfers.append(transfer) else: - raise TypeError(f'Type {type(transfer)} not supproted for ExpectedTransfer') + raise TypeError( + f"Type {type(transfer)} not supproted for ExpectedTransfer" + ) self.expected_transfers = expected_transfers def get_check_status(self, onchain_tx: TransactionOnNetwork) -> bool: @@ -114,14 +121,22 @@ def get_check_status(self, onchain_tx: TransactionOnNetwork) -> bool: i_tr = onchain_transfers.index(expected_transfer) except ValueError: evaluated_transfer = expected_transfer.get_dynamic_evaluated() - LOGGER.error((f'Expected transfer found no match:\n{evaluated_transfer} ' - f'Remaining on-chain transfers:\n{onchain_transfers}')) + LOGGER.error( + ( + f"Expected transfer found no match:\n{evaluated_transfer} " + f"Remaining on-chain transfers:\n{onchain_transfers}" + ) + ) return False onchain_transfers.pop(i_tr) - if self.condition == 'exact' and len(onchain_transfers) > 0: - LOGGER.error((f'Found {len(onchain_transfers)} more transfers than expected:' - f'\n {onchain_transfers}')) + if self.condition == "exact" and len(onchain_transfers) > 0: + LOGGER.error( + ( + f"Found {len(onchain_transfers)} more transfers than expected:" + f"\n {onchain_transfers}" + ) + ) return False return True @@ -137,10 +152,10 @@ def instanciate_checks(raw_checks: List[Dict]) -> List[Check]: """ checks_list = [] for raw_check in raw_checks: - check_class_name = raw_check.pop('type') + 'Check' + check_class_name = raw_check.pop("type") + "Check" try: check_class_object = getattr(sys.modules[__name__], check_class_name) except AttributeError as err: - raise ValueError(f'Unkown check type: {check_class_name}') from err + raise ValueError(f"Unkown check type: {check_class_name}") from err checks_list.append(check_class_object(**raw_check)) return checks_list diff --git a/mxops/execution/cli.py b/mxops/execution/cli.py index 145364f..bc669ca 100644 --- a/mxops/execution/cli.py +++ b/mxops/execution/cli.py @@ -8,7 +8,7 @@ from pathlib import Path from mxops.config.config import Config from mxops.data import path -from mxops.data.data import ScenarioData, delete_scenario_data +from mxops.data.execution_data import ScenarioData, delete_scenario_data from mxops.enums import parse_network_enum from mxops.execution.scene import execute_directory, execute_scene @@ -22,33 +22,41 @@ def add_subparser(subparsers_action: _SubParsersAction): :param subparsers_action: subparsers interface for the parent parser :type subparsers_action: _SubParsersAction[ArgumentParser] """ - scenario_parser = subparsers_action.add_parser('execute') - scenario_parser.add_argument('-s', - '--scenario', - type=str, - required=True, - help=('Name of the scenario in which the ' - 'scene(s) will be executed')) - scenario_parser.add_argument('-n', - '--network', - type=parse_network_enum, - required=True, - help=('Name of the network in which the ' - 'scene(s) will be executed')) - scenario_parser.add_argument('-d', - '--delete', - action='store_true', - required=False, - help='delete the scenario data after the execution') - scenario_parser.add_argument('-c', - '--clean', - action='store_true', - required=False, - help='clean the scenario data before the execution') - scenario_parser.add_argument('elements', - nargs='+', - type=str, - help='Path to scene file and/or scene directory') + scenario_parser = subparsers_action.add_parser("execute") + scenario_parser.add_argument( + "-s", + "--scenario", + type=str, + required=True, + help=("Name of the scenario in which the " "scene(s) will be executed"), + ) + scenario_parser.add_argument( + "-n", + "--network", + type=parse_network_enum, + required=True, + help=("Name of the network in which the " "scene(s) will be executed"), + ) + scenario_parser.add_argument( + "-d", + "--delete", + action="store_true", + required=False, + help="delete the scenario data after the execution", + ) + scenario_parser.add_argument( + "-c", + "--clean", + action="store_true", + required=False, + help="clean the scenario data before the execution", + ) + scenario_parser.add_argument( + "elements", + nargs="+", + type=str, + help="Path to scene file and/or scene directory", + ) def execute_cli(args: Namespace): @@ -58,14 +66,14 @@ def execute_cli(args: Namespace): :param args: parsed arguments :type args: Namespace """ - if args.command != 'execute': - raise ValueError(f'Command execute was expected, found {args.command}') + if args.command != "execute": + raise ValueError(f"Command execute was expected, found {args.command}") path.initialize_data_folder() Config.set_network(args.network) if args.clean: - delete_scenario_data(args.scenario, False) + delete_scenario_data(args.scenario, ask_confirmation=False) try: ScenarioData.load_scenario(args.scenario) @@ -80,7 +88,7 @@ def execute_cli(args: Namespace): elif os.path.isdir(element_path): execute_directory(element_path) else: - raise ValueError(f'{element_path} is not a file nor a directory') + raise ValueError(f"{element_path} is not a file nor a directory") if args.delete: - delete_scenario_data(args.scenario, False) + delete_scenario_data(args.scenario, ask_confirmation=False) diff --git a/mxops/execution/contract_interactions.py b/mxops/execution/contract_interactions.py deleted file mode 100644 index 9e0c7a9..0000000 --- a/mxops/execution/contract_interactions.py +++ /dev/null @@ -1,369 +0,0 @@ -""" -Module with deploy, call and queries functions for the contracts -""" -from pathlib import Path -from typing import List, Tuple - -from multiversx_sdk_cli import config as mxpy_config -from multiversx_sdk_cli.accounts import Account -from multiversx_sdk_cli.contracts import CodeMetadata, SmartContract, QueryResult -from multiversx_sdk_cli.transactions import Transaction as CliTransaction -from multiversx_sdk_cli import utils as mxpy_utils -from multiversx_sdk_network_providers import ProxyNetworkProvider - -from mxops.config.config import Config -from mxops.execution.msc import EsdtTransfer -from mxops.execution import utils - - -def get_contract_deploy_tx( - wasm_file: Path, - metadata: CodeMetadata, - gas_limit: int, - contract_args: List, - sender: Account -) -> Tuple[CliTransaction, SmartContract]: - """ - Contruct the contract instance and the transaction used to deploy a contract. - The transaction is not relayed to the proxy, - this has to be done with the result of this function. - - :param wasm_file: path to the wasm file of the contract - :type wasm_file: Path - :param metadata: metadata for the contract deployment - :type metadata: CodeMetadata - :param gas_limit: gas limit for the transaction - :type gas_limit: int - :param contract_args: list of arguments to pass to the deploy method - :type contract_args: List - :param sender: account to use for this transaction - :type sender: Account - :return: deploy transaction and contract instance created - :rtype: Tuple[CliTransaction, SmartContract] - """ - config = Config.get_config() - - bytecode = mxpy_utils.read_binary_file(wasm_file).hex() - contract = SmartContract(bytecode=bytecode, metadata=metadata) - formated_args = utils.format_tx_arguments(contract_args) - - tx = contract.deploy(sender, formated_args, mxpy_config.DEFAULT_GAS_PRICE, - gas_limit, 0, config.get('CHAIN'), mxpy_config.get_tx_version()) - - return tx, contract - - -def get_contract_value_call_tx( - contract_str: str, - endpoint: str, - gas_limit: int, - arguments: List, - value: int, - sender: Account -) -> CliTransaction: - """ - Contruct the transaction for a contract call with value provision. - The transaction is not relayed to the proxy, this has to be done with - the result of this function. - - :param contract_str: designation of the contract to call (bech32 or mxops value) - :type contract_str: str - :param endpoint: endpoint to call - :type endpoint: str - :param gas_limit: gas limit for the transaction. - :type gas_limit:int - :param arguments: argument for endpoint - :type arguments: List - :param value: value to send during the call - :type value: int - :param sender: sender of the transaction - :type sender: Account - :return: call transaction to send - :rtype: CliTransaction - """ - config = Config.get_config() - - contract = utils.get_contract_instance(contract_str) - - formated_args = utils.format_tx_arguments(arguments) - if isinstance(value, str): - value = utils.retrieve_value_from_string(value) - - tx = contract.execute( - caller=sender, - function=endpoint, - arguments=formated_args, - value=value, - gas_price=mxpy_config.DEFAULT_GAS_PRICE, - gas_limit=gas_limit, - chain=config.get('CHAIN'), - version=mxpy_config.get_tx_version() - ) - - return tx - - -def get_contract_single_esdt_call_tx( - contract_str: str, - endpoint: str, - gas_limit: int, - arguments: List, - esdt_transfer: EsdtTransfer, - sender: Account -) -> CliTransaction: - """ - Contruct the transaction for a contract call with an esdt transfer. - The transaction is not relayed to the proxy, this has to be done with - the result of this function. - - :param contract_str: designation of the contract to call (bech32 or mxops value) - :type contract_str: str - :param endpoint: endpoint to call - :type endpoint: str - :param gas_limit: gas limit for the transaction. - :type gas_limit:int - :param arguments: argument for endpoint - :type arguments: List - :param esdt_transfer: transfer to be made with the endpoint call - :type esdt_transfer: EsdtTransfer - :param sender: sender of the transaction - :type sender: Account - :return: call transaction to send - :rtype: CliTransaction - """ - config = Config.get_config() - - contract = utils.get_contract_instance(contract_str) - - tx_arguments = [ - esdt_transfer.token_identifier, - esdt_transfer.amount, - endpoint, - *arguments - ] - formated_args = utils.format_tx_arguments(tx_arguments) - - tx = contract.execute( - caller=sender, - function='ESDTTransfer', - arguments=formated_args, - value=0, - gas_price=mxpy_config.DEFAULT_GAS_PRICE, - gas_limit=gas_limit, - chain=config.get('CHAIN'), - version=mxpy_config.get_tx_version() - ) - - return tx - - -def get_contract_single_nft_call_tx( - contract_str: str, - endpoint: str, - gas_limit: int, - arguments: List, - nft_transfer: EsdtTransfer, - sender: Account -) -> CliTransaction: - """ - Contruct the transaction for a contract call with an nft transfer (NFT, SFT and Meta ESDT). - The transaction is not relayed to the proxy, this has to be done with - the result of this function. - - :param contract_str: designation of the contract to call (bech32 or mxops value) - :type contract_str: str - :param endpoint: endpoint to call - :type endpoint: str - :param gas_limit: gas limit for the transaction. - :type gas_limit:int - :param arguments: argument for endpoint - :type arguments: List - :param nft_transfer: transfer to be made with the endpoint call - :type nft_transfer: EsdtTransfer - :param sender: sender of the transaction - :type sender: Account - :return: call transaction to send - :rtype: CliTransaction - """ - config = Config.get_config() - self_contract = SmartContract(sender.address) - - contract = utils.get_contract_instance(contract_str) - - tx_arguments = [ - nft_transfer.token_identifier, - nft_transfer.nonce, - nft_transfer.amount, - contract.address.bech32(), - endpoint, - *arguments - ] - formated_args = utils.format_tx_arguments(tx_arguments) - - tx = self_contract.execute( - caller=sender, - function='ESDTNFTTransfer', - arguments=formated_args, - value=0, - gas_price=mxpy_config.DEFAULT_GAS_PRICE, - gas_limit=gas_limit, - chain=config.get('CHAIN'), - version=mxpy_config.get_tx_version() - ) - - return tx - - -def get_contract_multiple_esdt_call_tx( - contract_str: str, - endpoint: str, - gas_limit: int, - arguments: List, - esdt_transfers: List[EsdtTransfer], - sender: Account -) -> CliTransaction: - """ - Contruct the transaction for a contract call with multiple esdt transfers. - The transaction is not relayed to the proxy, this has to be done with - the result of this function. - - :param contract_str: designation of the contract to call (bech32 or mxops value) - :type contract_str: str - :param endpoint: endpoint to call - :type endpoint: str - :param gas_limit: gas limit for the transaction. - :type gas_limit:int - :param arguments: argument for endpoint - :type arguments: List - :param esdt_transfers: transfers to be made with the endpoint call - :type esdt_transfers: List[EsdtTransfer] - :param sender: sender of the transaction - :type sender: Account - :return: call transaction to send - :rtype: CliTransaction - """ - config = Config.get_config() - - self_contract = SmartContract(sender.address) - contract = utils.get_contract_instance(contract_str) - - tx_arguments = [ - contract.address.bech32(), - len(esdt_transfers) - ] - for esdt_transfer in esdt_transfers: - tx_arguments.extend([ - esdt_transfer.token_identifier, - esdt_transfer.nonce, - esdt_transfer.amount, - ]) - - tx_arguments.extend([endpoint, *arguments]) - formated_args = utils.format_tx_arguments(tx_arguments) - - tx = self_contract.execute( - caller=sender, - function='MultiESDTNFTTransfer', - arguments=formated_args, - value=0, - gas_price=mxpy_config.DEFAULT_GAS_PRICE, - gas_limit=gas_limit, - chain=config.get('CHAIN'), - version=mxpy_config.get_tx_version() - ) - - return tx - - -def get_contract_call_tx( - contract_str: str, - endpoint: str, - gas_limit: int, - arguments: List, - value: int, - esdt_transfers: List[EsdtTransfer], - sender: Account -) -> CliTransaction: - """ - Contruct the transaction for a contract call - The transaction is not relayed to the proxy, this has to be done with - the result of this function. - - :param contract_str: designation of the contract to call (bech32 or mxops value) - :type contract_str: str - :param endpoint: endpoint to call - :type endpoint: str - :param gas_limit: gas limit for the transaction. - :type gas_limit:int - :param arguments: argument for endpoint - :type arguments: List - :param value: value to send during the call - :type value: int - :param esdt_transfers: transfers to be made with the endpoint call - :type esdt_transfers: List[EsdtTransfer] - :param sender: sender of the transaction - :type sender: Account - :return: call transaction to send - :rtype: CliTransaction - """ - n_transfers = len(esdt_transfers) - - if n_transfers == 0: - tx = get_contract_value_call_tx(contract_str, - endpoint, - gas_limit, - arguments, - value, - sender) - elif n_transfers == 1: - transfer = esdt_transfers[0] - if transfer.nonce: - tx = get_contract_single_nft_call_tx(contract_str, - endpoint, - gas_limit, - arguments, - transfer, - sender) - else: - tx = get_contract_single_esdt_call_tx(contract_str, - endpoint, - gas_limit, - arguments, - transfer, - sender) - else: - tx = get_contract_multiple_esdt_call_tx(contract_str, - endpoint, - gas_limit, - arguments, - esdt_transfers, - sender) - - return tx - - -def query_contract(contract_str: str, endpoint: str, arguments: List) -> List[QueryResult]: - """ - Query a contract to retireve some values. - - :param contract_str: designation of the contract to call (bech32 or mxops value) - :type contract_str: str - :param endpoint: endpoint to query - :type endpoint: str - :param arguments: argument for endpoint - :type arguments: List - :return: list of QueryResult - :rtype: List[QueryResult] - """ - config = Config.get_config() - proxy = ProxyNetworkProvider(config.get('PROXY')) - - contract = utils.get_contract_instance(contract_str) - formated_args = utils.format_tx_arguments(arguments) - - results = contract.query( - proxy=proxy, - function=endpoint, - arguments=formated_args, - ) - return results diff --git a/mxops/execution/msc.py b/mxops/execution/msc.py index 38b0836..9022435 100644 --- a/mxops/execution/msc.py +++ b/mxops/execution/msc.py @@ -16,6 +16,7 @@ class EsdtTransfer: """ Represent any type of ESDT transfer (Simple ESDT, NFT, SFT, MetaESDT) """ + token_identifier: str amount: int nonce: int = 0 @@ -26,6 +27,7 @@ class OnChainTransfer: """ Represent any type of token transfer on chain """ + sender: str receiver: str token_identifier: str @@ -35,22 +37,22 @@ def __eq__(self, other: Any) -> bool: if isinstance(other, ExpectedTransfer): return other == self if isinstance(other, OnChainTransfer): - return ( - self.sender, - self.receiver, - self.token_identifier, - self.amount) == (other.sender, - other.receiver, - other.token_identifier, - other.amount) + return (self.sender, self.receiver, self.token_identifier, self.amount) == ( + other.sender, + other.receiver, + other.token_identifier, + other.amount, + ) raise NotImplementedError @dataclass class ExpectedTransfer: """ - Holds the information of a transfert that is expected to be found in an on-chain transaction + Holds the information of a transfert that is expected to be found in an on-chain + transaction """ + sender: str receiver: str token_identifier: str @@ -59,7 +61,8 @@ class ExpectedTransfer: def get_hex_nonce(self) -> Optional[str]: """ - Transform the nonce attribute of this instance into a hex string (without the 0x). + Transform the nonce attribute of this instance into a hex string + (without the 0x). If the nonce does not exists, return None. :return: nonce is hex format @@ -74,24 +77,26 @@ def get_hex_nonce(self) -> Optional[str]: try: return msc.int_to_pair_hex(self.nonce) except (IndexError, TypeError) as err: - raise ValueError(f'An invalid nonce was specified: {self.nonce}') from err + raise ValueError(f"An invalid nonce was specified: {self.nonce}") from err def get_dynamic_evaluated(self) -> ExpectedTransfer: """ - Evaluate the attribute of the instance dynamically and return the corresponding expected - transfer + Evaluate the attribute of the instance dynamically and return the + corresponding expected transfer :return: instance dynamically evaluated :rtype: ExpectedTransfer """ evaluations = {} - attributes_to_extract = ['sender', 'receiver', 'token_identifier', 'amount'] + attributes_to_extract = ["sender", "receiver", "token_identifier", "amount"] for attribute_name in attributes_to_extract: - extracted_value = utils.retrieve_value_from_string(str(getattr(self, attribute_name))) + extracted_value = utils.retrieve_value_from_string( + str(getattr(self, attribute_name)) + ) evaluations[attribute_name] = extracted_value hex_nonce = self.get_hex_nonce() if hex_nonce is not None: - evaluations['token_identifier'] += '-' + hex_nonce + evaluations["token_identifier"] += "-" + hex_nonce return ExpectedTransfer(**evaluations) def __eq__(self, other: Any) -> bool: @@ -106,7 +111,10 @@ def __eq__(self, other: Any) -> bool: evaluated_self.sender, evaluated_self.receiver, evaluated_self.token_identifier, - str(evaluated_self.amount)) == (evaluated_other.sender, - evaluated_other.receiver, - evaluated_other.token_identifier, - str(evaluated_other.amount)) + str(evaluated_self.amount), + ) == ( + evaluated_other.sender, + evaluated_other.receiver, + evaluated_other.token_identifier, + str(evaluated_other.amount), + ) diff --git a/mxops/execution/network.py b/mxops/execution/network.py index 8edcea3..76b0263 100644 --- a/mxops/execution/network.py +++ b/mxops/execution/network.py @@ -7,8 +7,7 @@ from typing import List, Union from multiversx_sdk_cli.transactions import Transaction as CliTransaction -from multiversx_sdk_cli.accounts import Address as CliAddress -from multiversx_sdk_core import Transaction +from multiversx_sdk_core import Address, Transaction from multiversx_sdk_network_providers import ProxyNetworkProvider from multiversx_sdk_network_providers.transactions import TransactionOnNetwork @@ -27,11 +26,13 @@ def send(tx: Union[CliTransaction, Transaction]) -> str: :rtype: str """ config = Config.get_config() - proxy = ProxyNetworkProvider(config.get('PROXY')) + proxy = ProxyNetworkProvider(config.get("PROXY")) return proxy.send_transaction(tx) -def send_and_wait_for_result(tx: Union[CliTransaction, Transaction]) -> TransactionOnNetwork: +def send_and_wait_for_result( + tx: Union[CliTransaction, Transaction] +) -> TransactionOnNetwork: """ Transmit a transaction to a proxy constructed with the config. Wait for the result of the transaction and return the on-chainfinalised transaction. @@ -42,10 +43,10 @@ def send_and_wait_for_result(tx: Union[CliTransaction, Transaction]) -> Transact :rtype: TransactionOnNetwork """ config = Config.get_config() - proxy = ProxyNetworkProvider(config.get('PROXY')) + proxy = ProxyNetworkProvider(config.get("PROXY")) - timeout = int(config.get('TX_TIMEOUT')) - refresh_period = int(config.get('TX_REFRESH_PERIOD')) + timeout = int(config.get("TX_TIMEOUT")) + refresh_period = int(config.get("TX_REFRESH_PERIOD")) tx_hash = proxy.send_transaction(tx) num_periods_to_wait = int(timeout / refresh_period) @@ -53,7 +54,7 @@ def send_and_wait_for_result(tx: Union[CliTransaction, Transaction]) -> Transact for _ in range(0, num_periods_to_wait): time.sleep(refresh_period) - on_chain_tx = proxy.get_transaction(tx_hash) + on_chain_tx = proxy.get_transaction(tx_hash, True) if on_chain_tx.is_completed: return on_chain_tx @@ -71,24 +72,25 @@ def raise_on_errors(on_chain_tx: TransactionOnNetwork): :param onChainTx: on chain finalised transaction :type onChainTx: Transaction """ - if not on_chain_tx.is_completed: - raise errors.UnfinalizedTransactionException(on_chain_tx) - if on_chain_tx.status.is_invalid(): raise errors.InvalidTransactionError(on_chain_tx) if on_chain_tx.status.is_failed(): raise errors.FailedTransactionError(on_chain_tx) + if not on_chain_tx.status.is_successful() or on_chain_tx.status.is_failed(): + raise errors.UnfinalizedTransactionException(on_chain_tx) event_identifiers = {e.identifier for e in on_chain_tx.logs.events} - if 'InternalVmExecutionError' in event_identifiers: + if "InternalVmExecutionError" in event_identifiers: raise errors.SmartContractExecutionError(on_chain_tx) - if 'internalVMErrors' in event_identifiers: + if "internalVMErrors" in event_identifiers: raise errors.InternalVmExecutionError(on_chain_tx) - if 'signalError' in event_identifiers: + if "signalError" in event_identifiers: raise errors.TransactionExecutionError(on_chain_tx) -def extract_simple_esdt_transfer(sender: str, receiver: str, data: str) -> OnChainTransfer: +def extract_simple_esdt_transfer( + sender: str, receiver: str, data: str +) -> OnChainTransfer: """ Extract a simple ESDT transfer from transaction data or smart contract result data @@ -96,20 +98,20 @@ def extract_simple_esdt_transfer(sender: str, receiver: str, data: str) -> OnCha :type sender: str :param receiver: address of the receiver of the data in bech32 :type receiver: str - :param data: data to analyse for simple ESDT transfer + :param data: data to analyze for simple ESDT transfer :type data: str :return: Transfer found in the data :rtype: OnChainTransfer """ - if not data.startswith('ESDTTransfer@'): - raise ValueError(f'Data does not describe a simple ESDT transfer: {data}') + if not data.startswith("ESDTTransfer@"): + raise ValueError(f"Data does not describe a simple ESDT transfer: {data}") try: - _, token_identifier, amount, *_ = data.split('@') + _, token_identifier, amount, *_ = data.split("@") token_identifier = bytearray.fromhex(token_identifier).decode() amount = str(int(amount, 16)) except Exception as err: - raise errors.ParsingError(data, 'ESDTTransfer') from err + raise errors.ParsingError(data, "ESDTTransfer") from err return OnChainTransfer(sender, receiver, token_identifier, amount) @@ -122,20 +124,20 @@ def extract_nft_transfer(sender: str, receiver: str, data: str) -> OnChainTransf :type sender: str :param receiver: address of the receiver of the data in bech32 :type receiver: str - :param data: data to analyse for nft transfer + :param data: data to analyze for nft transfer :type data: str :return: Transfer found in the data :rtype: OnChainTransfer """ - if not data.startswith('ESDTNFTTransfer@'): - raise ValueError(f'Data does not describe a nft transfer: {data}') + if not data.startswith("ESDTNFTTransfer@"): + raise ValueError(f"Data does not describe a nft transfer: {data}") try: - _, token_identifier, nonce, amount, *_ = data.split('@') - token_identifier = bytearray.fromhex(token_identifier).decode() + '-' + nonce + _, token_identifier, nonce, amount, *_ = data.split("@") + token_identifier = bytearray.fromhex(token_identifier).decode() + "-" + nonce amount = str(int(amount, 16)) except Exception as err: - raise errors.ParsingError(data, 'ESDTNFTTransfer') from err + raise errors.ParsingError(data, "ESDTNFTTransfer") from err return OnChainTransfer(sender, receiver, token_identifier, amount) @@ -146,46 +148,49 @@ def extract_multi_transfer(sender: str, data: str) -> List[OnChainTransfer]: :param sender: address of the sender of the data in bech32 :type sender: str - :param data: data to analyse for multi transfer + :param data: data to analyze for multi transfer :type data: str :return: Transfers found in the data :rtype: List[OnChainTransfer] """ - if not data.startswith('MultiESDTNFTTransfer@'): - raise ValueError(f'Data does not describe a multi transfer: {data}') + if not data.startswith("MultiESDTNFTTransfer@"): + raise ValueError(f"Data does not describe a multi transfer: {data}") try: - _, receiver, n_transfers, *details = data.split('@') + _, receiver, n_transfers, *details = data.split("@") n_transfers = int(n_transfers, base=16) - receiver = CliAddress(receiver).bech32() + receiver = Address.from_hex(receiver, hrp="erd").bech32() except Exception as err: - raise errors.ParsingError(data, 'MultiESDTNFTTransfer') from err + raise errors.ParsingError(data, "MultiESDTNFTTransfer") from err transfers = [] for i in range(n_transfers): try: - token_identifier, nonce, amount = details[3*i:3*(i+1)] + token_identifier, nonce, amount = details[3 * i : 3 * (i + 1)] token_identifier = bytearray.fromhex(token_identifier).decode() amount = str(int(amount, 16)) except Exception as err: - raise errors.ParsingError(data, 'MultiESDTNFTTransfer') from err - if nonce != '': - token_identifier += f'-{nonce}' + raise errors.ParsingError(data, "MultiESDTNFTTransfer") from err + if nonce != "": + token_identifier += f"-{nonce}" transfers.append(OnChainTransfer(sender, receiver, token_identifier, amount)) return transfers -def get_transfers_from_data(sender: str, receiver: str, data: str) -> List[OnChainTransfer]: +def get_transfers_from_data( + sender: str, receiver: str, data: str +) -> List[OnChainTransfer]: """ - Try to extract token transfers from the data of a transaction or asmart contract result. + Try to extract token transfers from the data of a transaction or + a smart contract result. It relies on the transfer format of ESDT. :param sender: address of the sender of the data in bech 32 :type sender: str :param receiver: address of the receiver of the data in bech 32 :type receiver: str - :param data: data to analyse for transfers + :param data: data to analyze for transfers :type data: str :return: tranfers extracted from the data :rtype: List[OnChainTransfer] @@ -209,8 +214,7 @@ def get_transfers_from_data(sender: str, receiver: str, data: str) -> List[OnCha def get_on_chain_transfers( - on_chain_tx: TransactionOnNetwork, - include_refund: bool = False + on_chain_tx: TransactionOnNetwork, include_refund: bool = False ) -> List[OnChainTransfer]: """ Extract from an on-chain transaction the tokens transfers that were operated in this @@ -228,18 +232,15 @@ def get_on_chain_transfers( receiver = on_chain_tx.receiver.bech32() amount = str(on_chain_tx.value) if amount != "0": - transfers.append(OnChainTransfer( - sender, - receiver, - 'EGLD', - amount - )) - elif sender != receiver and on_chain_tx.data.startswith('ESDTTransfer'): + transfers.append(OnChainTransfer(sender, receiver, "EGLD", amount)) + elif sender != receiver and on_chain_tx.data.startswith("ESDTTransfer"): try: - transfers.append(extract_simple_esdt_transfer(sender, receiver, on_chain_tx.data)) + transfers.append( + extract_simple_esdt_transfer(sender, receiver, on_chain_tx.data) + ) except errors.ParsingError: pass - elif on_chain_tx.data.startswith('MultiESDTNFTTransfer'): + elif on_chain_tx.data.startswith("MultiESDTNFTTransfer"): try: transfers.extend(extract_multi_transfer(sender, on_chain_tx.data)) except errors.ParsingError: @@ -249,12 +250,7 @@ def get_on_chain_transfers( sender, receiver = result.sender.bech32(), result.receiver.bech32() amount = str(result.value) if amount != "0" and (include_refund or not result.is_refund): - transfers.append(OnChainTransfer( - sender, - receiver, - 'EGLD', - amount - )) + transfers.append(OnChainTransfer(sender, receiver, "EGLD", amount)) else: transfers.extend(get_transfers_from_data(sender, receiver, result.data)) diff --git a/mxops/execution/scene.py b/mxops/execution/scene.py index 0669b69..6816696 100644 --- a/mxops/execution/scene.py +++ b/mxops/execution/scene.py @@ -12,14 +12,14 @@ import yaml from mxops.config.config import Config -from mxops.data.data import ExternalContractData, ScenarioData -from mxops.execution.steps import Step, instanciate_steps +from mxops.data.execution_data import _ScenarioData, ExternalContractData, ScenarioData +from mxops.execution.steps import LoopStep, SceneStep, Step, instanciate_steps from mxops.execution.account import AccountsManager from mxops import errors from mxops.utils.logger import get_logger -LOGGER = get_logger('scene') +LOGGER = get_logger("scene") @dataclass @@ -28,6 +28,7 @@ class Scene: Dataclass to represent a set of step to execute sequentially within a scenario. """ + allowed_networks: List[str] allowed_scenario: List[str] accounts: List[Dict] = field(default_factory=list) @@ -53,7 +54,7 @@ def load_scene(path: Path) -> Scene: :return: _description_ :rtype: List[Step] """ - with open(path.as_posix(), 'r', encoding='utf-8') as file: + with open(path.as_posix(), "r", encoding="utf-8") as file: raw_scene = yaml.safe_load(file) return Scene(**raw_scene) @@ -66,7 +67,7 @@ def execute_scene(scene_path: Path): :param scene_path: path to the scene file :type scene_path: Path """ - LOGGER.info(f'Executing scene {scene_path}') + LOGGER.info(f"Executing scene {scene_path}") scene = load_scene(scene_path) scenario_data = ScenarioData.get() @@ -74,11 +75,12 @@ def execute_scene(scene_path: Path): network = config.get_network() # check network authorization - if network.name not in scene.allowed_networks and network.value not in scene.allowed_networks: + if ( + network.name not in scene.allowed_networks + and network.value not in scene.allowed_networks + ): raise errors.ForbiddenSceneNetwork( - scene_path, - network.value, - scene.allowed_networks + scene_path, network.value, scene.allowed_networks ) # check scenario authorizations @@ -89,32 +91,47 @@ def execute_scene(scene_path: Path): break if not match_found: raise errors.ForbiddenSceneScenario( - scene_path, - scenario_data.name, - scene.allowed_scenario + scene_path, scenario_data.name, scene.allowed_scenario ) # load accounts for account in scene.accounts: AccountsManager.load_account(**account) - AccountsManager.sync_account(account['account_name']) + AccountsManager.sync_account(account["account_name"]) # load external contracts addresses for contract_id, address in scene.external_contracts.items(): try: # try to update the contract address while keeping data intact - scenario_data.set_contract_value(contract_id, 'address', address) + scenario_data.set_contract_value(contract_id, "address", address) except errors.UnknownContract: # otherwise create the contract data - scenario_data.add_contract_data(ExternalContractData( - contract_id=contract_id, - address=address, - saved_values={} - ) + scenario_data.add_contract_data( + ExternalContractData( + contract_id=contract_id, address=address, saved_values={} + ) ) # execute steps for step in scene.steps: + execute_step(step, scenario_data) + + +def execute_step(step: Step, scenario_data: _ScenarioData): + """ + Execute a step + + :param step: step to execute + :type step: Step + :param scenario_data: data of the current Scenario + :type scenario_data: _ScenarioData + """ + if isinstance(step, SceneStep): + execute_scene(Path(step.scene_path)) + elif isinstance(step, LoopStep): + for sub_step in step.generate_steps(): + execute_step(sub_step, scenario_data) + else: step.execute() scenario_data.save() diff --git a/mxops/execution/steps.py b/mxops/execution/steps.py index 46e3ba2..e9b7d3e 100644 --- a/mxops/execution/steps.py +++ b/mxops/execution/steps.py @@ -3,33 +3,44 @@ This module contains the classes used to execute scenes in a scenario """ +from __future__ import annotations +import base64 from dataclasses import dataclass, field +from importlib.util import spec_from_file_location, module_from_spec import os from pathlib import Path import sys -from typing import ClassVar, Dict, List, Set, Union - -from multiversx_sdk_cli.contracts import CodeMetadata -from multiversx_sdk_core import Address, TokenPayment +import time +from typing import ClassVar, Dict, Iterator, List, Set, Union + +from multiversx_sdk_cli.contracts import QueryResult +from multiversx_sdk_cli.constants import DEFAULT_HRP +from multiversx_sdk_core import ( + Address, + TokenPayment, + ContractQueryBuilder, + CodeMetadata, +) from multiversx_sdk_core import transaction_builders as tx_builder from multiversx_sdk_core.serializer import arg_to_string +from multiversx_sdk_network_providers import ProxyNetworkProvider +from multiversx_sdk_network_providers.transactions import TransactionOnNetwork from mxops.config.config import Config -from mxops.data.data import InternalContractData, ScenarioData, TokenData +from mxops.data.execution_data import InternalContractData, ScenarioData, TokenData from mxops.enums import TokenTypeEnum from mxops.execution import token_management_builders, utils from mxops.execution.account import AccountsManager -from mxops.execution import contract_interactions as cti from mxops.execution import token_management as tkm from mxops.execution.checks import Check, SuccessCheck, instanciate_checks from mxops.execution.msc import EsdtTransfer -from mxops.execution.network import raise_on_errors, send, send_and_wait_for_result +from mxops.execution.network import send, send_and_wait_for_result from mxops.execution.utils import parse_query_result from mxops.utils.logger import get_logger from mxops.utils.msc import get_file_hash, get_tx_link from mxops import errors -LOGGER = get_logger('steps') +LOGGER = get_logger("steps") @dataclass @@ -48,32 +59,114 @@ def execute(self): """ raise NotImplementedError + @classmethod + def from_dict(cls, data: Dict) -> Step: + """ + Instantiate a Step instance from a dictionary + + :return: step instance + :rtype: Step + """ + return cls(**data) + + +@dataclass(kw_only=True) +class TransactionStep(Step): + """ + Represents a step that produce and send a transaction + """ + + sender: str + checks: List[Check] = field(default_factory=lambda: [SuccessCheck()]) + + def __post_init__(self): + """ + After the initialisation of an instance, if the checks are + found to be Dict, will try to convert them to Checks instances. + Usefull for easy loading from yaml files + """ + if len(self.checks) > 0 and isinstance(self.checks[0], Dict): + self.checks = instanciate_checks(self.checks) + + def _create_builder(self) -> tx_builder.TransactionBuilder: + """ + Interface for the method that will create the transaction builder + + :return: builder for the transaction to send + :rtype: TransactionBuilder + """ + raise NotImplementedError + + def _post_transaction_execution(self, on_chain_tx: TransactionOnNetwork | None): + """ + Interface for the function that will be executed after the transaction has + been successfully executed + + :param on_chain_tx: on chain transaction that was sent by the Step + :type on_chain_tx: TransactionOnNetwork | None + """ + + def execute(self): + """ + Execute the workflow for a transaction Step: build, send, check + and post execute + """ + sender_account = AccountsManager.get_account(self.sender) + builder = self._create_builder() + tx = builder.build() + tx.nonce = sender_account.nonce + tx.signature = sender_account.signer.sign(tx) + sender_account.nonce += 1 + + if len(self.checks) > 0: + on_chain_tx = send_and_wait_for_result(tx) + for check in self.checks: + check.raise_on_failure(on_chain_tx) + LOGGER.info(f"Transaction successful: {get_tx_link(on_chain_tx.hash)}") + else: + on_chain_tx = None + send(tx) + LOGGER.info("Transaction sent") + + self._post_transaction_execution(on_chain_tx) + @dataclass class LoopStep(Step): """ Represents a set of steps to execute several time """ + steps: List[Step] var_name: str var_start: int = None var_end: int = None var_list: List[int] = None - def execute(self): + def generate_steps(self) -> Iterator[Step]: """ - Execute in loop the inner steps + Generate the steps that sould be executed + + :yield: steps to be executed + :rtype: Iterator[Step] """ if self.var_start is not None and self.var_end is not None: iterator = range(self.var_start, self.var_end) elif self.var_list is not None: iterator = self.var_list else: - raise ValueError('Loop iteration is not correctly defined') + raise ValueError("Loop iteration is not correctly defined") for var in iterator: os.environ[self.var_name] = str(var) for step in self.steps: - step.execute() + yield step + + def execute(self): + """ + Does nothing and should not be called. It is still implemented to avoid the + warning W0622. + """ + LOGGER.warning("The execute function of a SceneStep was called") def __post_init__(self): """ @@ -86,11 +179,11 @@ def __post_init__(self): @dataclass -class ContractDeployStep(Step): +class ContractDeployStep(TransactionStep): """ Represents a smart contract deployment """ - sender: Dict + wasm_path: str contract_id: str gas_limit: int @@ -98,60 +191,176 @@ class ContractDeployStep(Step): readable: bool = True payable: bool = False payable_by_sc: bool = False - arguments: List = field(default_factory=lambda: []) + arguments: List = field(default_factory=list) - def execute(self): + def _create_builder(self) -> tx_builder.TransactionBuilder: """ - Execute a contract deployment + Create the builder for the contract deployment transaction + + :return: builder of the transaction + :rtype: tx_builder.TransactionBuilder """ - LOGGER.info(f'Deploying contract {self.contract_id}') + LOGGER.info(f"Deploying contract {self.contract_id}") scenario_data = ScenarioData.get() # check that the id of the contract is free try: - scenario_data.get_contract_value(self.contract_id, 'address') + scenario_data.get_contract_value(self.contract_id, "address") raise errors.ContractIdAlreadyExists(self.contract_id) except errors.UnknownContract: pass - # contruct the transaction - sender = AccountsManager.get_account(self.sender) - metadata = CodeMetadata(self.upgradeable, self.readable, - self.payable, self.payable_by_sc) - wasm_path = Path(self.wasm_path) - tx, contract = cti.get_contract_deploy_tx(wasm_path, metadata, - self.gas_limit, self.arguments, sender) - on_chain_tx = send_and_wait_for_result(tx) - raise_on_errors(on_chain_tx) - sender.nonce += 1 - LOGGER.info((f'Deploy successful on {contract.address}' - f'\ntx hash: {get_tx_link(on_chain_tx.hash)}')) - - creation_timestamp = on_chain_tx.to_dictionary()['timestamp'] + metadata = CodeMetadata( + self.upgradeable, self.readable, self.payable, self.payable_by_sc + ) + args = utils.retrieve_and_format_arguments(self.arguments) + + builder = tx_builder.ContractDeploymentBuilder( + config=token_management_builders.get_builder_config(), + owner=utils.get_address_instance(self.sender), + deploy_arguments=args, + code_metadata=metadata, + code=Path(self.wasm_path).read_bytes(), + gas_limit=self.gas_limit, + ) + return builder + + def _post_transaction_execution(self, on_chain_tx: TransactionOnNetwork | None): + """ + Save the new contract data in the Scenario + + :param on_chain_tx: successful deployment transaction + :type on_chain_tx: TransactionOnNetwork | None + """ + if not isinstance(on_chain_tx, TransactionOnNetwork): + raise ValueError("On chain transaction is None") + + scenario_data = ScenarioData.get() + contract_address = None + for event in on_chain_tx.logs.events: + if event.identifier == "SCDeploy": + hex_address = event.topics[0].hex() + contract_address = Address.from_hex(hex_address, hrp=DEFAULT_HRP) + + if not isinstance(contract_address, Address): + raise errors.ParsingError(on_chain_tx, "contract deployment address") + contract_data = InternalContractData( contract_id=self.contract_id, - address=contract.address.bech32(), + address=contract_address.bech32(), saved_values={}, - wasm_hash=get_file_hash(wasm_path), - deploy_time=creation_timestamp, - last_upgrade_time=creation_timestamp, + wasm_hash=get_file_hash(Path(self.wasm_path)), + deploy_time=on_chain_tx.timestamp, + last_upgrade_time=on_chain_tx.timestamp, ) scenario_data.add_contract_data(contract_data) @dataclass -class ContractCallStep(Step): +class ContractUpgradeStep(TransactionStep): """ - Represents a smart contract endpoint call + Represents a smart contract upgrade """ + sender: Dict + contract: str + wasm_path: str + gas_limit: int + upgradeable: bool = True + readable: bool = True + payable: bool = False + payable_by_sc: bool = False + arguments: List = field(default_factory=lambda: []) + + def _create_builder(self) -> tx_builder.TransactionBuilder: + """ + Create the builder for the contract upgrade transaction + + :return: builder of the transaction + :rtype: tx_builder.TransactionBuilder + """ + LOGGER.info(f"Upgrading contract {self.contract}") + + metadata = CodeMetadata( + self.upgradeable, self.readable, self.payable, self.payable_by_sc + ) + args = utils.retrieve_and_format_arguments(self.arguments) + + builder = tx_builder.ContractUpgradeBuilder( + config=token_management_builders.get_builder_config(), + contract=utils.get_address_instance(self.contract), + owner=utils.get_address_instance(self.sender), + upgrade_arguments=args, + code_metadata=metadata, + code=Path(self.wasm_path).read_bytes(), + gas_limit=self.gas_limit, + ) + return builder + + def _post_transaction_execution(self, on_chain_tx: TransactionOnNetwork | None): + """ + Save the new contract data in the Scenario + + :param on_chain_tx: successful upgrade transaction + :type on_chain_tx: TransactionOnNetwork | None + """ + if not isinstance(on_chain_tx, TransactionOnNetwork): + raise ValueError("On chain transaction is None") + + scenario_data = ScenarioData.get() + try: + scenario_data.set_contract_value( + self.contract, "last_upgrade_time", on_chain_tx.timestamp + ) + except errors.UnknownContract: # any contract can be upgraded + pass + + +@dataclass +class ContractCallStep(TransactionStep): + """ + Represents a smart contract endpoint call + """ + contract: str endpoint: str gas_limit: int arguments: List = field(default_factory=lambda: []) - value: int = 0 + value: int | str = 0 esdt_transfers: List[EsdtTransfer] = field(default_factory=lambda: []) - checks: List[Check] = field(default_factory=lambda: [SuccessCheck()]) + + def _create_builder(self) -> tx_builder.TransactionBuilder: + """ + Create the builder for the contract upgrade transaction + + :return: builder of the transaction + :rtype: tx_builder.TransactionBuilder + """ + LOGGER.info(f"Calling {self.endpoint} for {self.contract}") + + args = utils.retrieve_and_format_arguments(self.arguments) + esdt_transfers = [ + TokenPayment.meta_esdt_from_integer( + utils.retrieve_value_from_string(trf.token_identifier), + utils.retrieve_value_from_any(trf.nonce), + utils.retrieve_value_from_any(trf.amount), + 0, + ) + for trf in self.esdt_transfers + ] + value = utils.retrieve_value_from_any(self.value) + + builder = tx_builder.ContractCallBuilder( + config=token_management_builders.get_builder_config(), + contract=utils.get_address_instance(self.contract), + caller=utils.get_address_instance(self.sender), + function_name=self.endpoint, + value=value, + call_arguments=args, + esdt_transfers=esdt_transfers, + gas_limit=self.gas_limit, + ) + return builder def __post_init__(self): """ @@ -160,6 +369,7 @@ def __post_init__(self): will try to convert them to EsdtTransfers instances. Usefull for easy loading from yaml files """ + super().__post_init__() checked_transfers = [] for trf in self.esdt_transfers: if isinstance(trf, EsdtTransfer): @@ -167,82 +377,94 @@ def __post_init__(self): elif isinstance(trf, Dict): checked_transfers.append(EsdtTransfer(**trf)) else: - raise ValueError(f'Unexpected type: {type(trf)}') + raise ValueError(f"Unexpected type: {type(trf)}") self.esdt_transfers = checked_transfers - if len(self.checks) > 0 and isinstance(self.checks[0], Dict): - self.checks = instanciate_checks(self.checks) - - def execute(self): - """ - Execute a contract call - """ - LOGGER.info(f'Calling {self.endpoint} for {self.contract}') - sender = AccountsManager.get_account(self.sender) - - tx = cti.get_contract_call_tx(self.contract, - self.endpoint, - self.gas_limit, - self.arguments, - self.value, - self.esdt_transfers, - sender) - - if self.checks: - on_chain_tx = send_and_wait_for_result(tx) - for check in self.checks: - check.raise_on_failure(on_chain_tx) - LOGGER.info( - f'Call successful: {get_tx_link(on_chain_tx.hash)}') - else: - tx_hash = send(tx) - LOGGER.info(f'Call sent: {get_tx_link(tx_hash)}') - sender.nonce += 1 - @dataclass class ContractQueryStep(Step): """ Represents a smart contract query """ + contract: str endpoint: str arguments: List = field(default_factory=lambda: []) expected_results: List[Dict[str, str]] = field(default_factory=lambda: []) print_results: bool = False + results: List[QueryResult] | None = field(init=False, default=None) + + def _interpret_return_data(self, data: str) -> QueryResult: + if not data: + return QueryResult("", "", None) + + try: + as_bytes = base64.b64decode(data) + as_hex = as_bytes.hex() + try: + as_int = int(str(int(as_hex or "0", 16))) + except (ValueError, TypeError): + as_int = None + result = QueryResult(data, as_hex, as_int) + return result + except Exception as err: + raise errors.ParsingError(data, "QueryResult") from err def execute(self): """ Execute a query and optionally save the result """ - LOGGER.info(f'Query on {self.endpoint} for {self.contract}') + LOGGER.info(f"Query on {self.endpoint} for {self.contract}") + config = Config.get_config() scenario_data = ScenarioData.get() - results = cti.query_contract(self.contract, - self.endpoint, - self.arguments) - - if self.print_results: - print(results) - - if len(results) == 0 or (len(results) == 1 and results[0] == ''): + args = utils.retrieve_and_format_arguments(self.arguments) + builder = ContractQueryBuilder( + contract=utils.get_address_instance(self.contract), + function=self.endpoint, + call_arguments=args, + ) + query = builder.build() + proxy = ProxyNetworkProvider(config.get("PROXY")) + + results_empty = True + n_attempts = 0 + max_attempts = int(Config.get_config().get("MAX_QUERY_ATTEMPTS")) + while results_empty and n_attempts < max_attempts: + n_attempts += 1 + response = proxy.query_contract(query) + self.results = [ + self._interpret_return_data(data) for data in response.return_data + ] + results_empty = len(self.results) == 0 or ( + len(self.results) == 1 and self.results[0] == "" + ) + if results_empty: + time.sleep(3) + LOGGER.warning( + f"Empty query result, retrying. Attempt {n_attempts}/{max_attempts}" + ) + if results_empty: raise errors.EmptyQueryResults + if self.print_results: + print(self.results) if len(self.expected_results) > 0: - LOGGER.info('Saving Query results as contract data') - for result, expected_result in zip(results, self.expected_results): - parsed_result = parse_query_result(result, - expected_result['result_type']) - scenario_data.set_contract_value(self.contract, - expected_result['save_key'], - parsed_result) - LOGGER.info('Query successful') + LOGGER.info("Saving Query results as contract data") + for result, expected_result in zip(self.results, self.expected_results): + parsed_result = parse_query_result( + result, expected_result["result_type"] + ) + scenario_data.set_contract_value( + self.contract, expected_result["save_key"], parsed_result + ) + LOGGER.info("Query successful") @dataclass -class FungibleIssueStep(Step): +class FungibleIssueStep(TransactionStep): """ Represents the issuance of a fungible token """ - sender: str + token_name: str token_ticker: str initial_supply: int @@ -256,270 +478,299 @@ class FungibleIssueStep(Step): can_upgrade: bool = False can_add_special_roles: bool = False - def execute(self): + def _create_builder(self) -> tx_builder.TransactionBuilder: """ - Execute a fungible token issuance and save the token identifier of the created token + Create the builder for the fungible issue transaction + + :return: builder for the transaction + :rtype: tx_builder.TransactionBuilder """ - LOGGER.info(f'Issuing fungible token named {self.token_name} for the account {self.sender}') - scenario_data = ScenarioData.get() - sender = AccountsManager.get_account(self.sender) - - tx = tkm.build_fungible_issue_tx( - sender, - self.token_name, - self.token_ticker, - self.initial_supply, - self.num_decimals, - self.can_freeze, - self.can_wipe, - self.can_pause, - self.can_mint, - self.can_change_owner, - self.can_upgrade, - self.can_add_special_roles - ) - on_chain_tx = send_and_wait_for_result(tx) - raise_on_errors(on_chain_tx) - sender.nonce += 1 - LOGGER.info(f'Call successful: {get_tx_link(on_chain_tx.hash)}') + LOGGER.info( + f"Issuing fungible token named {self.token_name} " + f"for the account {self.sender}" + ) + builder = token_management_builders.FungibleTokenIssueBuilder( + config=token_management_builders.get_builder_config(), + issuer=utils.get_address_instance(self.sender), + token_name=self.token_name, + token_ticker=self.token_ticker, + initial_supply=self.initial_supply, + num_decimals=self.num_decimals, + can_freeze=self.can_freeze, + can_wipe=self.can_wipe, + can_pause=self.can_pause, + can_mint=self.can_mint, + can_burn=self.can_burn, + can_change_owner=self.can_change_owner, + can_upgrade=self.can_upgrade, + can_add_special_roles=self.can_add_special_roles, + ) + return builder + def _post_transaction_execution(self, on_chain_tx: TransactionOnNetwork | None): + """ + Extract the newly issued token identifier and save it within the Scenario + + :param on_chain_tx: successful transaction + :type on_chain_tx: TransactionOnNetwork | None + """ + if not isinstance(on_chain_tx, TransactionOnNetwork): + raise ValueError("On chain transaction is None") + scenario_data = ScenarioData.get() token_identifier = tkm.extract_new_token_identifier(on_chain_tx) - LOGGER.info(f'Newly issued token got the identifier {token_identifier}') - scenario_data.add_token_data(TokenData( - name=self.token_name, - ticker=self.token_ticker, - identifier=token_identifier, - saved_values={}, - type=TokenTypeEnum.FUNGIBLE - )) + LOGGER.info(f"Newly issued token got the identifier {token_identifier}") + scenario_data.add_token_data( + TokenData( + name=self.token_name, + ticker=self.token_ticker, + identifier=token_identifier, + saved_values={}, + type=TokenTypeEnum.FUNGIBLE, + ) + ) @dataclass -class NonFungibleIssueStep(Step): +class NonFungibleIssueStep(TransactionStep): """ Represents the issuance of a non fungible token """ - sender: str + token_name: str token_ticker: str can_freeze: bool = False can_wipe: bool = False can_pause: bool = False - can_mint: bool = False - can_burn: bool = False can_change_owner: bool = False can_upgrade: bool = False can_add_special_roles: bool = False can_transfer_nft_create_role: bool = False - def execute(self): + def _create_builder(self) -> tx_builder.TransactionBuilder: """ - Execute a non fungible token issuance and save the token identifier of the created token + Create the builder for the non fungible issue transaction + + :return: builder for the transaction + :rtype: tx_builder.TransactionBuilder """ LOGGER.info( - f'Issuing non fungible token named {self.token_name} for the account {self.sender}' + f"Issuing non fungible token named {self.token_name} " + f"for the account {self.sender}" ) - scenario_data = ScenarioData.get() - sender = AccountsManager.get_account(self.sender) - - tx = tkm.build_non_fungible_issue_tx( - sender, - self.token_name, - self.token_ticker, - self.can_freeze, - self.can_wipe, - self.can_pause, - self.can_mint, - self.can_change_owner, - self.can_upgrade, - self.can_add_special_roles, - self.can_transfer_nft_create_role - ) - on_chain_tx = send_and_wait_for_result(tx) - raise_on_errors(on_chain_tx) - sender.nonce += 1 - LOGGER.info(f'Call successful: {get_tx_link(on_chain_tx.hash)}') + builder = token_management_builders.NonFungibleTokenIssueBuilder( + config=token_management_builders.get_builder_config(), + issuer=utils.get_address_instance(self.sender), + token_name=self.token_name, + token_ticker=self.token_ticker, + can_freeze=self.can_freeze, + can_wipe=self.can_wipe, + can_pause=self.can_pause, + can_change_owner=self.can_change_owner, + can_upgrade=self.can_upgrade, + can_add_special_roles=self.can_add_special_roles, + can_transfer_nft_create_role=self.can_add_special_roles, + ) + return builder + + def _post_transaction_execution(self, on_chain_tx: TransactionOnNetwork | None): + """ + Extract the newly issued token identifier and save it within the Scenario + :param on_chain_tx: successful transaction + :type on_chain_tx: TransactionOnNetwork | None + """ + if not isinstance(on_chain_tx, TransactionOnNetwork): + raise ValueError("On chain transaction is None") + scenario_data = ScenarioData.get() token_identifier = tkm.extract_new_token_identifier(on_chain_tx) - LOGGER.info(f'Newly issued token got the identifier {token_identifier}') - scenario_data.add_token_data(TokenData( - name=self.token_name, - ticker=self.token_ticker, - identifier=token_identifier, - saved_values={}, - type=TokenTypeEnum.NON_FUNGIBLE - )) + LOGGER.info(f"Newly issued token got the identifier {token_identifier}") + scenario_data.add_token_data( + TokenData( + name=self.token_name, + ticker=self.token_ticker, + identifier=token_identifier, + saved_values={}, + type=TokenTypeEnum.NON_FUNGIBLE, + ) + ) @dataclass -class SemiFungibleIssueStep(Step): +class SemiFungibleIssueStep(TransactionStep): """ Represents the issuance of a semi fungible token """ - sender: str + token_name: str token_ticker: str can_freeze: bool = False can_wipe: bool = False can_pause: bool = False - can_mint: bool = False - can_burn: bool = False can_change_owner: bool = False can_upgrade: bool = False can_add_special_roles: bool = False can_transfer_nft_create_role: bool = False - def execute(self): + def _create_builder(self) -> tx_builder.TransactionBuilder: """ - Execute a semi fungible token issuance and save the token identifier of the created token + Create the builder for the semi fungible issue transaction + + :return: builder for the transaction + :rtype: tx_builder.TransactionBuilder """ LOGGER.info( - f'Issuing semi fungible token named {self.token_name} for the account {self.sender}' + f"Issuing semi fungible token named {self.token_name} " + f"for the account {self.sender}" ) - scenario_data = ScenarioData.get() - sender = AccountsManager.get_account(self.sender) - - tx = tkm.build_semi_fungible_issue_tx( - sender, - self.token_name, - self.token_ticker, - self.can_freeze, - self.can_wipe, - self.can_pause, - self.can_mint, - self.can_change_owner, - self.can_upgrade, - self.can_add_special_roles, - self.can_transfer_nft_create_role - ) - on_chain_tx = send_and_wait_for_result(tx) - raise_on_errors(on_chain_tx) - sender.nonce += 1 - LOGGER.info(f'Call successful: {get_tx_link(on_chain_tx.hash)}') + builder = token_management_builders.SemiFungibleTokenIssueBuilder( + config=token_management_builders.get_builder_config(), + issuer=utils.get_address_instance(self.sender), + token_name=self.token_name, + token_ticker=self.token_ticker, + can_freeze=self.can_freeze, + can_wipe=self.can_wipe, + can_pause=self.can_pause, + can_change_owner=self.can_change_owner, + can_upgrade=self.can_upgrade, + can_add_special_roles=self.can_add_special_roles, + can_transfer_nft_create_role=self.can_transfer_nft_create_role, + ) + return builder + + def _post_transaction_execution(self, on_chain_tx: TransactionOnNetwork | None): + """ + Extract the newly issued token identifier and save it within the Scenario + :param on_chain_tx: successful transaction + :type on_chain_tx: TransactionOnNetwork | None + """ + if not isinstance(on_chain_tx, TransactionOnNetwork): + raise ValueError("On chain transaction is None") + scenario_data = ScenarioData.get() token_identifier = tkm.extract_new_token_identifier(on_chain_tx) - LOGGER.info(f'Newly issued token got the identifier {token_identifier}') - scenario_data.add_token_data(TokenData( - name=self.token_name, - ticker=self.token_ticker, - identifier=token_identifier, - saved_values={}, - type=TokenTypeEnum.SEMI_FUNGIBLE - )) + LOGGER.info(f"Newly issued token got the identifier {token_identifier}") + scenario_data.add_token_data( + TokenData( + name=self.token_name, + ticker=self.token_ticker, + identifier=token_identifier, + saved_values={}, + type=TokenTypeEnum.SEMI_FUNGIBLE, + ) + ) @dataclass -class MetaIssueStep(Step): +class MetaIssueStep(TransactionStep): """ Represents the issuance of a meta fungible token """ - sender: str + token_name: str token_ticker: str num_decimals: int can_freeze: bool = False can_wipe: bool = False can_pause: bool = False - can_mint: bool = False - can_burn: bool = False can_change_owner: bool = False can_upgrade: bool = False can_add_special_roles: bool = False can_transfer_nft_create_role: bool = False - def execute(self): + def _create_builder(self) -> tx_builder.TransactionBuilder: """ - Execute a meta token issuance and save the token identifier of the created token + Create the builder for the meta issue transaction + + :return: builder for the transaction + :rtype: tx_builder.TransactionBuilder """ LOGGER.info( - f'Issuing meta fungible token named {self.token_name} for the account {self.sender}' + f"Issuing meta token named {self.token_name} " + f"for the account {self.sender}" ) - scenario_data = ScenarioData.get() - sender = AccountsManager.get_account(self.sender) - - tx = tkm.build_meta_issue_tx( - sender, - self.token_name, - self.token_ticker, - self.num_decimals, - self.can_freeze, - self.can_wipe, - self.can_pause, - self.can_mint, - self.can_change_owner, - self.can_upgrade, - self.can_add_special_roles, - self.can_transfer_nft_create_role - ) - on_chain_tx = send_and_wait_for_result(tx) - raise_on_errors(on_chain_tx) - sender.nonce += 1 - LOGGER.info(f'Call successful: {get_tx_link(on_chain_tx.hash)}') + builder = token_management_builders.MetaFungibleTokenIssueBuilder( + config=token_management_builders.get_builder_config(), + issuer=utils.get_address_instance(self.sender), + token_name=self.token_name, + token_ticker=self.token_ticker, + num_decimals=self.num_decimals, + can_freeze=self.can_freeze, + can_wipe=self.can_wipe, + can_pause=self.can_pause, + can_change_owner=self.can_change_owner, + can_upgrade=self.can_upgrade, + can_add_special_roles=self.can_add_special_roles, + can_transfer_nft_create_role=self.can_transfer_nft_create_role, + ) + return builder + + def _post_transaction_execution(self, on_chain_tx: TransactionOnNetwork | None): + """ + Extract the newly issued token identifier and save it within the Scenario + :param on_chain_tx: successful transaction + :type on_chain_tx: TransactionOnNetwork | None + """ + if not isinstance(on_chain_tx, TransactionOnNetwork): + raise ValueError("On chain transaction is None") + scenario_data = ScenarioData.get() token_identifier = tkm.extract_new_token_identifier(on_chain_tx) - LOGGER.info(f'Newly issued token got the identifier {token_identifier}') - scenario_data.add_token_data(TokenData( - name=self.token_name, - ticker=self.token_ticker, - identifier=token_identifier, - saved_values={}, - type=TokenTypeEnum.SEMI_FUNGIBLE - )) + LOGGER.info(f"Newly issued token got the identifier {token_identifier}") + scenario_data.add_token_data( + TokenData( + name=self.token_name, + ticker=self.token_ticker, + identifier=token_identifier, + saved_values={}, + type=TokenTypeEnum.META, + ) + ) @dataclass -class ManageTokenRolesStep(Step): +class ManageTokenRolesStep(TransactionStep): """ A base step to set or unset roles on a token. Can not be used on its own: on must use the child classes """ - sender: str + is_set: bool token_identifier: str target: str roles: List[str] ALLOWED_ROLES: ClassVar[Set] = set() - def execute(self): + def _create_builder(self) -> tx_builder.TransactionBuilder: """ - Execute a transaction to manage the roles of an address on a token - """ - - config = Config.get_config() - builder_config = token_management_builders.MyDefaultTransactionBuildersConfiguration( - chain_id=config.get('CHAIN') - ) + Create the builder for the manage token roles transaction - sender = AccountsManager.get_account(self.sender) + :return: builder for the transaction + :rtype: tx_builder.TransactionBuilder + """ token_identifier = utils.retrieve_value_from_string(self.token_identifier) - roles = utils.retrieve_values_from_strings(self.roles) - target = Address.from_bech32(utils.retrieve_value_from_string(self.target)) - - LOGGER.info(f'Setting roles {self.roles} on the token {token_identifier}' - f' ({self.token_identifier}) for the address {target} ({self.target})' - ) + target = utils.get_address_instance(self.target) + LOGGER.info( + f"Setting roles {self.roles} on the token {self.token_identifier}" + f" ({token_identifier}) for {self.target} ({target})" + ) builder = token_management_builders.ManageTokenRolesBuilder( - builder_config, - sender.address, - self.is_set, - token_identifier, - target, - roles, - nonce=sender.nonce + config=token_management_builders.get_builder_config(), + sender=utils.get_address_instance(self.sender), + is_set=self.is_set, + token_identifier=token_identifier, + target=target, + roles=utils.retrieve_values_from_strings(self.roles), ) - tx = builder.build() - tx.signature = sender.signer.sign(tx) - sender.nonce += 1 - - on_chain_tx = send_and_wait_for_result(tx) - raise_on_errors(on_chain_tx) - LOGGER.info(f'Call successful: {get_tx_link(on_chain_tx.hash)}') + return builder def __post_init__(self): + super().__post_init__() for role in self.roles: if role not in self.ALLOWED_ROLES: - raise ValueError(f'role {role} is not in allowed roles {self.ALLOWED_ROLES}') + raise ValueError( + f"role {role} is not in allowed roles {self.ALLOWED_ROLES}" + ) @dataclass @@ -527,10 +778,11 @@ class ManageFungibleTokenRolesStep(ManageTokenRolesStep): """ This step is used to set or unset roles for an adress on a fungible token """ + ALLOWED_ROLES: ClassVar[Set] = { - 'ESDTRoleLocalBurn', - 'ESDTRoleLocalMint', - 'ESDTTransferRole' + "ESDTRoleLocalBurn", + "ESDTRoleLocalMint", + "ESDTTransferRole", } @@ -539,12 +791,13 @@ class ManageNonFungibleTokenRolesStep(ManageTokenRolesStep): """ This step is used to set or unset roles for an adress on a non fungible token """ + ALLOWED_ROLES: ClassVar[Set] = { - 'ESDTRoleNFTCreate', - 'ESDTRoleNFTBurn', - 'ESDTRoleNFTUpdateAttributes', - 'ESDTRoleNFTAddURI', - 'ESDTTransferRole' + "ESDTRoleNFTCreate", + "ESDTRoleNFTBurn", + "ESDTRoleNFTUpdateAttributes", + "ESDTRoleNFTAddURI", + "ESDTTransferRole", } @@ -553,11 +806,12 @@ class ManageSemiFungibleTokenRolesStep(ManageTokenRolesStep): """ This step is used to set or unset roles for an adress on a semi fungible token """ + ALLOWED_ROLES: ClassVar[Set] = { - 'ESDTRoleNFTCreate', - 'ESDTRoleNFTBurn', - 'ESDTRoleNFTAddQuantity', - 'ESDTTransferRole' + "ESDTRoleNFTCreate", + "ESDTRoleNFTBurn", + "ESDTRoleNFTAddQuantity", + "ESDTTransferRole", } @@ -569,262 +823,202 @@ class ManageMetaTokenRolesStep(ManageSemiFungibleTokenRolesStep): @dataclass -class FungibleMintStep(Step): +class FungibleMintStep(TransactionStep): """ - This step is used to mint an additional supply for an already existing fungible token + This step is used to mint an additional supply for an already + existing fungible token """ - sender: str + token_identifier: str amount: Union[str, int] - def execute(self): - """ - Execute a transaction to mint an additional supply for an already existing fungible token + def _create_builder(self) -> tx_builder.TransactionBuilder: """ - config = Config.get_config() - builder_config = token_management_builders.MyDefaultTransactionBuildersConfiguration( - chain_id=config.get('CHAIN') - ) + Create the builder for the fungible mint transaction - sender = AccountsManager.get_account(self.sender) + :return: builder for the transaction + :rtype: tx_builder.TransactionBuilder + """ token_identifier = utils.retrieve_value_from_string(self.token_identifier) amount = utils.retrieve_value_from_any(self.amount) - LOGGER.info( - f'Minting additional supply of {amount} ({self.amount}) for the token ' - f' {token_identifier} ({self.token_identifier})' + f"Minting additional supply of {amount} ({self.amount}) for the token " + f" {token_identifier} ({self.token_identifier})" ) - builder = token_management_builders.FungibleMintBuilder( - builder_config, - sender.address, - token_identifier, - amount, - nonce=sender.nonce + config=token_management_builders.get_builder_config(), + sender=utils.get_address_instance(self.sender), + token_identifier=token_identifier, + amount_as_integer=amount, ) - tx = builder.build() - tx.signature = sender.signer.sign(tx) - sender.nonce += 1 - - on_chain_tx = send_and_wait_for_result(tx) - raise_on_errors(on_chain_tx) - LOGGER.info(f'Call successful: {get_tx_link(on_chain_tx.hash)}') + return builder @dataclass -class NonFungibleMintStep(Step): +class NonFungibleMintStep(TransactionStep): """ This step is used to mint a new nonce for an already existing non fungible token. It can be used for NFTs, SFTs and Meta tokens. """ - sender: str + token_identifier: str amount: Union[str, int] - name: str = '' + name: str = "" royalties: Union[str, int] = 0 - hash: str = '' - attributes: str = '' + hash: str = "" + attributes: str = "" uris: List[str] = field(default_factory=lambda: []) - def execute(self): - """ - Execute a transaction to mint a new nonce for an already existing non fungible token + def _create_builder(self) -> tx_builder.TransactionBuilder: """ - config = Config.get_config() - builder_config = token_management_builders.MyDefaultTransactionBuildersConfiguration( - chain_id=config.get('CHAIN') - ) + Create the builder for the meta issue transaction - sender = AccountsManager.get_account(self.sender) + :return: builder for the transaction + :rtype: tx_builder.TransactionBuilder + """ token_identifier = utils.retrieve_value_from_string(self.token_identifier) amount = utils.retrieve_value_from_any(self.amount) - LOGGER.info( - f'Minting new nonce with a supply of {amount} ({self.amount}) for the token ' - f' {token_identifier} ({self.token_identifier})' + f"Minting new nonce with a supply of {amount} ({self.amount}) for the token" + f" {token_identifier} ({self.token_identifier})" ) - builder = token_management_builders.NonFungibleMintBuilder( - builder_config, - sender.address, - token_identifier, - amount, - utils.retrieve_value_from_string(self.name), - utils.retrieve_value_from_any(self.royalties), - utils.retrieve_value_from_string(self.hash), - utils.retrieve_value_from_string(self.attributes), - utils.retrieve_values_from_strings(self.uris), - nonce=sender.nonce + config=token_management_builders.get_builder_config(), + sender=utils.get_address_instance(self.sender), + token_identifier=token_identifier, + amount_as_integer=amount, + name=utils.retrieve_value_from_string(self.name), + royalties=utils.retrieve_value_from_any(self.royalties), + hash=utils.retrieve_value_from_string(self.hash), + attributes=utils.retrieve_value_from_string(self.attributes), + uris=utils.retrieve_values_from_strings(self.uris), ) - tx = builder.build() - tx.signature = sender.signer.sign(tx) - sender.nonce += 1 + return builder - on_chain_tx = send_and_wait_for_result(tx) - raise_on_errors(on_chain_tx) - LOGGER.info(f'Call successful: {get_tx_link(on_chain_tx.hash)}') + def _post_transaction_execution(self, on_chain_tx: TransactionOnNetwork | None): + """ + Extract the newly issued nonce and print it + :param on_chain_tx: successful transaction + :type on_chain_tx: TransactionOnNetwork | None + """ + if not isinstance(on_chain_tx, TransactionOnNetwork): + return new_nonce = tkm.extract_new_nonce(on_chain_tx) - LOGGER.info(f'Newly issued nonce is {new_nonce}') + LOGGER.info(f"Newly issued nonce is {new_nonce}") @dataclass -class EgldTransferStep(Step): +class EgldTransferStep(TransactionStep): """ This step is used to transfer some eGLD to an address """ - sender: str + receiver: str amount: Union[str, int] - check_success: bool = True - def execute(self): - """ - Execute an eGLD transfer transaction + def _create_builder(self) -> tx_builder.TransactionBuilder: """ - config = Config.get_config() - builder_config = token_management_builders.MyDefaultTransactionBuildersConfiguration( - chain_id=config.get('CHAIN') - ) + Create the builder for the egld transfer transaction - sender = AccountsManager.get_account(self.sender) - receiver_address = utils.get_address_instance(self.receiver) + :return: builder of the transaction + :rtype: tx_builder.TransactionBuilder + """ amount = int(utils.retrieve_value_from_any(self.amount)) payment = TokenPayment.egld_from_integer(amount) - LOGGER.info(f'Sending {amount} eGLD from {self.sender} to {self.receiver}') - builder = tx_builder.EGLDTransferBuilder( - config=builder_config, - sender=sender.address, - receiver=receiver_address, + config=token_management_builders.get_builder_config(), + sender=utils.get_address_instance(self.sender), + receiver=utils.get_address_instance(self.receiver), payment=payment, - nonce=sender.nonce ) - tx = builder.build() - tx.signature = sender.signer.sign(tx) - sender.nonce += 1 - - if self.check_success: - on_chain_tx = send_and_wait_for_result(tx) - raise_on_errors(on_chain_tx) - LOGGER.info(f'Transaction successful: {get_tx_link(on_chain_tx.hash)}') - else: - send(tx) - LOGGER.info('Transaction sent') + LOGGER.info(f"Sending {amount} eGLD from {self.sender} to {self.receiver}") + return builder @dataclass -class FungibleTransferStep(Step): +class FungibleTransferStep(TransactionStep): """ This step is used to transfer some fungible ESDT to an address """ - sender: str + receiver: str token_identifier: str amount: Union[str, int] - check_success: bool = True - def execute(self): + def _create_builder(self) -> tx_builder.TransactionBuilder: """ - Execute a fungible ESDT transfer transaction - """ - config = Config.get_config() - builder_config = token_management_builders.MyDefaultTransactionBuildersConfiguration( - chain_id=config.get('CHAIN') - ) + Create the builder for the ESDT transfer transaction - sender = AccountsManager.get_account(self.sender) - receiver_address = utils.get_address_instance(self.receiver) + :return: builder of the transaction + :rtype: tx_builder.TransactionBuilder + """ token_identifier = utils.retrieve_value_from_string(self.token_identifier) amount = int(utils.retrieve_value_from_any(self.amount)) payment = TokenPayment.fungible_from_integer(token_identifier, amount, 0) - LOGGER.info(f'Sending {amount} {token_identifier} from {self.sender} to {self.receiver}') - builder = tx_builder.ESDTTransferBuilder( - config=builder_config, - sender=sender.address, - receiver=receiver_address, + config=token_management_builders.get_builder_config(), + sender=utils.get_address_instance(self.sender), + receiver=utils.get_address_instance(self.receiver), payment=payment, - nonce=sender.nonce ) - tx = builder.build() - tx.signature = sender.signer.sign(tx) - sender.nonce += 1 - - if self.check_success: - on_chain_tx = send_and_wait_for_result(tx) - raise_on_errors(on_chain_tx) - LOGGER.info(f'Transaction successful: {get_tx_link(on_chain_tx.hash)}') - else: - send(tx) - LOGGER.info('Transaction sent') + LOGGER.info( + f"Sending {amount} {token_identifier} from {self.sender} to {self.receiver}" + ) + return builder @dataclass -class NonFungibleTransferStep(Step): +class NonFungibleTransferStep(TransactionStep): """ This step is used to transfer some non fungible ESDT to an address """ - sender: str + receiver: str token_identifier: str nonce: Union[str, int] amount: Union[str, int] - check_success: bool = True - def execute(self): - """ - Execute a fungible ESDT transfer transaction + def _create_builder(self) -> tx_builder.TransactionBuilder: """ - config = Config.get_config() - builder_config = token_management_builders.MyDefaultTransactionBuildersConfiguration( - chain_id=config.get('CHAIN') - ) + Create the builder for the NFT transfer transaction - sender = AccountsManager.get_account(self.sender) - receiver_address = utils.get_address_instance(self.receiver) + :return: builder of the transaction + :rtype: tx_builder.TransactionBuilder + """ token_identifier = utils.retrieve_value_from_string(self.token_identifier) nonce = int(utils.retrieve_value_from_any(self.nonce)) amount = int(utils.retrieve_value_from_any(self.amount)) - payment = TokenPayment.meta_esdt_from_integer(token_identifier, nonce, amount, 0) - - LOGGER.info(f'Sending {amount} {token_identifier}-{arg_to_string(nonce)} ' - f'from {self.sender} to {self.receiver}') + payment = TokenPayment.meta_esdt_from_integer( + token_identifier, nonce, amount, 0 + ) builder = tx_builder.ESDTNFTTransferBuilder( - config=builder_config, - sender=sender.address, - destination=receiver_address, + config=token_management_builders.get_builder_config(), + sender=utils.get_address_instance(self.sender), + destination=utils.get_address_instance(self.receiver), payment=payment, - nonce=sender.nonce ) - tx = builder.build() - tx.signature = sender.signer.sign(tx) - sender.nonce += 1 - - if self.check_success: - on_chain_tx = send_and_wait_for_result(tx) - raise_on_errors(on_chain_tx) - LOGGER.info(f'Transaction successful: {get_tx_link(on_chain_tx.hash)}') - else: - send(tx) - LOGGER.info('Transaction sent') + LOGGER.info( + f"Sending {amount} {token_identifier}-{arg_to_string(nonce)} " + f"from {self.sender} to {self.receiver}" + ) + return builder @dataclass -class MultiTransfersStep(Step): +class MultiTransfersStep(TransactionStep): """ This step is used to transfer multiple ESDTs to an address """ - sender: str + receiver: str transfers: List[EsdtTransfer] - check_success: bool = True def __post_init__(self): """ @@ -833,6 +1027,7 @@ def __post_init__(self): will try to convert them to EsdtTransfers instances. Usefull for easy loading from yaml files """ + super().__post_init__() checked_transfers = [] for trf in self.transfers: if isinstance(trf, EsdtTransfer): @@ -840,51 +1035,100 @@ def __post_init__(self): elif isinstance(trf, Dict): checked_transfers.append(EsdtTransfer(**trf)) else: - raise ValueError(f'Unexpected type: {type(trf)}') + raise ValueError(f"Unexpected type: {type(trf)}") self.transfers = checked_transfers - def execute(self): + def _create_builder(self) -> tx_builder.TransactionBuilder: """ - Execute a multi ESDT transfers transaction - """ - config = Config.get_config() - builder_config = token_management_builders.MyDefaultTransactionBuildersConfiguration( - chain_id=config.get('CHAIN') - ) - - sender = AccountsManager.get_account(self.sender) - receiver_address = utils.get_address_instance(self.receiver) + Create the builder for the multi transfer transaction + :return: builder of the transaction + :rtype: tx_builder.TransactionBuilder + """ payments = [ TokenPayment.meta_esdt_from_integer( utils.retrieve_value_from_string(transfer.token_identifier), int(utils.retrieve_value_from_any(transfer.nonce)), int(utils.retrieve_value_from_any(transfer.amount)), - 0) for transfer in self.transfers + 0, + ) + for transfer in self.transfers ] - LOGGER.info('Sending multiple payments ' - f'from {self.sender} to {self.receiver}') - builder = tx_builder.MultiESDTNFTTransferBuilder( - config=builder_config, - sender=sender.address, - destination=receiver_address, + config=token_management_builders.get_builder_config(), + sender=utils.get_address_instance(self.sender), + destination=utils.get_address_instance(self.receiver), payments=payments, - nonce=sender.nonce ) - tx = builder.build() - tx.signature = sender.signer.sign(tx) - sender.nonce += 1 + LOGGER.info(f"Sending multiple payments from {self.sender} to {self.receiver}") + return builder - if self.check_success: - on_chain_tx = send_and_wait_for_result(tx) - raise_on_errors(on_chain_tx) - LOGGER.info(f'Transaction successful: {get_tx_link(on_chain_tx.hash)}') - else: - send(tx) - LOGGER.info('Transaction sent') + +@dataclass +class PythonStep(Step): + """ + This Step execute a custom python function of the user + """ + + module_path: str + function: str + arguments: list = field(default_factory=list) + keyword_arguments: dict = field(default_factory=dict) + + def execute(self): + """ + Execute the specified function + """ + module_path = Path(self.module_path) + module_name = module_path.stem + LOGGER.info( + f"Executing python function {self.function} from user module {module_name}" + ) + + # load module and function + spec = spec_from_file_location(module_name, module_path.as_posix()) + user_module = module_from_spec(spec) + spec.loader.exec_module(user_module) + user_function = getattr(user_module, self.function) + + # transform args and kwargs and execute + arguments = [utils.retrieve_value_from_any(arg) for arg in self.arguments] + keyword_arguments = { + key: utils.retrieve_value_from_any(val) + for key, val in self.keyword_arguments.items() + } + result = user_function(*arguments, **keyword_arguments) + + if result: + if isinstance(result, str): + var_name = f"MXOPS_{self.function.upper()}_RESULT" + os.environ[var_name] = result + else: + LOGGER.warning( + f"The result of the function {self.function} is not a " + "string and has not been saved" + ) + + LOGGER.info(f"Function result: {result}") + + +@dataclass +class SceneStep(Step): + """ + This Step does nothing asside holding a variable + with the path of the scene. The actual action is operated at the `Scene` level. + """ + + scene_path: str + + def execute(self): + """ + Does nothing and should not be called. It is still implemented to avoid the + warning W0622. + """ + LOGGER.warning("The execute function of a SceneStep was called") def instanciate_steps(raw_steps: List[Dict]) -> List[Step]: @@ -898,10 +1142,12 @@ def instanciate_steps(raw_steps: List[Dict]) -> List[Step]: """ steps_list = [] for raw_step in raw_steps: - step_type: str = raw_step.pop('type') - if raw_step.pop('skip', False): + step_type: str = raw_step.pop("type") + if raw_step.pop("skip", False): continue - step_class_name = step_type if step_type.endswith('Step') else step_type + 'Step' + step_class_name = ( + step_type if step_type.endswith("Step") else step_type + "Step" + ) try: step_class_object = getattr(sys.modules[__name__], step_class_name) diff --git a/mxops/execution/token_management.py b/mxops/execution/token_management.py index b298bc0..034e49f 100644 --- a/mxops/execution/token_management.py +++ b/mxops/execution/token_management.py @@ -3,335 +3,17 @@ This module contains the function to manage ESDT """ -from multiversx_sdk_cli.accounts import Account -from multiversx_sdk_core import Transaction from multiversx_sdk_network_providers.transactions import TransactionOnNetwork -from mxops.config.config import Config from mxops import errors -from mxops.execution import token_management_builders - - -def build_fungible_issue_tx( - sender: Account, - token_name: str, - token_ticker: str, - initial_supply: int, - num_decimals: int, - can_freeze: bool = False, - can_wipe: bool = False, - can_pause: bool = False, - can_mint: bool = False, - can_burn: bool = False, - can_change_owner: bool = False, - can_upgrade: bool = False, - can_add_special_roles: bool = False -) -> Transaction: - """ - Build a transaction to issue an ESDT fungible token. - - :param sender: account that will send the transaction - :type sender: Account - :param token_name: name if the token to issue - :type token_name: str - :param token_ticker: tiocker of the token to issue - :type token_ticker: str - :param initial_supply: initial supply that will be sent on the sender account - :type initial_supply: int - :param num_decimals: number of decimals of the token - :type num_decimals: int - :param can_freeze: if the tokens on specific accounts can be frozen individually, - defaults to False - :type can_freeze: bool, optional - :param can_wipe: if tokens held on frozen accounts can be burnd by the token manager, - defaults to False - :type can_wipe: bool, optional - :param can_pause: if all transactions of the token can be prevented, defaults to False - :type can_pause: bool, optional - :param can_mint: if more supply can be minted later on, defaults to False - :type can_mint: bool, optional - :param can_burn: if some supply can be burned, defaults to False - :type can_burn: bool, optional - :param can_change_owner: if the management of the token can be transfered to another account, - defaults to False - :type can_change_owner: bool, optional - :param can_upgrade: if the properties of the token can be changed by the token manager, - defaults to False - :type can_upgrade: bool, optional - :param can_add_special_roles: if the token manager can add special roles, defaults to False - :type can_add_special_roles: bool, optional - :return: the transaction to issue the specified fungible token - :rtype: Transaction - """ - config = Config.get_config() - builder_config = token_management_builders.MyDefaultTransactionBuildersConfiguration( - chain_id=config.get('CHAIN') - ) - - builder = token_management_builders.FungibleTokenIssueBuilder( - builder_config, - sender.address, - token_name, - token_ticker, - initial_supply, - num_decimals, - can_freeze, - can_wipe, - can_pause, - can_mint, - can_burn, - can_change_owner, - can_upgrade, - can_add_special_roles, - nonce=sender.nonce - ) - - tx = builder.build() - tx.signature = sender.signer.sign(tx) - - return tx - - -def build_non_fungible_issue_tx( - sender: Account, - token_name: str, - token_ticker: str, - can_freeze: bool = False, - can_wipe: bool = False, - can_pause: bool = False, - can_mint: bool = False, - can_burn: bool = False, - can_change_owner: bool = False, - can_upgrade: bool = False, - can_add_special_roles: bool = False, - can_transfer_nft_create_role: bool = False -) -> Transaction: - """ - Build a transaction to issue an ESDT fungible token. - - :param sender: account that will send the transaction - :type sender: Account - :param token_name: name if the token to issue - :type token_name: str - :param token_ticker: tiocker of the token to issue - :type token_ticker: str - :param can_freeze: if the tokens on specific accounts can be frozen individually, - defaults to False - :type can_freeze: bool, optional - :param can_wipe: if tokens held on frozen accounts can be burnd by the token manager, - defaults to False - :type can_wipe: bool, optional - :param can_pause: if all transactions of the token can be prevented, defaults to False - :type can_pause: bool, optional - :param can_mint: if more supply can be minted later on, defaults to False - :type can_mint: bool, optional - :param can_burn: if some supply can be burned, defaults to False - :type can_burn: bool, optional - :param can_change_owner: if the management of the token can be transfered to another account, - defaults to False - :type can_change_owner: bool, optional - :param can_upgrade: if the properties of the token can be changed by the token manager, - defaults to False - :type can_upgrade: bool, optional - :param can_add_special_roles: if the token manager can add special roles, defaults to False - :type can_add_special_roles: bool, optional - :param can_transfer_nft_create_role: if the token manager transfer the create role, - defaults to False - :type can_transfer_nft_create_role: bool, optional - :return: the transaction to issue the specified fungible token - :rtype: Transaction - """ - config = Config.get_config() - builder_config = token_management_builders.MyDefaultTransactionBuildersConfiguration( - chain_id=config.get('CHAIN') - ) - - builder = token_management_builders.NonFungibleTokenIssueBuilder( - builder_config, - sender.address, - token_name, - token_ticker, - can_freeze, - can_wipe, - can_pause, - can_mint, - can_burn, - can_change_owner, - can_upgrade, - can_add_special_roles, - can_transfer_nft_create_role, - nonce=sender.nonce - ) - - tx = builder.build() - tx.signature = sender.signer.sign(tx) - - return tx - - -def build_semi_fungible_issue_tx( - sender: Account, - token_name: str, - token_ticker: str, - can_freeze: bool = False, - can_wipe: bool = False, - can_pause: bool = False, - can_mint: bool = False, - can_burn: bool = False, - can_change_owner: bool = False, - can_upgrade: bool = False, - can_add_special_roles: bool = False, - can_transfer_nft_create_role: bool = False -) -> Transaction: - """ - Build a transaction to issue an ESDT fungible token. - - :param sender: account that will send the transaction - :type sender: Account - :param token_name: name if the token to issue - :type token_name: str - :param token_ticker: tiocker of the token to issue - :type token_ticker: str - :param can_freeze: if the tokens on specific accounts can be frozen individually, - defaults to False - :type can_freeze: bool, optional - :param can_wipe: if tokens held on frozen accounts can be burnd by the token manager, - defaults to False - :type can_wipe: bool, optional - :param can_pause: if all transactions of the token can be prevented, defaults to False - :type can_pause: bool, optional - :param can_mint: if more supply can be minted later on, defaults to False - :type can_mint: bool, optional - :param can_burn: if some supply can be burned, defaults to False - :type can_burn: bool, optional - :param can_change_owner: if the management of the token can be transfered to another account, - defaults to False - :type can_change_owner: bool, optional - :param can_upgrade: if the properties of the token can be changed by the token manager, - defaults to False - :type can_upgrade: bool, optional - :param can_add_special_roles: if the token manager can add special roles, defaults to False - :type can_add_special_roles: bool, optional - :param can_transfer_nft_create_role: if the token manager transfer the create role, - defaults to False - :type can_transfer_nft_create_role: bool, optional - :return: the transaction to issue the specified fungible token - :rtype: Transaction - """ - config = Config.get_config() - builder_config = token_management_builders.MyDefaultTransactionBuildersConfiguration( - chain_id=config.get('CHAIN') - ) - - builder = token_management_builders.SemiFungibleTokenIssueBuilder( - builder_config, - sender.address, - token_name, - token_ticker, - can_freeze, - can_wipe, - can_pause, - can_mint, - can_burn, - can_change_owner, - can_upgrade, - can_add_special_roles, - can_transfer_nft_create_role, - nonce=sender.nonce - ) - - tx = builder.build() - tx.signature = sender.signer.sign(tx) - - return tx - - -def build_meta_issue_tx( - sender: Account, - token_name: str, - token_ticker: str, - num_decimal: int, - can_freeze: bool = False, - can_wipe: bool = False, - can_pause: bool = False, - can_mint: bool = False, - can_burn: bool = False, - can_change_owner: bool = False, - can_upgrade: bool = False, - can_add_special_roles: bool = False, - can_transfer_nft_create_role: bool = False -) -> Transaction: - """ - Build a transaction to issue an ESDT fungible token. - - :param sender: account that will send the transaction - :type sender: Account - :param token_name: name if the token to issue - :type token_name: str - :param token_ticker: tiocker of the token to issue - :type token_ticker: str - :param num_decimals: number of decimals of the token - :type num_decimals: int - :param can_freeze: if the tokens on specific accounts can be frozen individually, - defaults to False - :type can_freeze: bool, optional - :param can_wipe: if tokens held on frozen accounts can be burnd by the token manager, - defaults to False - :type can_wipe: bool, optional - :param can_pause: if all transactions of the token can be prevented, defaults to False - :type can_pause: bool, optional - :param can_mint: if more supply can be minted later on, defaults to False - :type can_mint: bool, optional - :param can_burn: if some supply can be burned, defaults to False - :type can_burn: bool, optional - :param can_change_owner: if the management of the token can be transfered to another account, - defaults to False - :type can_change_owner: bool, optional - :param can_upgrade: if the properties of the token can be changed by the token manager, - defaults to False - :type can_upgrade: bool, optional - :param can_add_special_roles: if the token manager can add special roles, defaults to False - :type can_add_special_roles: bool, optional - :param can_transfer_nft_create_role: if the token manager transfer the create role, - defaults to False - :type can_transfer_nft_create_role: bool, optional - :return: the transaction to issue the specified fungible token - :rtype: Transaction - """ - config = Config.get_config() - builder_config = token_management_builders.MyDefaultTransactionBuildersConfiguration( - chain_id=config.get('CHAIN') - ) - - builder = token_management_builders.MetaFungibleTokenIssueBuilder( - builder_config, - sender.address, - token_name, - token_ticker, - num_decimal, - can_freeze, - can_wipe, - can_pause, - can_mint, - can_burn, - can_change_owner, - can_upgrade, - can_add_special_roles, - can_transfer_nft_create_role, - nonce=sender.nonce - ) - - tx = builder.build() - tx.signature = sender.signer.sign(tx) - - return tx def extract_new_token_identifier(on_chain_tx: TransactionOnNetwork) -> str: """ Extract the token id from a successful token issue transaction - :param on_chain_tx: on chain transaction with results fetched from the gateway of the api + :param on_chain_tx: on chain transaction with results fetched from the gateway of + the api :type on_chain_tx: TransactionOnNetwork :return: token identifier of the new token issued :rtype: str @@ -342,16 +24,19 @@ def extract_new_token_identifier(on_chain_tx: TransactionOnNetwork) -> str: raise errors.NewTokenIdentifierNotFound from err try: - return token_identifier_topic.raw.decode('utf-8') + return token_identifier_topic.raw.decode("utf-8") except Exception as err: - raise errors.ParsingError(token_identifier_topic.hex(), 'token identifier') from err + raise errors.ParsingError( + token_identifier_topic.hex(), "token identifier" + ) from err def extract_new_nonce(on_chain_tx: TransactionOnNetwork) -> int: """ Extract the new created nonce from a successful mint transaction - :param on_chain_tx: on chain transaction with results fetched from the gateway of the api + :param on_chain_tx: on chain transaction with results fetched from the gateway of + the api :type on_chain_tx: TransactionOnNetwork :return: created nonce :rtype: int @@ -364,4 +49,4 @@ def extract_new_nonce(on_chain_tx: TransactionOnNetwork) -> int: try: return int(nonce_topic.hex(), 16) except Exception as err: - raise errors.ParsingError(nonce_topic.hex(), 'nonce') from err + raise errors.ParsingError(nonce_topic.hex(), "nonce") from err diff --git a/mxops/execution/token_management_builders.py b/mxops/execution/token_management_builders.py index 24d9799..5449a02 100644 --- a/mxops/execution/token_management_builders.py +++ b/mxops/execution/token_management_builders.py @@ -2,7 +2,8 @@ author: Etienne Wallet This modules contains missing transaction builders classes from multiversx_sdk_core. -Idealy, a PR should be made to propose them to the MultiversX team: in the mean time, here they are +Idealy, a PR should be made to propose them to the MultiversX team: in the mean time, +here they are """ from abc import abstractmethod from dataclasses import dataclass @@ -10,19 +11,36 @@ from typing import Dict, List, Optional, Protocol from multiversx_sdk_core.serializer import arg_to_string, args_to_strings -from multiversx_sdk_core.interfaces import (IAddress, IGasLimit, IGasPrice, - INonce, ITokenIdentifier, ITransactionValue) +from multiversx_sdk_core.interfaces import ( + IAddress, + IGasLimit, + IGasPrice, + INonce, + ITokenIdentifier, + ITransactionValue, +) from multiversx_sdk_core.transaction_builders.transaction_builder import ( - ITransactionBuilderConfiguration, TransactionBuilder) -from multiversx_sdk_core.transaction_builders.esdt_builders import IESDTIssueConfiguration -from multiversx_sdk_core.transaction_builders import DefaultTransactionBuildersConfiguration + ITransactionBuilderConfiguration, + TransactionBuilder, +) +from multiversx_sdk_core.transaction_builders.esdt_builders import ( + IESDTIssueConfiguration, +) +from multiversx_sdk_core.transaction_builders import ( + DefaultTransactionBuildersConfiguration, +) + +from mxops.config.config import Config @dataclass -class MyDefaultTransactionBuildersConfiguration(DefaultTransactionBuildersConfiguration): - """_ +class MyDefaultTransactionBuildersConfiguration( + DefaultTransactionBuildersConfiguration +): + """ Extend the default configuration of multiversx_sdk_core with more parameters """ + gas_limit_esdt_roles = 60000000 gas_limit_mint = 300000 gas_limit_store_per_byte = 50000 @@ -33,15 +51,18 @@ class TokenIssueBuilder(TransactionBuilder): Base class to construct a token issuance transaction """ - def __init__(self, - config: IESDTIssueConfiguration, - issuer: IAddress, - issuance_endpoint: str, - nonce: Optional[INonce] = None, - value: Optional[ITransactionValue] = None, - gas_limit: Optional[IGasLimit] = None, - gas_price: Optional[IGasPrice] = None - ) -> None: + TRUE_BY_DEFAULT_PROPERTIES = ("canUpgrade", "canAddSpecialRoles") + + def __init__( + self, + config: IESDTIssueConfiguration, + issuer: IAddress, + issuance_endpoint: str, + nonce: Optional[INonce] = None, + value: Optional[ITransactionValue] = None, + gas_limit: Optional[IGasLimit] = None, + gas_price: Optional[IGasPrice] = None, + ) -> None: super().__init__(config, nonce, value, gas_limit, gas_price) self.value = config.issue_cost self.gas_limit_esdt_issue = config.gas_limit_esdt_issue @@ -62,52 +83,57 @@ def get_token_args(self) -> List: def get_token_properties(self) -> Dict: pass - def get_active_token_properties(self) -> List: + def _build_payload_parts(self) -> List[str]: """ - Return the names of the properties that are active on the token + build the payload parts for the transaction - :return: names of the active properties - :rtype: List + :return: payload parts + :rtype: List[str] """ - return [prop for prop, value in self.get_token_properties().items() if value] - - def _build_payload_parts(self) -> List[str]: - properties_args = [(prop, "true") for prop in self.get_active_token_properties()] + properties_args = [] + for prop, value in self.get_token_properties().items(): + if prop in self.TRUE_BY_DEFAULT_PROPERTIES: + if not value: + properties_args.append((prop, "false")) + continue + if value: + properties_args.append((prop, "true")) chained_properties_args = list(itertools.chain(*properties_args)) return [ self.issuance_endpoint, *args_to_strings(self.get_token_args()), - *args_to_strings(chained_properties_args) + *args_to_strings(chained_properties_args), ] class FungibleTokenIssueBuilder(TokenIssueBuilder): """ - Class to contruct a fungible issuance transaction + Class to construct a fungible issuance transaction This class should be included to multiversx_sdk_core.transaction_builders """ - def __init__(self, - config: IESDTIssueConfiguration, - issuer: IAddress, - token_name: str, - token_ticker: str, - initial_supply: int, - num_decimals: int, - can_freeze: bool = False, - can_wipe: bool = False, - can_pause: bool = False, - can_mint: bool = False, - can_burn: bool = False, - can_change_owner: bool = False, - can_upgrade: bool = False, - can_add_special_roles: bool = False, - nonce: Optional[INonce] = None, - value: Optional[ITransactionValue] = None, - gas_limit: Optional[IGasLimit] = None, - gas_price: Optional[IGasPrice] = None - ) -> None: - super().__init__(config, issuer, 'issue', nonce, value, gas_limit, gas_price) + def __init__( + self, + config: IESDTIssueConfiguration, + issuer: IAddress, + token_name: str, + token_ticker: str, + initial_supply: int, + num_decimals: int, + can_freeze: bool = False, + can_wipe: bool = False, + can_pause: bool = False, + can_mint: bool = False, + can_burn: bool = False, + can_change_owner: bool = False, + can_upgrade: bool = False, + can_add_special_roles: bool = False, + nonce: Optional[INonce] = None, + value: Optional[ITransactionValue] = None, + gas_limit: Optional[IGasLimit] = None, + gas_price: Optional[IGasPrice] = None, + ) -> None: + super().__init__(config, issuer, "issue", nonce, value, gas_limit, gas_price) self.token_name = token_name self.token_ticker = token_ticker @@ -127,167 +153,156 @@ def get_token_args(self) -> List: self.token_name, self.token_ticker, self.initial_supply, - self.num_decimals + self.num_decimals, ] def get_token_properties(self) -> List: return { - 'canFreeze': self.can_freeze, - 'canWipe': self.can_wipe, - 'canPause': self.can_pause, - 'canMint': self.can_mint, - 'canBurn': self.can_burn, - 'canChangeOwner': self.can_change_owner, - 'canUpgrade': self.can_upgrade, - 'canAddSpecialRoles': self.can_add_special_roles + "canFreeze": self.can_freeze, + "canWipe": self.can_wipe, + "canPause": self.can_pause, + "canMint": self.can_mint, + "canBurn": self.can_burn, + "canChangeOwner": self.can_change_owner, + "canUpgrade": self.can_upgrade, + "canAddSpecialRoles": self.can_add_special_roles, } class NonFungibleTokenIssueBuilder(TokenIssueBuilder): """ - Class to contruct a non fungible issuance transaction + Class to construct a non fungible issuance transaction This class should be included to multiversx_sdk_core.transaction_builders """ - def __init__(self, - config: IESDTIssueConfiguration, - issuer: IAddress, - token_name: str, - token_ticker: str, - can_freeze: bool = False, - can_wipe: bool = False, - can_pause: bool = False, - can_mint: bool = False, - can_burn: bool = False, - can_change_owner: bool = False, - can_upgrade: bool = False, - can_add_special_roles: bool = False, - can_transfer_nft_create_role: bool = False, - nonce: Optional[INonce] = None, - value: Optional[ITransactionValue] = None, - gas_limit: Optional[IGasLimit] = None, - gas_price: Optional[IGasPrice] = None - ) -> None: - super().__init__(config, issuer, 'issueNonFungible', nonce, value, gas_limit, gas_price) + def __init__( + self, + config: IESDTIssueConfiguration, + issuer: IAddress, + token_name: str, + token_ticker: str, + can_freeze: bool = False, + can_wipe: bool = False, + can_pause: bool = False, + can_change_owner: bool = False, + can_upgrade: bool = False, + can_add_special_roles: bool = False, + can_transfer_nft_create_role: bool = False, + nonce: Optional[INonce] = None, + value: Optional[ITransactionValue] = None, + gas_limit: Optional[IGasLimit] = None, + gas_price: Optional[IGasPrice] = None, + ) -> None: + super().__init__( + config, issuer, "issueNonFungible", nonce, value, gas_limit, gas_price + ) self.token_name = token_name self.token_ticker = token_ticker self.can_freeze = can_freeze self.can_wipe = can_wipe self.can_pause = can_pause - self.can_mint = can_mint - self.can_burn = can_burn self.can_change_owner = can_change_owner self.can_upgrade = can_upgrade self.can_add_special_roles = can_add_special_roles self.can_transfer_nft_create_role = can_transfer_nft_create_role def get_token_args(self) -> List: - return [ - self.token_name, - self.token_ticker - ] + return [self.token_name, self.token_ticker] def get_token_properties(self) -> List: return { - 'canFreeze': self.can_freeze, - 'canWipe': self.can_wipe, - 'canPause': self.can_pause, - 'canMint': self.can_mint, - 'canBurn': self.can_burn, - 'canChangeOwner': self.can_change_owner, - 'canUpgrade': self.can_upgrade, - 'canAddSpecialRoles': self.can_add_special_roles, - 'canTransferNFTCreateRole': self.can_transfer_nft_create_role, + "canFreeze": self.can_freeze, + "canWipe": self.can_wipe, + "canPause": self.can_pause, + "canChangeOwner": self.can_change_owner, + "canUpgrade": self.can_upgrade, + "canAddSpecialRoles": self.can_add_special_roles, + "canTransferNFTCreateRole": self.can_transfer_nft_create_role, } class SemiFungibleTokenIssueBuilder(TokenIssueBuilder): """ - Class to contruct a semi fungible issuance transaction + Class to construct a semi fungible issuance transaction This class should be included to multiversx_sdk_core.transaction_builders """ - def __init__(self, - config: IESDTIssueConfiguration, - issuer: IAddress, - token_name: str, - token_ticker: str, - can_freeze: bool = False, - can_wipe: bool = False, - can_pause: bool = False, - can_mint: bool = False, - can_burn: bool = False, - can_change_owner: bool = False, - can_upgrade: bool = False, - can_add_special_roles: bool = False, - can_transfer_nft_create_role: bool = False, - nonce: Optional[INonce] = None, - value: Optional[ITransactionValue] = None, - gas_limit: Optional[IGasLimit] = None, - gas_price: Optional[IGasPrice] = None - ) -> None: - super().__init__(config, issuer, 'issueSemiFungible', nonce, value, gas_limit, gas_price) + def __init__( + self, + config: IESDTIssueConfiguration, + issuer: IAddress, + token_name: str, + token_ticker: str, + can_freeze: bool = False, + can_wipe: bool = False, + can_pause: bool = False, + can_change_owner: bool = False, + can_upgrade: bool = False, + can_add_special_roles: bool = False, + can_transfer_nft_create_role: bool = False, + nonce: Optional[INonce] = None, + value: Optional[ITransactionValue] = None, + gas_limit: Optional[IGasLimit] = None, + gas_price: Optional[IGasPrice] = None, + ) -> None: + super().__init__( + config, issuer, "issueSemiFungible", nonce, value, gas_limit, gas_price + ) self.token_name = token_name self.token_ticker = token_ticker self.can_freeze = can_freeze self.can_wipe = can_wipe self.can_pause = can_pause - self.can_mint = can_mint - self.can_burn = can_burn self.can_change_owner = can_change_owner self.can_upgrade = can_upgrade self.can_add_special_roles = can_add_special_roles self.can_transfer_nft_create_role = can_transfer_nft_create_role def get_token_args(self) -> List: - return [ - self.token_name, - self.token_ticker - ] + return [self.token_name, self.token_ticker] def get_token_properties(self) -> List: return { - 'canFreeze': self.can_freeze, - 'canWipe': self.can_wipe, - 'canPause': self.can_pause, - 'canMint': self.can_mint, - 'canBurn': self.can_burn, - 'canChangeOwner': self.can_change_owner, - 'canUpgrade': self.can_upgrade, - 'canAddSpecialRoles': self.can_add_special_roles, - 'canTransferNFTCreateRole': self.can_transfer_nft_create_role, + "canFreeze": self.can_freeze, + "canWipe": self.can_wipe, + "canPause": self.can_pause, + "canChangeOwner": self.can_change_owner, + "canUpgrade": self.can_upgrade, + "canAddSpecialRoles": self.can_add_special_roles, + "canTransferNFTCreateRole": self.can_transfer_nft_create_role, } class MetaFungibleTokenIssueBuilder(TokenIssueBuilder): """ - Class to contruct a meta issuance transaction + Class to construct a meta issuance transaction This class should be included to multiversx_sdk_core.transaction_builders """ - def __init__(self, - config: IESDTIssueConfiguration, - issuer: IAddress, - token_name: str, - token_ticker: str, - num_decimals: int, - can_freeze: bool = False, - can_wipe: bool = False, - can_pause: bool = False, - can_mint: bool = False, - can_burn: bool = False, - can_change_owner: bool = False, - can_upgrade: bool = False, - can_add_special_roles: bool = False, - can_transfer_nft_create_role: bool = False, - nonce: Optional[INonce] = None, - value: Optional[ITransactionValue] = None, - gas_limit: Optional[IGasLimit] = None, - gas_price: Optional[IGasPrice] = None - ) -> None: - super().__init__(config, issuer, 'registerMetaESDT', nonce, value, gas_limit, gas_price) + def __init__( + self, + config: IESDTIssueConfiguration, + issuer: IAddress, + token_name: str, + token_ticker: str, + num_decimals: int, + can_freeze: bool = False, + can_wipe: bool = False, + can_pause: bool = False, + can_change_owner: bool = False, + can_upgrade: bool = False, + can_add_special_roles: bool = False, + can_transfer_nft_create_role: bool = False, + nonce: Optional[INonce] = None, + value: Optional[ITransactionValue] = None, + gas_limit: Optional[IGasLimit] = None, + gas_price: Optional[IGasPrice] = None, + ) -> None: + super().__init__( + config, issuer, "registerMetaESDT", nonce, value, gas_limit, gas_price + ) self.token_name = token_name self.token_ticker = token_ticker @@ -295,31 +310,23 @@ def __init__(self, self.can_freeze = can_freeze self.can_wipe = can_wipe self.can_pause = can_pause - self.can_mint = can_mint - self.can_burn = can_burn self.can_change_owner = can_change_owner self.can_upgrade = can_upgrade self.can_add_special_roles = can_add_special_roles self.can_transfer_nft_create_role = can_transfer_nft_create_role def get_token_args(self) -> List: - return [ - self.token_name, - self.token_ticker, - self.num_decimals - ] + return [self.token_name, self.token_ticker, self.num_decimals] def get_token_properties(self) -> List: return { - 'canFreeze': self.can_freeze, - 'canWipe': self.can_wipe, - 'canPause': self.can_pause, - 'canMint': self.can_mint, - 'canBurn': self.can_burn, - 'canChangeOwner': self.can_change_owner, - 'canUpgrade': self.can_upgrade, - 'canAddSpecialRoles': self.can_add_special_roles, - 'canTransferNFTCreateRole': self.can_transfer_nft_create_role, + "canFreeze": self.can_freeze, + "canWipe": self.can_wipe, + "canPause": self.can_pause, + "canChangeOwner": self.can_change_owner, + "canUpgrade": self.can_upgrade, + "canAddSpecialRoles": self.can_add_special_roles, + "canTransferNFTCreateRole": self.can_transfer_nft_create_role, } @@ -330,21 +337,23 @@ class IESDTRolesConfiguration(ITransactionBuilderConfiguration, Protocol): class ManageTokenRolesBuilder(TransactionBuilder): """ - class to contruct the transaction to set or unset roles for an address on an account + Class to construct the transaction to set or unset roles + for an address on an account """ - def __init__(self, - config: IESDTRolesConfiguration, - sender: IAddress, - is_set: bool, - token_identifier: ITokenIdentifier, - target: IAddress, - roles: List[str], - nonce: Optional[INonce] = None, - value: Optional[ITransactionValue] = None, - gas_limit: Optional[IGasLimit] = None, - gas_price: Optional[IGasPrice] = None - ) -> None: + def __init__( + self, + config: IESDTRolesConfiguration, + sender: IAddress, + is_set: bool, + token_identifier: ITokenIdentifier, + target: IAddress, + roles: List[str], + nonce: Optional[INonce] = None, + value: Optional[ITransactionValue] = None, + gas_limit: Optional[IGasLimit] = None, + gas_price: Optional[IGasPrice] = None, + ) -> None: super().__init__(config, nonce, value, gas_limit, gas_price) self.gas_limit_esdt_roles = config.gas_limit_esdt_roles @@ -365,7 +374,7 @@ def _build_payload_parts(self) -> List[str]: endpoint, arg_to_string(self.token_identifier), arg_to_string(self.target), - *args_to_strings(self.roles) + *args_to_strings(self.roles), ] @@ -380,16 +389,17 @@ class FungibleMintBuilder(TransactionBuilder): an already existing fungible token """ - def __init__(self, - config: IESDTMintConfiguration, - sender: IAddress, - token_identifier: ITokenIdentifier, - amount_as_integer: int, - nonce: Optional[INonce] = None, - value: Optional[ITransactionValue] = None, - gas_limit: Optional[IGasLimit] = None, - gas_price: Optional[IGasPrice] = None - ) -> None: + def __init__( + self, + config: IESDTMintConfiguration, + sender: IAddress, + token_identifier: ITokenIdentifier, + amount_as_integer: int, + nonce: Optional[INonce] = None, + value: Optional[ITransactionValue] = None, + gas_limit: Optional[IGasLimit] = None, + gas_price: Optional[IGasPrice] = None, + ) -> None: super().__init__(config, nonce, value, gas_limit, gas_price) self.gas_limit_mint = config.gas_limit_mint @@ -405,31 +415,33 @@ def _build_payload_parts(self) -> List[str]: return [ "ESDTLocalMint", arg_to_string(self.token_identifier), - arg_to_string(self.amount_as_integer) + arg_to_string(self.amount_as_integer), ] class NonFungibleMintBuilder(TransactionBuilder): """ - Builder to construct the transaction to mint a new non fungible token (ide a new nonce). + Builder to construct the transaction to mint a new non fungible token + (ide a new nonce). This can be used for NFTs, SFTs and Meta tokens. """ - def __init__(self, - config: IESDTMintConfiguration, - sender: IAddress, - token_identifier: ITokenIdentifier, - amount_as_integer: int, - name: str, - royalties: int, - hash: str, - attributes: str, - uris: List[str], - nonce: Optional[INonce] = None, - value: Optional[ITransactionValue] = None, - gas_limit: Optional[IGasLimit] = None, - gas_price: Optional[IGasPrice] = None - ) -> None: + def __init__( + self, + config: IESDTMintConfiguration, + sender: IAddress, + token_identifier: ITokenIdentifier, + amount_as_integer: int, + name: str, + royalties: int, + hash: str, + attributes: str, + uris: List[str], + nonce: Optional[INonce] = None, + value: Optional[ITransactionValue] = None, + gas_limit: Optional[IGasLimit] = None, + gas_price: Optional[IGasPrice] = None, + ) -> None: super().__init__(config, nonce, value, gas_limit, gas_price) self.gas_limit_mint = config.gas_limit_mint self.gas_limit_per_byte = config.gas_limit_per_byte @@ -447,11 +459,13 @@ def __init__(self, def _estimate_execution_gas(self) -> IGasLimit: n_data_bytes = len(self.build_payload().data) - additionnal_gas = n_data_bytes * (self.gas_limit_per_byte + self.gas_limit_store_per_byte) + additionnal_gas = n_data_bytes * ( + self.gas_limit_per_byte + self.gas_limit_store_per_byte + ) return self.gas_limit_mint + additionnal_gas def _build_payload_parts(self) -> List[str]: - formatted_uris = args_to_strings(self.uris) if len(self.uris) else [''] + formatted_uris = args_to_strings(self.uris) if len(self.uris) else [""] return [ "ESDTNFTCreate", arg_to_string(self.token_identifier), @@ -460,5 +474,16 @@ def _build_payload_parts(self) -> List[str]: arg_to_string(self.royalties), arg_to_string(self.hash), arg_to_string(self.attributes), - *formatted_uris + *formatted_uris, ] + + +def get_builder_config() -> DefaultTransactionBuildersConfiguration: + """ + Return an instance of the config for the builder + + :return: config for the builder + :rtype: DefaultTransactionBuildersConfiguration + """ + config = Config.get_config() + return MyDefaultTransactionBuildersConfiguration(chain_id=config.get("CHAIN")) diff --git a/mxops/execution/utils.py b/mxops/execution/utils.py index 49022f2..1b02d9d 100644 --- a/mxops/execution/utils.py +++ b/mxops/execution/utils.py @@ -6,14 +6,12 @@ import os from typing import Any, List, Optional, Tuple -from multiversx_sdk_cli.accounts import Address as CliAddress from multiversx_sdk_cli.contracts import QueryResult, SmartContract -from multiversx_sdk_cli.errors import BadAddressFormatError from multiversx_sdk_core.address import Address from multiversx_sdk_core.errors import ErrBadAddress from mxops.config.config import Config -from mxops.data.data import ScenarioData +from mxops.data.execution_data import ScenarioData from mxops import errors from mxops.execution.account import AccountsManager @@ -24,15 +22,15 @@ def retrieve_specified_type(arg: str) -> Tuple[str, Optional[str]]: Example: $MY_VAR:int &MY_VAR:str - %CONTRACT%ID%MY_VAR:int + %KEY_1.KEY_2[0].MY_VAR:int :param arg: string arg passed :type arg: str :return: inner arg and name of the desired type if it exists :rtype: Tuple[str, Optional[str]] """ - if ':' in arg: - return arg.split(':') + if ":" in arg: + return arg.split(":") return arg, None @@ -48,9 +46,9 @@ def convert_arg(arg: Any, desired_type: Optional[str]) -> Any: :return: converted argument if a specified type was provided :rtype: Any """ - if desired_type == 'str': + if desired_type == "str": return str(arg) - if desired_type == 'int': + if desired_type == "int": return int(arg) return arg @@ -64,10 +62,13 @@ def retrieve_value_from_env(arg: str) -> str: :return: value saved in the environment :rtype: str """ - if not arg.startswith('$'): - raise ValueError(f'the argument as no $ sign: {arg}') + if not arg.startswith("$"): + raise ValueError(f"the argument as no $ sign: {arg}") inner_arg, desired_type = retrieve_specified_type(arg) - retrieved_value = os.environ[inner_arg[1:]] + try: + retrieved_value = os.environ[inner_arg[1:]] + except KeyError as err: + raise errors.UnkownVariable(inner_arg[1:]) from err return convert_arg(retrieved_value, desired_type) @@ -80,36 +81,37 @@ def retrieve_value_from_config(arg: str) -> str: :return: value saved in the config :rtype: str """ - if not arg.startswith('&'): - raise ValueError(f'the argument as no & sign: {arg}') - inner_arg, desired_type = retrieve_specified_type(arg) + if not arg.startswith("&"): + raise ValueError(f"the argument has no & sign: {arg}") + inner_arg, desired_type = retrieve_specified_type(arg[1:]) config = Config.get_config() - retrieved_value = config.get(inner_arg[1:].upper()) + retrieved_value = config.get(inner_arg.upper()) return convert_arg(retrieved_value, desired_type) def retrieve_value_from_scenario_data(arg: str) -> str: """ Retrieve the value of an argument from scenario data. - the argument must formated like this: %% + the argument must start with '%' and can chain key and index values: + - "%contract_id.address" + - "my_random_values.times[5]" + - "key_1.key_2[20].data" :param arg: name of the variable formated as above :type arg: str :return: value saved in the config :rtype: str """ - inner_arg, desired_type = retrieve_specified_type(arg) - try: - root_name, value_key = inner_arg[1:].split('%') - except Exception as err: - raise errors.WrongScenarioDataReference from err + if not arg.startswith("%"): + raise ValueError(f"the argument has no % sign: {arg}") + inner_arg, desired_type = retrieve_specified_type(arg[1:]) scenario_data = ScenarioData.get() - retrieved_value = scenario_data.get_value(root_name, value_key) + retrieved_value = scenario_data.get_value(inner_arg) return convert_arg(retrieved_value, desired_type) -def retrieve_address_from_account(arg: str) -> CliAddress: +def retrieve_address_from_account(arg: str) -> Address: """ Retrieve an address from the accounts manager. the argument must formated like this: [user] @@ -117,7 +119,7 @@ def retrieve_address_from_account(arg: str) -> CliAddress: :param arg: name of the variable formated as above :type arg: str :return: address from the scenario - :rtype: CliAddress + :rtype: Address """ try: arg = arg[1:-1] @@ -138,13 +140,13 @@ def retrieve_value_from_string(arg: str) -> Any: :return: untouched argument or retrieved value :rtype: Any """ - if arg.startswith('['): + if arg.startswith("["): return retrieve_address_from_account(arg).bech32() - if arg.startswith('$'): + if arg.startswith("$"): return retrieve_value_from_env(arg) - if arg.startswith('&'): + if arg.startswith("&"): return retrieve_value_from_config(arg) - if arg.startswith('%'): + if arg.startswith("%"): return retrieve_value_from_scenario_data(arg) return arg @@ -178,7 +180,7 @@ def retrieve_value_from_any(arg: Any) -> Any: def format_tx_arguments(arguments: List[Any]) -> List[Any]: """ - Transform the arguments so they can be recognised by mxpy + Transform the arguments so they can be recognised by multiversx sdk core :param arguments: list of arguments to be supplied to a endpoint :type arguments: List[Any] @@ -187,21 +189,30 @@ def format_tx_arguments(arguments: List[Any]) -> List[Any]: """ formated_arguments = [] for arg in arguments: - if isinstance(arg, str): # done a first time as int arg can be entered as string + # convert a first time as int arg can be entered as string + if isinstance(arg, str): arg = retrieve_value_from_string(arg) formated_arg = arg if isinstance(arg, str): - if arg.startswith('erd') and len(arg) == 62: - formated_arg = '0x' + CliAddress(arg).hex() - elif not arg.startswith('0x'): - formated_arg = 'str:' + arg - elif isinstance(arg, CliAddress): - formated_arg = '0x' + arg.hex() - + if arg.startswith("erd") and len(arg) == 62: + formated_arg = Address.from_bech32(arg) formated_arguments.append(formated_arg) return formated_arguments +def retrieve_and_format_arguments(arguments: List[Any]) -> List[Any]: + """ + Retrieve the MxOps value of the arguments if necessary and transform them + to match multiversx sdk core format + + :param arguments: lisf of arguments to be supplied + :type arguments: List[Any] + :return: format args + :rtype: List[Any] + """ + return format_tx_arguments([retrieve_value_from_any(arg) for arg in arguments]) + + def get_contract_instance(contract_str: str) -> SmartContract: """ From a string return a smart contract instance. @@ -215,59 +226,58 @@ def get_contract_instance(contract_str: str) -> SmartContract: """ # try to see if the string is a valid address try: - return SmartContract(CliAddress(contract_str)) - except BadAddressFormatError: + return SmartContract(Address.from_bech32(contract_str)) + except ErrBadAddress: pass # otherwise try to parse it as a mxops value contract_address = retrieve_value_from_string(contract_str) try: - return SmartContract(CliAddress(contract_address)) - except BadAddressFormatError: + return SmartContract(Address.from_bech32(contract_address)) + except ErrBadAddress: pass # lastly try to see if it is a valid contract id - contract_address = retrieve_value_from_string(f'%{contract_str}%address') + contract_address = retrieve_value_from_string(f"%{contract_str}.address") try: - return SmartContract(CliAddress(contract_address)) - except BadAddressFormatError: + return SmartContract(Address.from_bech32(contract_address)) + except ErrBadAddress: pass - raise errors.ParsingError(contract_str, 'contract address') + raise errors.ParsingError(contract_str, "contract address") def get_address_instance(address_str: str) -> Address: """ From a string return an Address instance. - The input will be parsed to dynamically evaluate values from the environment, the config, saved - data or from the defined contracts or accounts. + The input will be parsed to dynamically evaluate values from the environment, + the config, saved data or from the defined contracts or accounts. :param address_str: raw address or address entity designation :type address_str: str :return: address instance corresponding to the input :rtype: Address """ - # try to see if the string is a valid address - try: - return Address.from_bech32(address_str) - except ErrBadAddress: - pass - # otherwise try to parse it as a mxops value + # try to parse it as a mxops value evaluated_address_str = retrieve_value_from_string(address_str) + + # try to see if the string is a valid address try: return Address.from_bech32(evaluated_address_str) except ErrBadAddress: pass + # else try to see if it is a valid contract id try: - evaluated_address_str = retrieve_value_from_string(f'%{address_str}%address') + evaluated_address_str = retrieve_value_from_string(f"%{address_str}.address") return Address.from_bech32(evaluated_address_str) - except (ErrBadAddress, errors.UnknownRootName): + except (ErrBadAddress, errors.WrongDataKeyPath): pass - # finally try to see if it designate a defined account + + # finally try to see if it designates a defined account try: - account = AccountsManager.get_account(address_str) - return Address.from_bech32(account.address.bech32()) + account = AccountsManager.get_account(evaluated_address_str) + return account.address except errors.UnknownAccount: pass - raise errors.ParsingError(address_str, 'address_str address') + raise errors.ParsingError(address_str, "address_str address") def parse_query_result(result: QueryResult, expected_return: str) -> Any: @@ -281,8 +291,8 @@ def parse_query_result(result: QueryResult, expected_return: str) -> Any: :return: parsed result of the query :rtype: Any """ - if expected_return == 'number': + if expected_return in ("number", "int"): return result.number - if expected_return == 'str': + if expected_return == "str": return bytes.fromhex(result.hex).decode() - raise ValueError(f'Unkown expected return: {expected_return}') + raise ValueError(f"Unkown expected return: {expected_return}") diff --git a/mxops/resources/data_parser_help.txt b/mxops/resources/data_parser_help.txt index 37682cf..5854ab2 100644 --- a/mxops/resources/data_parser_help.txt +++ b/mxops/resources/data_parser_help.txt @@ -4,18 +4,27 @@ mxops data [SUBCOMMAND] [OPTIONS] Available sub-commands: - get -> Print recorded contract data for the current env - Required: - -n, --network name of the network to consider (mainnet, devnet, testnet, localnet) - Options: - -p, --path display the root path for the user data - -l, --list print all the scenarios names - -s, --scenario print the data saved for a scenario + get -> Print recorded contract data for the current env + Required: + -n, --network name of the network to consider (mainnet, devnet, testnet, localnet) + Options: + -p, --path display the root path for the user data + -l, --list print all the scenarios names + -s, --scenario print the data saved for a scenario + -c, --checkpoint name of the checkpoint to use for the scenario - delete -> Delete locally saved data for a specified network - Required: - -n, --network name of the network to consider (mainnet, devnet, testnet, localnet) - Options: - -s, --scenario name of the scenario to delete - -a, --all delete all scenarios for the specified network - -y, --yes skip confirmation step + delete -> Delete locally saved data for a specified network + Required: + -n, --network name of the network to consider (mainnet, devnet, testnet, localnet) + Options: + -s, --scenario name of the scenario to delete + -c, --checkpoint name of the checkpoint to use for the scenario + -a, --all delete all scenarios for the specified network + -y, --yes skip confirmation step + + checkpoint -> Delete locally saved data for a specified network + Required: + -n, --network name of the network to consider (mainnet, devnet, testnet, localnet) + -s, --scenario name of the scenario to delete + -c, --checkpoint name of the checkpoint to use for the scenario + -a, --action one of ["create", "load", "delete"] diff --git a/mxops/resources/default_config.ini b/mxops/resources/default_config.ini index 0634d3d..8de9c0c 100644 --- a/mxops/resources/default_config.ini +++ b/mxops/resources/default_config.ini @@ -4,6 +4,8 @@ CHAIN=local-testnet TX_TIMEOUT=100 TX_REFRESH_PERIOD=3 BASE_ISSUING_COST=50000000000000000 +MAX_QUERY_ATTEMPTS=3 +API_RATE_LIMIT=2 [LOCAL] PROXY=http://localhost:7950 @@ -11,10 +13,14 @@ CHAIN=local-testnet [DEV] PROXY=https://devnet-gateway.multiversx.com +API=https://devnet-api.multiversx.com EXPLORER_URL=https://devnet-explorer.multiversx.com CHAIN=D +API_RATE_LIMIT=5 [MAIN] PROXY=https://gateway.multiversx.com +API=https://api.multiversx.com EXPLORER_URL=https://explorer.multiversx.com -CHAIN=1 \ No newline at end of file +CHAIN=1 +API_RATE_LIMIT=2 \ No newline at end of file diff --git a/mxops/resources/mxops_logo.png b/mxops/resources/mxops_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..319fc18ac10d814bddb75e2c39913ed8dff2a31f GIT binary patch literal 52783 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 DHBfD6 literal 0 HcmV?d00001 diff --git a/mxops/utils/__init__.py b/mxops/utils/__init__.py index baf8910..1c13abb 100644 --- a/mxops/utils/__init__.py +++ b/mxops/utils/__init__.py @@ -1,5 +1,6 @@ """ author: Etienne Wallet -This sub-package is contains modules that serve as supports of the main functionalities of MxOps +This sub-package is contains modules that serve as supports of the main functionalities +of MxOps """ diff --git a/mxops/utils/logger.py b/mxops/utils/logger.py index 4623695..34cc321 100644 --- a/mxops/utils/logger.py +++ b/mxops/utils/logger.py @@ -17,12 +17,14 @@ def get_logger(name: str) -> logging.Logger: :rtype: logging.Logger """ logger = logging.getLogger(name) - log_level = os.environ.get('MXOPS_LOG_LEVEL', 'INFO') + log_level = os.environ.get("MXOPS_LOG_LEVEL", "INFO") logger.setLevel(log_level) # create formatter and add it to the handlers - log_format = ('[%(asctime)s %(name)s %(levelname)s]' - ' %(message)s [%(name)s:%(lineno)d in %(funcName)s]') + log_format = ( + "[%(asctime)s %(name)s %(levelname)s]" + " %(message)s [%(filename)s:%(lineno)d in %(funcName)s]" + ) formatter = logging.Formatter(log_format) # create console handler for logger. diff --git a/mxops/utils/msc.py b/mxops/utils/msc.py index 9ac4941..6c9a24f 100644 --- a/mxops/utils/msc.py +++ b/mxops/utils/msc.py @@ -6,6 +6,7 @@ from configparser import NoOptionError import hashlib from pathlib import Path +import time from mxops.config.config import Config @@ -20,8 +21,8 @@ def get_explorer_tx_link(tx_hash: str) -> str: :rtype: str """ config = Config.get_config() - explorer_url = config.get('EXPLORER_URL') - return f'{explorer_url}/transactions/{tx_hash}' + explorer_url = config.get("EXPLORER_URL") + return f"{explorer_url}/transactions/{tx_hash}" def get_proxy_tx_link(tx_hash: str) -> str: @@ -34,8 +35,8 @@ def get_proxy_tx_link(tx_hash: str) -> str: :rtype: str """ config = Config.get_config() - proxy = config.get('PROXY') - return f'{proxy}/transaction/{tx_hash}' + proxy = config.get("PROXY") + return f"{proxy}/transaction/{tx_hash}" def get_tx_link(tx_hash: str) -> str: @@ -65,7 +66,7 @@ def get_file_hash(file_path: Path) -> str: """ block_size = 65536 file_hash = hashlib.sha256() - with open(file_path.as_posix(), 'rb') as file: + with open(file_path.as_posix(), "rb") as file: file_block = file.read(block_size) while len(file_block) > 0: file_hash.update(file_block) @@ -85,5 +86,27 @@ def int_to_pair_hex(number: int) -> str: """ hex_str = hex(number)[2:] if len(hex_str) % 2: - return '0' + hex_str + return "0" + hex_str return hex_str + + +class RateThrottler: + """ + This class represent a rate throttler + """ + + def __init__(self, number: int, period: float) -> None: + self.unit_period = period / number + self.min_next_tick_timestamp = 0 + + def tick(self): + """ + This endpoint is meant to be called before the action to be throttled + is taken. If it is called faster than the allowed rate, it will wait until + the correct time. + """ + current_timestamp = time.time() + delta = self.min_next_tick_timestamp - current_timestamp + if delta > 0: + time.sleep(delta) + self.min_next_tick_timestamp = time.time() + self.unit_period diff --git a/pyproject.toml b/pyproject.toml index 739bf5c..546caf5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta" [project] name = "mxops" -version = "1.1.0" +version = "2.0.0" authors = [ {name="Etienne Wallet"}, ] @@ -17,12 +17,14 @@ classifiers = [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", ] -requires-python = ">=3.8" +requires-python = ">=3.10" dynamic = ["dependencies"] [project.scripts] mxops = "mxops.__main__:main" +[project.urls] +"Homepage" = "https://github.com/Catenscia/MxOps" [tool.setuptools.packages.find] where = ["."] @@ -35,6 +37,8 @@ namespaces = false [tool.setuptools.dynamic] dependencies = {file = ["requirements.txt"]} - -[project.urls] -"Homepage" = "https://github.com/Catenscia/MxOps" \ No newline at end of file +[tool.pytest.ini_options] +filterwarnings = [ + "ignore:ssl.PROTOCOL_TLS is deprecated:DeprecationWarning", + "ignore:ssl.match_hostname\\(\\) is deprecated:DeprecationWarning", +] \ No newline at end of file diff --git a/requirements-dev.txt b/requirements-dev.txt index 06f7787..c3c6ffb 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1,5 +1,6 @@ -r requirements.txt bandit~=1.7.4 +black~=23.9.1 build~=0.9.0 bump2version~=1.0.1 coverage~=7.0.0 diff --git a/requirements.txt b/requirements.txt index b4ccc1a..c981519 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,12 @@ appdirs~=1.4.4 configparser~=5.3.0 -multiversx-sdk-cli~=6.0.0 -multiversx_sdk_core~=0.3.3 -multiversx_sdk_network_providers~=0.6.6 -multiversx-sdk-wallet~=0.4.2 -pyyaml~=6.0 \ No newline at end of file +importlib-resources~=6.1.0 +matplotlib~=3.8.0 +multiversx-sdk-cli~=8.1.2 +multiversx_sdk_core~=0.6.0 +multiversx_sdk_network_providers~=0.11.0 +multiversx-sdk-wallet~=0.7.0 +pandas~=2.1.1 +pyyaml~=6.0 +seaborn~= 0.13.0 +tqdm~=4.66.1 \ No newline at end of file diff --git a/scripts/auto_bump.py b/scripts/auto_bump.py index c5552d1..56f219d 100644 --- a/scripts/auto_bump.py +++ b/scripts/auto_bump.py @@ -11,6 +11,10 @@ import sys from typing import Dict import subprocess +import logging + +logger = logging.getLogger("AutoBump") +logger.setLevel("DEBUG") class ChangeType(Enum): @@ -59,14 +63,13 @@ def get_commit_change_type(commits_messages: str) -> ChangeType: def get_change_to_apply( - version_parts: Dict[ChangeType, str], - commit_change_type: ChangeType + version_parts: Dict[ChangeType, str], commit_change_type: ChangeType ) -> ChangeType: """ - Figure out what version change needs to be applied depending on the type of commit change - and the version number. - The main logic is that if an identical or lower change type has already been made in the current - release type, only the build version will be bumped. + Figure out what version change needs to be applied depending on the type of commit + change and the version number. + The main logic is that if an identical or lower change type has already been made + in the current release type, only the build version will be bumped. Examples: @@ -83,7 +86,7 @@ def get_change_to_apply( """ if version_parts[ChangeType.RELEASE] is None: if commit_change_type == ChangeType.BUILD: - raise ValueError('Build can not be increased if release is None') + raise ValueError("Build can not be increased if release is None") return commit_change_type if ( commit_change_type == ChangeType.MINOR @@ -108,25 +111,23 @@ def parse_args() -> Namespace: parser = ArgumentParser() parser.add_argument( - 'target_branch', + "target_branch", type=str, - choices=['main', 'develop'], - help='target_branch for the PR') + choices=["main", "develop"], + help="target_branch for the PR", + ) - parser.add_argument( - 'version', - type=str, - help='current version before version bump') + parser.add_argument("version", type=str, help="current version before version bump") parser.add_argument( - 'commits_messages', + "commits_messages", type=str, - help='concatenation of all commits messages to include in the version bum') + help="concatenation of all commits messages to include in the version bum", + ) parser.add_argument( - '--dry-run', - action='store_true', - help='do not apply any change to the version') + "--dry-run", action="store_true", help="do not apply any change to the version" + ) return parser.parse_args() @@ -136,22 +137,22 @@ def main(): Figure out the version change to apply and execute bump2version accordingly """ args = parse_args() - print(f'version retrieved: {args.version}\n') - print(f'commits messages:\n{args.commits_messages}\n') + logger.info(f"version retrieved: {args.version}\n") + logger.info(f"commits messages:\n{args.commits_messages}\n") version_parts = parse_version(args.version) - print(f'version parts: {version_parts}') + logger.info(f"version parts: {version_parts}") - if args.target_branch == 'main': + if args.target_branch == "main": change_to_apply = ChangeType.RELEASE else: commit_change_type = get_commit_change_type(args.commits_messages) - print(f'commit change type: {commit_change_type}') + logger.info(f"commit change type: {commit_change_type}") change_to_apply = get_change_to_apply(version_parts, commit_change_type) - print(f'change to apply: {change_to_apply}') + logger.info(f"change to apply: {change_to_apply}") commands = ["bump2version", "--verbose", "--commit", change_to_apply.value] if args.dry_run: - commands.append('--dry-run') + commands.append("--dry-run") complete_process = subprocess.run(commands) sys.exit(complete_process.returncode) diff --git a/scripts/check_python_code.sh b/scripts/check_python_code.sh index adc829e..b6b4c07 100644 --- a/scripts/check_python_code.sh +++ b/scripts/check_python_code.sh @@ -43,12 +43,12 @@ echo "${OUTPUT}" SCORE=$(sed -n '$s/[^0-9]*\([0-9.]*\).*/\1/p' <<< "$OUTPUT") TEST=$(echo "${SCORE} < 9.5" |bc -l) -if [ $TEST -ne 0 ] +if echo "$OUTPUT" | grep -q "^mxops/.*: E[0-9]*" then - printf "${RED}pylint score below 9.5, test failed${NC}\n" - exit 3 -elif echo "$OUTPUT" | grep -q "^mxops/.*: E[0-9]*"; then printf "${RED}pylint has detected an error, test failed${NC}\n" + exit 3 +elif [ $TEST -ne 0 ]; then + printf "${RED}pylint score below 9.5, test failed${NC}\n" exit 4 else printf "${GREEN}pylint success${NC}\n\n\n" diff --git a/scripts/launch_unit_tests.sh b/scripts/launch_unit_tests.sh index 7f0ce08..e3dfa97 100644 --- a/scripts/launch_unit_tests.sh +++ b/scripts/launch_unit_tests.sh @@ -8,7 +8,7 @@ NC='\033[0m' printf "${BLUE}############\n# Unit Tests\n############${NC}\n" -OUTPUT=$(coverage run -m pytest --color=yes -vv) +OUTPUT=$(coverage run -m pytest tests --color=yes -vv) EXIT=$? echo -e "${OUTPUT}" diff --git a/scripts/start_new_localnet.sh b/scripts/start_new_localnet.sh deleted file mode 100644 index 8bb88f9..0000000 --- a/scripts/start_new_localnet.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -echo "Launching the localnet" - -mxpy testnet clean -mxpy testnet config -mxpy testnet start \ No newline at end of file diff --git a/setup.cfg b/setup.cfg index ba058aa..36f01ff 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,5 +1,5 @@ [bumpversion] -current_version = 1.1.0 +current_version = 2.0.0 parse = (?P\d+)\.(?P\d+)\.(?P\d+)(-(?P\w+)(?P\d+))? serialize = {major}.{minor}.{patch}-{release}{build} @@ -21,7 +21,12 @@ omit = [flake8] exclude = temp -max-line-length = 100 +max-line-length = 88 +extend-ignore = E203 [pylint.FORMAT] -max-line-length = 100 +max-line-length = 88 +good-names = tx,i,x,e,df,ax + +[pylint.MESSAGES CONTROL] +disable = W1203 diff --git a/tests/conftest.py b/tests/conftest.py index cee2fff..31fb4b8 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -2,36 +2,43 @@ import pytest from mxops.config.config import Config -from mxops.data.data import InternalContractData, ScenarioData, delete_scenario_data +from mxops.data.execution_data import ( + InternalContractData, + ScenarioData, + delete_scenario_data, +) from mxops.data.path import initialize_data_folder from mxops.enums import NetworkEnum -@pytest.fixture(scope='session', autouse=True) +@pytest.fixture(scope="session", autouse=True) def network(): Config.set_network(NetworkEnum.LOCAL) -@pytest.fixture(scope='session', autouse=True) +@pytest.fixture(scope="session", autouse=True) def test_data_folder_path(): - return Path('./tests/data') + return Path("./tests/data") -@pytest.fixture(scope='session', autouse=True) +@pytest.fixture(scope="session", autouse=True) def scenario_data(): initialize_data_folder() - ScenarioData.create_scenario('pytest_scenario') - contract_id = 'my_test_contract' - address = 'erd1...f217' - + ScenarioData.create_scenario("pytest_scenario") + contract_id = "my_test_contract" + address = "erd1qqqqqqqqqqqqqpgqdmq43snzxutandvqefxgj89r6fh528v9dwnswvgq9t" + wasm_hash = "5ce403a4f73701481cc15b2378cdc5bce3e35fa215815aa5eb9104d9f7ab2451" _scenario_data = ScenarioData.get() - _scenario_data.add_contract_data(InternalContractData(contract_id=contract_id, - address=address, - wasm_hash='0x..hash', - deploy_time=1, - last_upgrade_time=1, - saved_values=dict(), - )) + _scenario_data.add_contract_data( + InternalContractData( + contract_id=contract_id, + address=address, + wasm_hash=wasm_hash, + deploy_time=1, + last_upgrade_time=1, + saved_values=dict(), + ) + ) yield _scenario_data - delete_scenario_data('pytest_scenario', False) + delete_scenario_data("pytest_scenario", ask_confirmation=False) diff --git a/tests/data/custom_user_module.py b/tests/data/custom_user_module.py new file mode 100644 index 0000000..aa5a362 --- /dev/null +++ b/tests/data/custom_user_module.py @@ -0,0 +1,21 @@ +""" +Custom module from a user +""" +from typing import Any +from mxops.data.execution_data import ScenarioData + + +def set_contract_value(contract_id: str, value_key: str, value: Any): + """ + Set a key, value pair for a contract + + :param contract_id: contract to set the value of + :type contract_id: str + :param value_key: key under which save the value + :type value_key: str + :param value: value to save + :type value: Any + """ + scenario_data = ScenarioData.get() + scenario_data.set_contract_value(contract_id, value_key, value) + return str(value) diff --git a/tests/data/deploy_scene.yaml b/tests/data/deploy_scene.yaml index 2b7bcdd..b4ebb53 100644 --- a/tests/data/deploy_scene.yaml +++ b/tests/data/deploy_scene.yaml @@ -43,7 +43,7 @@ steps: gas_limit: 80000000 arguments: [] checks: [] - + - type: ContractQuery contract: SEGLD-minter endpoint: getTokenIdentifier @@ -51,4 +51,16 @@ steps: expected_results: - save_key: TokenIdentifier result_type: str - print_results: true \ No newline at end of file + print_results: true + + - type: ContractUpgrade + sender: owner + wasm_path: ../contract/src/esdt-minter/output/esdt-minter.wasm + contract: SEGLD-minter + gas_limit: 50000000 + arguments: + - 200 + upgradeable: true + readable: false + payable: true + payable_by_sc: true diff --git a/tests/data/scenarios/scenario_A.json b/tests/data/scenarios/scenario_A.json index a149c30..db77200 100644 --- a/tests/data/scenarios/scenario_A.json +++ b/tests/data/scenarios/scenario_A.json @@ -1,5 +1,5 @@ { - "name": "mxops_tutorial_first_scene", + "name": "___test_mxops_tutorial_first_scene", "network": "DEV", "creation_time": 1677134890, "last_update_time": 1677134896, diff --git a/tests/data/scenarios/scenario_B.json b/tests/data/scenarios/scenario_B.json index 32e2f55..3a5562d 100644 --- a/tests/data/scenarios/scenario_B.json +++ b/tests/data/scenarios/scenario_B.json @@ -1,5 +1,5 @@ { - "name": "mxops_tutorial_first_scene", + "name": "___test_mxops_tutorial_first_scene", "network": "devnet", "creation_time": 1677134890, "last_update_time": 1677134896, diff --git a/tests/data/scenarios/scenario_C.json b/tests/data/scenarios/scenario_C.json index 33f3d2f..78385e9 100644 --- a/tests/data/scenarios/scenario_C.json +++ b/tests/data/scenarios/scenario_C.json @@ -1,5 +1,5 @@ { - "name": "mxops_tutorial_first_scene", + "name": "___test_mxops_tutorial_first_scene", "network": "devnet", "creation_time": 1677134890, "last_update_time": 1677134896, @@ -15,7 +15,7 @@ }, "wrapper": { "contract_id": "wrapper", - "address": "erd1qqqqqqqqqqqqqpgq0048vv3uk6l6cdreezpallvduy4qnfv2plcdr5sd8e", + "address": "erd1qqqqqqqqqqqqqpgqdmq43snzxutandvqefxgj89r6fh528v9dwnswvgq9t", "saved_values": {}, "is_external": true } @@ -28,5 +28,6 @@ "saved_values": {}, "type": "fungible" } - } + }, + "saved_values": {} } \ No newline at end of file diff --git a/tests/test_checks.py b/tests/test_checks.py index ecc8649..a9f6da0 100644 --- a/tests/test_checks.py +++ b/tests/test_checks.py @@ -4,7 +4,7 @@ from multiversx_sdk_cli.accounts import Account, Address from multiversx_sdk_network_providers.transactions import TransactionOnNetwork -from mxops.data.data import InternalContractData, ScenarioData +from mxops.data.execution_data import InternalContractData, ScenarioData from mxops.errors import CheckFailed from mxops.execution.account import AccountsManager from mxops.execution.checks import TransfersCheck @@ -14,21 +14,21 @@ def test_transfers_equality(): # Given expected_transfers = [ - ExpectedTransfer('A', 'B', 'tokenA', '15'), - ExpectedTransfer('A', 'B', 'tokenA', '18'), - ExpectedTransfer('C', 'B', 'tokenA', '15'), - ExpectedTransfer('A', 'D', 'tokenA', 15), - ExpectedTransfer('A', 'D', 'MyNFT', 1, nonce=3661), - ExpectedTransfer('A', 'D', 'MySFT', 15848, nonce=210), + ExpectedTransfer("A", "B", "tokenA", "15"), + ExpectedTransfer("A", "B", "tokenA", "18"), + ExpectedTransfer("C", "B", "tokenA", "15"), + ExpectedTransfer("A", "D", "tokenA", 15), + ExpectedTransfer("A", "D", "MyNFT", 1, nonce=3661), + ExpectedTransfer("A", "D", "MySFT", 15848, nonce=210), ] onchain_transfers = [ - OnChainTransfer('A', 'B', 'tokenA', '15'), - OnChainTransfer('A', 'B', 'tokenA', '18'), - OnChainTransfer('C', 'B', 'tokenA', '15'), - OnChainTransfer('A', 'D', 'tokenA', '15'), - OnChainTransfer('A', 'D', 'MyNFT-0e4d', '1'), - OnChainTransfer('A', 'D', 'MySFT-d2', '15848'), + OnChainTransfer("A", "B", "tokenA", "15"), + OnChainTransfer("A", "B", "tokenA", "18"), + OnChainTransfer("C", "B", "tokenA", "15"), + OnChainTransfer("A", "D", "tokenA", "15"), + OnChainTransfer("A", "D", "MyNFT-0e4d", "1"), + OnChainTransfer("A", "D", "MySFT-d2", "15848"), ] # When @@ -40,7 +40,7 @@ def test_transfers_equality(): assert ot in expected_transfers for i in range(len(expected_transfers)): - for j in range(i+1, len(expected_transfers)): + for j in range(i + 1, len(expected_transfers)): assert expected_transfers[i] != expected_transfers[j] assert onchain_transfers[i] != onchain_transfers[j] @@ -49,35 +49,36 @@ def test_transfers_equality(): def test_data_load_equality(): # Given - AccountsManager._accounts['owner'] = Account( - Address('erd1zzugxvypryhfym7qrnnkxvrlh8d9ylw2s0399q5tzp43g297plcq4p6d30')) + AccountsManager._accounts["owner"] = Account( + Address.from_bech32( + "erd1zzugxvypryhfym7qrnnkxvrlh8d9ylw2s0399q5tzp43g297plcq4p6d30" + ) + ) scenario = ScenarioData.get() contract_data = InternalContractData( contract_id="egld-ping-pong", address="erd1qqqqqqqqqqqqqpgqpxkd9qgyyxykq5l6d8v9zud99hpwh7l0plcq3dae77", - saved_values={ - "PingAmount": 1000000000000000000 - }, + saved_values={"PingAmount": 1000000000000000000}, wasm_hash="1383133d22b8be01c4dc6dfda448dbf0b70ba1acb348a50dd3224b9c8bb21757", deploy_time=1677261606, - last_upgrade_time=1677261606 - + last_upgrade_time=1677261606, ) scenario.add_contract_data(contract_data) expected_transfer = ExpectedTransfer( - sender='[owner]', - receiver='%egld-ping-pong%address', - token_identifier='EGLD', - amount='%egld-ping-pong%PingAmount' + sender="[owner]", + receiver="%egld-ping-pong.address", + token_identifier="EGLD", + amount="%egld-ping-pong.PingAmount", ) on_chain_transfers = [ OnChainTransfer( - sender='erd1zzugxvypryhfym7qrnnkxvrlh8d9ylw2s0399q5tzp43g297plcq4p6d30', - receiver='erd1qqqqqqqqqqqqqpgqpxkd9qgyyxykq5l6d8v9zud99hpwh7l0plcq3dae77', - token_identifier='EGLD', - amount='1000000000000000000') + sender="erd1zzugxvypryhfym7qrnnkxvrlh8d9ylw2s0399q5tzp43g297plcq4p6d30", + receiver="erd1qqqqqqqqqqqqqpgqpxkd9qgyyxykq5l6d8v9zud99hpwh7l0plcq3dae77", + token_identifier="EGLD", + amount="1000000000000000000", + ) ] # When @@ -89,51 +90,55 @@ def test_data_load_equality(): def test_exact_add_liquidity_transfers_check(test_data_folder_path: Path): # Given - with open(test_data_folder_path / 'api_responses' / 'add_liquidity.json') as file: + with open(test_data_folder_path / "api_responses" / "add_liquidity.json") as file: onchain_tx = TransactionOnNetwork.from_proxy_http_response(**json.load(file)) expected_transfers = [ ExpectedTransfer( - 'erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss', - 'erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x', - 'WEGLD-bd4d79', - '2662383390769244262'), + "erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss", + "erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x", + "WEGLD-bd4d79", + "2662383390769244262", + ), ExpectedTransfer( - 'erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss', - 'erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x', - 'RIDE-7d18e9', - '1931527217545745197301'), + "erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss", + "erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x", + "RIDE-7d18e9", + "1931527217545745197301", + ), ExpectedTransfer( - 'erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x', - 'erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss', - 'EGLDRIDE-7bd51a', - '1224365948567992620'), + "erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x", + "erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss", + "EGLDRIDE-7bd51a", + "1224365948567992620", + ), ExpectedTransfer( - 'erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x', - 'erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss', - 'RIDE-7d18e9', - '37'), + "erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x", + "erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss", + "RIDE-7d18e9", + "37", + ), ] # When - transfer_check = TransfersCheck(expected_transfers, condition='exact') + transfer_check = TransfersCheck(expected_transfers, condition="exact") exact_result = transfer_check.get_check_status(onchain_tx) - transfer_check = TransfersCheck(expected_transfers, condition='included') + transfer_check = TransfersCheck(expected_transfers, condition="included") include_result = transfer_check.get_check_status(onchain_tx) - transfer_check = TransfersCheck(expected_transfers, condition='exact', include_gas_refund=True) + transfer_check = TransfersCheck( + expected_transfers, condition="exact", include_gas_refund=True + ) refund_result = transfer_check.get_check_status(onchain_tx) try: transfer_check.raise_on_failure(onchain_tx) - raise RuntimeError('Above line should raise an error') + raise RuntimeError("Above line should raise an error") except CheckFailed: pass transfer_check = TransfersCheck( - expected_transfers, - condition='included', - include_gas_refund=True + expected_transfers, condition="included", include_gas_refund=True ) included_refund_result = transfer_check.get_check_status(onchain_tx) diff --git a/tests/test_core_builders.py b/tests/test_core_builders.py index 5333b9a..15d07ed 100644 --- a/tests/test_core_builders.py +++ b/tests/test_core_builders.py @@ -1,140 +1,143 @@ from multiversx_sdk_core import Address -from multiversx_sdk_core.transaction_builders import DefaultTransactionBuildersConfiguration +from multiversx_sdk_core.transaction_builders import ( + DefaultTransactionBuildersConfiguration, +) from mxops.execution import token_management_builders def test_fungible_issue_payload(): # Given - builder_config = DefaultTransactionBuildersConfiguration( - chain_id='D' - ) + builder_config = DefaultTransactionBuildersConfiguration(chain_id="D") builder = token_management_builders.FungibleTokenIssueBuilder( builder_config, - Address.from_bech32('erd17jcn20jh2k868vg0mm7yh0trdd5mxpy4jzasaf2uraffpae0yrjsvu6txw'), - 'MyToken', - 'MTK', + Address.from_bech32( + "erd17jcn20jh2k868vg0mm7yh0trdd5mxpy4jzasaf2uraffpae0yrjsvu6txw" + ), + "MyToken", + "MTK", 1000000, 3, can_pause=True, - can_upgrade=True + can_upgrade=True, ) # When payload = builder.build_payload() # Then - assert payload.data == (b'issue' - b'@4d79546f6b656e' - b'@4d544b' - b'@0f4240' - b'@03' - b'@63616e5061757365@74727565' - b'@63616e55706772616465@74727565' - ) + assert payload.data == ( + b"issue" + b"@4d79546f6b656e" + b"@4d544b" + b"@0f4240" + b"@03" + b"@63616e5061757365@74727565" + b"@63616e4164645370656369616c526f6c6573@66616c7365" + ) def test_non_fungible_issue_payload(): # Given - builder_config = DefaultTransactionBuildersConfiguration( - chain_id='D' - ) + builder_config = DefaultTransactionBuildersConfiguration(chain_id="D") builder = token_management_builders.NonFungibleTokenIssueBuilder( builder_config, - Address.from_bech32('erd17jcn20jh2k868vg0mm7yh0trdd5mxpy4jzasaf2uraffpae0yrjsvu6txw'), - 'MyToken', - 'MTK', + Address.from_bech32( + "erd17jcn20jh2k868vg0mm7yh0trdd5mxpy4jzasaf2uraffpae0yrjsvu6txw" + ), + "MyToken", + "MTK", can_upgrade=True, - can_transfer_nft_create_role=True + can_transfer_nft_create_role=True, ) # When payload = builder.build_payload() # Then - assert payload.data == (b'issueNonFungible' - b'@4d79546f6b656e' - b'@4d544b' - b'@63616e55706772616465@74727565' - b'@63616e5472616e736665724e4654437265617465526f6c65@74727565' - ) + assert payload.data == ( + b"issueNonFungible" + b"@4d79546f6b656e" + b"@4d544b" + b"@63616e4164645370656369616c526f6c6573@66616c7365" + b"@63616e5472616e736665724e4654437265617465526f6c65@74727565" + ) def test_semi_fungible_issue_payload(): # Given - builder_config = DefaultTransactionBuildersConfiguration( - chain_id='D' - ) + builder_config = DefaultTransactionBuildersConfiguration(chain_id="D") builder = token_management_builders.SemiFungibleTokenIssueBuilder( builder_config, - Address.from_bech32('erd17jcn20jh2k868vg0mm7yh0trdd5mxpy4jzasaf2uraffpae0yrjsvu6txw'), - 'MyToken', - 'MTK', - can_burn=True, - can_upgrade=True, - can_transfer_nft_create_role=True + Address.from_bech32( + "erd17jcn20jh2k868vg0mm7yh0trdd5mxpy4jzasaf2uraffpae0yrjsvu6txw" + ), + "MyToken", + "MTK", + can_add_special_roles=True, + can_transfer_nft_create_role=True, ) # When payload = builder.build_payload() # Then - assert payload.data == (b'issueSemiFungible' - b'@4d79546f6b656e' - b'@4d544b' - b'@63616e4275726e@74727565' - b'@63616e55706772616465@74727565' - b'@63616e5472616e736665724e4654437265617465526f6c65@74727565' - ) + assert payload.data == ( + b"issueSemiFungible" + b"@4d79546f6b656e" + b"@4d544b" + b"@63616e55706772616465@66616c7365" + b"@63616e5472616e736665724e4654437265617465526f6c65@74727565" + ) def test_meta_fungible_issue_payload(): # Given - builder_config = DefaultTransactionBuildersConfiguration( - chain_id='D' - ) + builder_config = DefaultTransactionBuildersConfiguration(chain_id="D") builder = token_management_builders.MetaFungibleTokenIssueBuilder( builder_config, - Address.from_bech32('erd17jcn20jh2k868vg0mm7yh0trdd5mxpy4jzasaf2uraffpae0yrjsvu6txw'), - 'MyToken', - 'MTK', + Address.from_bech32( + "erd17jcn20jh2k868vg0mm7yh0trdd5mxpy4jzasaf2uraffpae0yrjsvu6txw" + ), + "MyToken", + "MTK", 3, - can_burn=True, can_upgrade=True, - can_transfer_nft_create_role=True + can_transfer_nft_create_role=True, ) # When payload = builder.build_payload() # Then - assert payload.data == (b'registerMetaESDT' - b'@4d79546f6b656e' - b'@4d544b' - b'@03' - b'@63616e4275726e@74727565' - b'@63616e55706772616465@74727565' - b'@63616e5472616e736665724e4654437265617465526f6c65@74727565' - ) + assert payload.data == ( + b"registerMetaESDT" + b"@4d79546f6b656e" + b"@4d544b" + b"@03" + b"@63616e4164645370656369616c526f6c6573@66616c7365" + b"@63616e5472616e736665724e4654437265617465526f6c65@74727565" + ) def test_fungible_mint_payload(): # Given - builder_config = token_management_builders.MyDefaultTransactionBuildersConfiguration( - chain_id='D' + builder_config = ( + token_management_builders.MyDefaultTransactionBuildersConfiguration( + chain_id="D" + ) ) builder = token_management_builders.FungibleMintBuilder( builder_config, - Address.from_bech32('erd17jcn20jh2k868vg0mm7yh0trdd5mxpy4jzasaf2uraffpae0yrjsvu6txw'), - 'MTK-235663', - 100000000 + Address.from_bech32( + "erd17jcn20jh2k868vg0mm7yh0trdd5mxpy4jzasaf2uraffpae0yrjsvu6txw" + ), + "MTK-235663", + 100000000, ) # When payload = builder.build_payload() # Then - assert payload.data == (b'ESDTLocalMint' - b'@4d544b2d323335363633' - b'@05f5e100' - ) + assert payload.data == (b"ESDTLocalMint" b"@4d544b2d323335363633" b"@05f5e100") diff --git a/tests/test_data_io.py b/tests/test_data_io.py index 55f5d10..b98faff 100644 --- a/tests/test_data_io.py +++ b/tests/test_data_io.py @@ -1,22 +1,31 @@ import json from pathlib import Path +from typing import Any, List import pytest +from mxops import errors -from mxops.data.data import _ScenarioData, InternalContractData, TokenData +from mxops.data.execution_data import ( + _ScenarioData, + InternalContractData, + SavedValuesData, + TokenData, + parse_value_key, +) from mxops.enums import NetworkEnum, TokenTypeEnum @pytest.mark.parametrize( - 'scenario_path', + "scenario_path", [ - Path('tests/data/scenarios/scenario_A.json'), - Path('tests/data/scenarios/scenario_B.json'), - ] + Path("tests/data/scenarios/scenario_A.json"), + Path("tests/data/scenarios/scenario_B.json"), + ], ) def test_scenario_loading(scenario_path: Path): """ - Test that contract data is correctly loaded and that both environment syntax are handeld + Test that contract data is correctly loaded and that both environment syntax are + handeld """ # Given # When @@ -24,37 +33,184 @@ def test_scenario_loading(scenario_path: Path): # Then assert scenario.network == NetworkEnum.DEV - assert scenario.name == "mxops_tutorial_first_scene" + assert scenario.name == "___test_mxops_tutorial_first_scene" assert scenario.contracts_data == { "egld-ping-pong": InternalContractData( contract_id="egld-ping-pong", address="erd1qqqqqqqqqqqqqpgq0048vv3uk6l6cdreezpallvduy4qnfv2plcq74464k", saved_values={}, - wasm_hash="5ce403a4f73701481cc15b2378cdc5bce3e35fa215815aa5eb9104d9f7ab2451", + wasm_hash=( + "5ce403a4f73701481cc15b2378cdc5bce3e35fa215815aa5eb9104d9f7ab2451" + ), deploy_time=1677134892, - last_upgrade_time=1677134892 + last_upgrade_time=1677134892, ) } +def test_key_path_fetch(): + """ + Test that data is fetched correctly from a key path + """ + # Given + saved_values = SavedValuesData( + saved_values={ + "key_1": { + "key_2": [ + {"data": "wrong value"}, + {"data": "wrong value"}, + {"data": "desired value"}, + ] + } + } + ) + + # When + data = saved_values.get_value("key_1.key_2[2].data") + + # Then + assert data == "desired value" + + +def test_key_path_fetch_errors(): + """ + Test that errors are correctly raise for wrong key path + """ + # Given + saved_values = SavedValuesData( + saved_values={ + "key_1": { + "key_2": [ + {"data": "wrong value"}, + {"data": "wrong value"}, + {"data": "desired value"}, + ] + } + } + ) + + # When + try: + saved_values.get_value("key_3") + raise RuntimeError("An error should have been raised by the line above") + except errors.WrongDataKeyPath as err: + assert err.args == ( + "Wrong key 'key_3' in ['key_3'] for data element {'key_1': {'key_2': " + "[{'data': " + "'wrong value'}, {'data': 'wrong value'}, {'data': 'desired value'}]}}", + ) + try: + saved_values.get_value("key_1.key_3") + raise RuntimeError("An error should have been raised by the line above") + except errors.WrongDataKeyPath as err: + assert err.args == ( + "Wrong key 'key_3' in ['key_1', 'key_3'] for data element {'key_2': " + "[{'data': 'wrong value'}, {'data': 'wrong value'}, {'data': " + "'desired value'}]}", + ) + try: + saved_values.get_value("key_1.key_2[4]") + raise RuntimeError("An error should have been raised by the line above") + except errors.WrongDataKeyPath as err: + assert err.args == ( + "Wrong index 4 in ['key_1', 'key_2', 4] for data element [{'data': " + "'wrong value'}, {'data': 'wrong value'}, {'data': 'desired value'}]", + ) + + +@pytest.mark.parametrize( + "value_key, expected_result", + [ + ("key_1.key_2[0].data", ["key_1", "key_2", 0, "data"]), + ("ping_pong.address", ["ping_pong", "address"]), + ("ping-pong.address", ["ping-pong", "address"]), + ], +) +def test_parse_value_key(value_key: str, expected_result: List[str | int]): + # When + # Given + result = parse_value_key(value_key) + + # Then + assert result == expected_result + + +@pytest.mark.parametrize( + "key_path, value", + [ + ("key_1.key_2[0].data", "value"), + ("key_1[0][0].data", 1584), + ("key_3", [1, 5, 6, 8]), + ], +) +def test_key_path_set(key_path: str, value: Any): + """ + Test that values can be set and retrieved correctly + """ + # Given + saved_values = SavedValuesData(saved_values={}) + + # When + saved_values.set_value(key_path, value) + retrieved_value = saved_values.get_value(key_path) + + # Then + assert retrieved_value == value + + +def test_key_path_set_errors(): + """ + Test that errors are correctly raise for wrong key path + """ + # Given + saved_values = SavedValuesData( + saved_values={ + "key_1": { + "key_2": [ + {"data": "wrong value"}, + {"data": "wrong value"}, + {"data": "desired value"}, + ] + } + } + ) + + # When + try: + saved_values.set_value("", "value") + raise RuntimeError("An error should have been raised by the line above") + except errors.WrongDataKeyPath as err: + assert err.args == ("Key path is empty",) + try: + saved_values.set_value("[1]", "value") + raise RuntimeError("An error should have been raised by the line above") + except errors.WrongDataKeyPath as err: + assert err.args[0].startswith("Expected a tuple or a list but found {") + try: + saved_values.set_value("key_1.key_2.key_3", "value") + raise RuntimeError("An error should have been raised by the line above") + except errors.WrongDataKeyPath as err: + assert err.args[0].startswith("Expected a dict but found [") + + def test_token_data_loading(): """ Test that token data is correctly loaded """ # Given - scenario_path = Path('tests/data/scenarios/scenario_C.json') + scenario_path = Path("tests/data/scenarios/scenario_C.json") # When scenario = _ScenarioData.load_from_path(scenario_path) # Then assert scenario.tokens_data == { - 'My Token': TokenData( - name='My Token', - ticker='MTK', - identifier='MTK-abcdef', + "My Token": TokenData( + name="My Token", + ticker="MTK", + identifier="MTK-abcdef", saved_values={}, - type=TokenTypeEnum.FUNGIBLE + type=TokenTypeEnum.FUNGIBLE, ) } @@ -64,8 +220,8 @@ def test_io_unicity(): Test the loading and writing are consistent """ # Given - scenario_path = Path('tests/data/scenarios/scenario_C.json') - with open(scenario_path.as_posix(), encoding='utf-8') as file: + scenario_path = Path("tests/data/scenarios/scenario_C.json") + with open(scenario_path.as_posix(), encoding="utf-8") as file: raw_data = json.load(file) # When @@ -73,6 +229,4 @@ def test_io_unicity(): scenario_dict = scenario.to_dict() # Then - print('result:', json.dumps(scenario_dict, indent=4)) - print('expected:', json.dumps(raw_data, indent=4)) assert scenario_dict == raw_data diff --git a/tests/test_execution_utils.py b/tests/test_execution_utils.py index 83f95e3..7764a53 100644 --- a/tests/test_execution_utils.py +++ b/tests/test_execution_utils.py @@ -1,15 +1,17 @@ import os from multiversx_sdk_cli.accounts import Account +from multiversx_sdk_cli.contracts import SmartContract +from multiversx_sdk_core import Address -from mxops.data.data import _ScenarioData +from mxops.data.execution_data import _ScenarioData from mxops.execution import utils from mxops.execution.account import AccountsManager def test_no_type(): # Given - arg = 'MyTokenIdentifier' + arg = "MyTokenIdentifier" # When retrieved_arg, specified_type = utils.retrieve_specified_type(arg) @@ -21,24 +23,24 @@ def test_no_type(): def test_int_type(): # Given - arg = 'MyTokenAmount:int' + arg = "MyTokenAmount:int" # When retrieved_arg, specified_type = utils.retrieve_specified_type(arg) # Then - assert retrieved_arg == 'MyTokenAmount' - assert specified_type == 'int' + assert retrieved_arg == "MyTokenAmount" + assert specified_type == "int" def test_env_value(): # Given - var_name = 'PYTEST_MXOPS_VALUE' + var_name = "PYTEST_MXOPS_VALUE" var_value = 784525 os.environ[var_name] = str(var_value) # When - retrieved_value = utils.retrieve_value_from_env(f'${var_name}:int') + retrieved_value = utils.retrieve_value_from_env(f"${var_name}:int") # Then assert retrieved_value == var_value @@ -46,11 +48,11 @@ def test_env_value(): def test_scenario_attribute_data(): # Given - contract_id = 'my_test_contract' - address = 'erd1...f217' + contract_id = "my_test_contract" + address = "erd1qqqqqqqqqqqqqpgqdmq43snzxutandvqefxgj89r6fh528v9dwnswvgq9t" # When - arg = f'%{contract_id}%address' + arg = f"%{contract_id}.address" retrieved_value = utils.retrieve_value_from_scenario_data(arg) # Then @@ -59,11 +61,11 @@ def test_scenario_attribute_data(): def test_scenario_saved_data(scenario_data: _ScenarioData): # Given - contract_id = 'my_test_contract' - scenario_data.set_contract_value(contract_id, 'my_key', 7458) + contract_id = "my_test_contract" + scenario_data.set_contract_value(contract_id, "my_key", 7458) # When - arg = f'%{contract_id}%my_key:int' + arg = f"%{contract_id}.my_key:int" retrieved_value = utils.retrieve_value_from_scenario_data(arg) # Then @@ -72,11 +74,11 @@ def test_scenario_saved_data(scenario_data: _ScenarioData): def test_value_from_config(): # Given - expected_value = 'local-testnet' - value_name = 'CHAIN' + expected_value = "local-testnet" + value_name = "CHAIN" # When - arg = f'&{value_name}' + arg = f"&{value_name}" retrieved_value = utils.retrieve_value_from_config(arg) # Then @@ -85,14 +87,50 @@ def test_value_from_config(): def test_address_from_account(): # Given - address = 'erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th' - account_name = 'alice' + address = Address.from_bech32( + "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" + ) + account_name = "alice" account = Account(address) AccountsManager._accounts[account_name] = account # When - arg = f'[{account_name}]' - retrieved_value = utils.retrieve_address_from_account(arg).bech32() + arg = f"[{account_name}]" + retrieved_value = utils.retrieve_address_from_account(arg) # Then assert retrieved_value == address + + +def test_get_contract_instance(): + """ + Test that a contract can be retrieved correctly + """ + # Given + contract_id = "my_test_contract" + + # When + contract = utils.get_contract_instance(contract_id) + contract_bis = utils.get_contract_instance( + "erd1qqqqqqqqqqqqqpgqdmq43snzxutandvqefxgj89r6fh528v9dwnswvgq9t" + ) + + # Then + assert isinstance(contract, SmartContract) + assert isinstance(contract_bis, SmartContract) + assert contract.address.bech32() == contract_bis.address.bech32() + + +def test_retrieve_contract_address(): + """ + Test that a contract address can be retrieved + """ + # Given + contract_id = "my_test_contract" + + # When + address = utils.retrieve_value_from_string(f"%{contract_id}.address") + + # Assert + assert isinstance(address, str) + address == "erd1qqqqqqqqqqqqqpgqdmq43snzxutandvqefxgj89r6fh528v9dwnswvgq9t" diff --git a/tests/test_instantiate.py b/tests/test_instantiate.py index 3d13c75..be77982 100644 --- a/tests/test_instantiate.py +++ b/tests/test_instantiate.py @@ -3,12 +3,17 @@ from mxops.execution.checks import SuccessCheck from mxops.execution.scene import Scene -from mxops.execution.steps import ContractCallStep, ContractDeployStep, ContractQueryStep +from mxops.execution.steps import ( + ContractCallStep, + ContractDeployStep, + ContractQueryStep, + ContractUpgradeStep, +) def test_deploy_scene_instantiation(test_data_folder_path: Path): # Given - with open(test_data_folder_path / 'deploy_scene.yaml', encoding='utf-8') as file: + with open(test_data_folder_path / "deploy_scene.yaml", encoding="utf-8") as file: deploy_yaml_content = yaml.safe_load(file) # When @@ -18,43 +23,55 @@ def test_deploy_scene_instantiation(test_data_folder_path: Path): # Then expected_steps = [ ContractDeployStep( - sender='owner', - wasm_path='../contract/src/esdt-minter/output/esdt-minter.wasm', - contract_id='SEGLD-minter', + sender="owner", + wasm_path="../contract/src/esdt-minter/output/esdt-minter.wasm", + contract_id="SEGLD-minter", gas_limit=80000000, upgradeable=True, readable=False, payable=False, payable_by_sc=False, - arguments=[125000000, 120] + arguments=[125000000, 120], ), ContractCallStep( - sender='owner', - contract='SEGLD-minter', - endpoint='registerToken', + sender="owner", + contract="SEGLD-minter", + endpoint="registerToken", gas_limit=80000000, - arguments=['SEGLD', 'SEGLD', 18], - value='&BASE_ISSUING_COST', - checks=[SuccessCheck()] + arguments=["SEGLD", "SEGLD", 18], + value="&BASE_ISSUING_COST", + checks=[SuccessCheck()], ), ContractCallStep( - sender='owner', - contract='SEGLD-minter', - endpoint='setTokenLocalRoles', + sender="owner", + contract="SEGLD-minter", + endpoint="setTokenLocalRoles", gas_limit=80000000, - checks=[] + checks=[], ), ContractQueryStep( - endpoint='getTokenIdentifier', - contract='SEGLD-minter', + endpoint="getTokenIdentifier", + contract="SEGLD-minter", arguments=[], - expected_results=[{'save_key': 'TokenIdentifier', 'result_type': 'str'}], - print_results=True - ) + expected_results=[{"save_key": "TokenIdentifier", "result_type": "str"}], + print_results=True, + ), + ContractUpgradeStep( + sender="owner", + wasm_path="../contract/src/esdt-minter/output/esdt-minter.wasm", + contract="SEGLD-minter", + gas_limit=50000000, + upgradeable=True, + readable=False, + payable=True, + payable_by_sc=True, + arguments=[200], + ), ] assert expected_steps == loaded_steps assert scene.accounts == [ - {'account_name': 'owner', 'pem_path': 'wallets/local_owner.pem'}] - assert scene.allowed_networks == ['localnet'] - assert scene.allowed_scenario == ['.*'] + {"account_name": "owner", "pem_path": "wallets/local_owner.pem"} + ] + assert scene.allowed_networks == ["localnet"] + assert scene.allowed_scenario == [".*"] diff --git a/tests/test_raise_tx_errors.py b/tests/test_raise_tx_errors.py index 7b7932e..54465ab 100644 --- a/tests/test_raise_tx_errors.py +++ b/tests/test_raise_tx_errors.py @@ -9,7 +9,7 @@ def test_out_of_gas(test_data_folder_path: Path): # Given - with open(test_data_folder_path / 'api_responses' / 'out_of_gas.json') as file: + with open(test_data_folder_path / "api_responses" / "out_of_gas.json") as file: tx = TransactionOnNetwork.from_proxy_http_response(**json.load(file)) # When @@ -17,14 +17,14 @@ def test_out_of_gas(test_data_folder_path: Path): # Then try: raise_on_errors(tx) - raise RuntimeError('`InternalVmExecutionError` was expected but was not raised') + raise RuntimeError("`InternalVmExecutionError` was expected but was not raised") except errors.InternalVmExecutionError: pass def test_not_enough_esdt(test_data_folder_path: Path): # Given - with open(test_data_folder_path / 'api_responses' / 'not_enough_esdt.json') as file: + with open(test_data_folder_path / "api_responses" / "not_enough_esdt.json") as file: tx = TransactionOnNetwork.from_proxy_http_response(**json.load(file)) # When @@ -32,14 +32,14 @@ def test_not_enough_esdt(test_data_folder_path: Path): # Then try: raise_on_errors(tx) - raise RuntimeError('`InvalidTransactionError` was expected but was not raised') + raise RuntimeError("`InvalidTransactionError` was expected but was not raised") except errors.InvalidTransactionError: pass def test_vm_error(test_data_folder_path: Path): # Given - with open(test_data_folder_path / 'api_responses' / 'vm_error.json') as file: + with open(test_data_folder_path / "api_responses" / "vm_error.json") as file: tx = TransactionOnNetwork.from_proxy_http_response(**json.load(file)) # When @@ -47,6 +47,6 @@ def test_vm_error(test_data_folder_path: Path): # Then try: raise_on_errors(tx) - raise RuntimeError('`InternalVmExecutionError` was expected but was not raised') + raise RuntimeError("`InternalVmExecutionError` was expected but was not raised") except errors.InternalVmExecutionError: pass diff --git a/tests/test_steps.py b/tests/test_steps.py new file mode 100644 index 0000000..92a1013 --- /dev/null +++ b/tests/test_steps.py @@ -0,0 +1,37 @@ +import os +from mxops.data.execution_data import ScenarioData +from mxops.execution.steps import PythonStep + + +def test_python_step(): + # Given + scenario_data = ScenarioData.get() + module_path = "./tests/data/custom_user_module.py" + function = "set_contract_value" + step_1 = PythonStep( + module_path, function, ["my_test_contract", "my_test_key", "my_test_value"] + ) + + step_2 = PythonStep( + module_path, + function, + keyword_arguments={ + "contract_id": "my_test_contract", + "value_key": "my_test_key", + "value": 4582, + }, + ) + + # When + step_1.execute() + value_1 = scenario_data.get_contract_value("my_test_contract", "my_test_key") + os_value_1 = os.environ[f"MXOPS_{function.upper()}_RESULT"] + step_2.execute() + value_2 = scenario_data.get_contract_value("my_test_contract", "my_test_key") + os_value_2 = os.environ[f"MXOPS_{function.upper()}_RESULT"] + + # Then + assert value_1 == "my_test_value" + assert os_value_1 == "my_test_value" + assert value_2 == 4582 + assert os_value_2 == "4582" diff --git a/tests/test_token_management.py b/tests/test_token_management.py index d5a6227..bb67dee 100644 --- a/tests/test_token_management.py +++ b/tests/test_token_management.py @@ -8,7 +8,7 @@ def test_token_identifier_extraction(test_data_folder_path: Path): # Given - with open(test_data_folder_path / 'api_responses' / 'meta_issue.json') as file: + with open(test_data_folder_path / "api_responses" / "meta_issue.json") as file: on_chain_tx = TransactionOnNetwork.from_proxy_http_response(**json.load(file)) # When @@ -20,7 +20,7 @@ def test_token_identifier_extraction(test_data_folder_path: Path): def test_nonce_extraction(test_data_folder_path: Path): # Given - with open(test_data_folder_path / 'api_responses' / 'meta_nonce_mint.json') as file: + with open(test_data_folder_path / "api_responses" / "meta_nonce_mint.json") as file: on_chain_tx = TransactionOnNetwork.from_proxy_http_response(**json.load(file)) # When diff --git a/tests/test_transfers_extraction.py b/tests/test_transfers_extraction.py index b9571c8..64d4ecd 100644 --- a/tests/test_transfers_extraction.py +++ b/tests/test_transfers_extraction.py @@ -9,71 +9,81 @@ def test_simple_esdt_extract(): # Given - sender = 'erd1qqqqqqqqqqqqqpgqawujux7w60sjhm8xdx3n0ed8v9h7kpqu2jpsecw6ek' - receiver = 'erd1hfyadkpxtfxj6xqu5dvm7fhlav3q0qvxtljd3pzpeq0f6pq8mqgqcm4p65' - data = 'ESDTTransfer@4153482d613634326431@d916421ea4759f7ecb' + sender = "erd1qqqqqqqqqqqqqpgqawujux7w60sjhm8xdx3n0ed8v9h7kpqu2jpsecw6ek" + receiver = "erd1hfyadkpxtfxj6xqu5dvm7fhlav3q0qvxtljd3pzpeq0f6pq8mqgqcm4p65" + data = "ESDTTransfer@4153482d613634326431@d916421ea4759f7ecb" # When transfer = ntk.extract_simple_esdt_transfer(sender, receiver, data) # Then - excepted_transfer = OnChainTransfer(sender, receiver, 'ASH-a642d1', '4004547342103966875339') + excepted_transfer = OnChainTransfer( + sender, receiver, "ASH-a642d1", "4004547342103966875339" + ) assert excepted_transfer == transfer def test_simple_esdt_extract_contract(): # Given - sender = 'erd1qqqqqqqqqqqqqpgqawujux7w60sjhm8xdx3n0ed8v9h7kpqu2jpsecw6ek' - receiver = 'erd1hfyadkpxtfxj6xqu5dvm7fhlav3q0qvxtljd3pzpeq0f6pq8mqgqcm4p65' - data = 'ESDTTransfer@4153482d613634326431@d916421ea4759f7ecb@2d5819@01@05' + sender = "erd1qqqqqqqqqqqqqpgqawujux7w60sjhm8xdx3n0ed8v9h7kpqu2jpsecw6ek" + receiver = "erd1hfyadkpxtfxj6xqu5dvm7fhlav3q0qvxtljd3pzpeq0f6pq8mqgqcm4p65" + data = "ESDTTransfer@4153482d613634326431@d916421ea4759f7ecb@2d5819@01@05" # When transfer = ntk.extract_simple_esdt_transfer(sender, receiver, data) # Then - excepted_transfer = OnChainTransfer(sender, receiver, 'ASH-a642d1', '4004547342103966875339') + excepted_transfer = OnChainTransfer( + sender, receiver, "ASH-a642d1", "4004547342103966875339" + ) assert excepted_transfer == transfer def test_nft_extract(): # Given - sender = 'erd1hfyadkpxtfxj6xqu5dvm7fhlav3q0qvxtljd3pzpeq0f6pq8mqgqcm4p65' - receiver = 'erd1qqqqqqqqqqqqqpgqawujux7w60sjhm8xdx3n0ed8v9h7kpqu2jpsecw6ek' - data = ('ESDTNFTTransfer@4c4b4153482d313062643030@01@d916421ea4759f7ecb@0801120a00d916421ea4759' - 'f7ecb22520801120a4153482d6136343264311a2000000000000000000500ebb92e1bced3e12bece669a33' - '7e5a7616feb041c548332003a1e0000000a4153482d6136343264310000000000000000000000000000038' - 'a@756e6c6f636b546f6b656e73') + sender = "erd1hfyadkpxtfxj6xqu5dvm7fhlav3q0qvxtljd3pzpeq0f6pq8mqgqcm4p65" + receiver = "erd1qqqqqqqqqqqqqpgqawujux7w60sjhm8xdx3n0ed8v9h7kpqu2jpsecw6ek" + data = ( + "ESDTNFTTransfer@4c4b4153482d313062643030@01@d916421ea4759f7ecb@0801120a00d916" + "421ea4759f7ecb22520801120a4153482d6136343264311a2000000000000000000500ebb92e1" + "bced3e12bece669a337e5a7616feb041c548332003a1e0000000a4153482d6136343264310000" + "000000000000000000000000038a@756e6c6f636b546f6b656e73" + ) # When transfer = ntk.extract_nft_transfer(sender, receiver, data) # Then excepted_transfer = OnChainTransfer( - sender, receiver, 'LKASH-10bd00-01', '4004547342103966875339') + sender, receiver, "LKASH-10bd00-01", "4004547342103966875339" + ) assert excepted_transfer == transfer def test_multi_esdt_extract(): # Given - sender = 'erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x' - receiver = 'erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss' - data = ('MultiESDTNFTTransfer@9fbd4cb57735c83bcd78e2f604c03d9ee4c8639b3708ddecf13737fedc5ea593' - '@02@45474c44524944452d376264353161@@10fdd257df7ab92c@524944452d376431386539@@25') + sender = "erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x" + receiver = "erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss" + data = ( + "MultiESDTNFTTransfer@9fbd4cb57735c83bcd78e2f604c03d9ee4c8639b3708ddecf13737fed" + "c5ea593@02@45474c44524944452d376264353161@@10fdd257df7ab92c@524944452d37643138" + "6539@@25" + ) # When transfers = ntk.extract_multi_transfer(sender, data) # Then excepted_transfers = [ - OnChainTransfer(sender, receiver, 'EGLDRIDE-7bd51a', '1224365948567992620'), - OnChainTransfer(sender, receiver, 'RIDE-7d18e9', '37'), + OnChainTransfer(sender, receiver, "EGLDRIDE-7bd51a", "1224365948567992620"), + OnChainTransfer(sender, receiver, "RIDE-7d18e9", "37"), ] assert excepted_transfers == transfers def test_add_liquidity(test_data_folder_path: Path): # Given - with open(test_data_folder_path / 'api_responses' / 'add_liquidity.json') as file: + with open(test_data_folder_path / "api_responses" / "add_liquidity.json") as file: tx = TransactionOnNetwork.from_proxy_http_response(**json.load(file)) # When @@ -82,25 +92,29 @@ def test_add_liquidity(test_data_folder_path: Path): # Then expected_result = [ OnChainTransfer( - 'erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss', - 'erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x', - 'WEGLD-bd4d79', - '2662383390769244262'), + "erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss", + "erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x", + "WEGLD-bd4d79", + "2662383390769244262", + ), OnChainTransfer( - 'erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss', - 'erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x', - 'RIDE-7d18e9', - '1931527217545745197301'), + "erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss", + "erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x", + "RIDE-7d18e9", + "1931527217545745197301", + ), OnChainTransfer( - 'erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x', - 'erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss', - 'EGLDRIDE-7bd51a', - '1224365948567992620'), + "erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x", + "erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss", + "EGLDRIDE-7bd51a", + "1224365948567992620", + ), OnChainTransfer( - 'erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x', - 'erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss', - 'RIDE-7d18e9', - '37'), + "erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x", + "erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss", + "RIDE-7d18e9", + "37", + ), ] assert transfers == expected_result @@ -108,7 +122,7 @@ def test_add_liquidity(test_data_folder_path: Path): def test_add_liquidity_with_refund(test_data_folder_path: Path): # Given - with open(test_data_folder_path / 'api_responses' / 'add_liquidity.json') as file: + with open(test_data_folder_path / "api_responses" / "add_liquidity.json") as file: tx = TransactionOnNetwork.from_proxy_http_response(**json.load(file)) # When @@ -117,30 +131,35 @@ def test_add_liquidity_with_refund(test_data_folder_path: Path): # Then expected_result = [ OnChainTransfer( - 'erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss', - 'erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x', - 'WEGLD-bd4d79', - '2662383390769244262'), + "erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss", + "erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x", + "WEGLD-bd4d79", + "2662383390769244262", + ), OnChainTransfer( - 'erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss', - 'erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x', - 'RIDE-7d18e9', - '1931527217545745197301'), + "erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss", + "erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x", + "RIDE-7d18e9", + "1931527217545745197301", + ), OnChainTransfer( - 'erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x', - 'erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss', - 'EGLDRIDE-7bd51a', - '1224365948567992620'), + "erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x", + "erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss", + "EGLDRIDE-7bd51a", + "1224365948567992620", + ), OnChainTransfer( - 'erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x', - 'erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss', - 'RIDE-7d18e9', - '37'), + "erd1qqqqqqqqqqqqqpgqav09xenkuqsdyeyy5evqyhuusvu4gl3t2jpss57g8x", + "erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss", + "RIDE-7d18e9", + "37", + ), OnChainTransfer( - 'erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss', - 'erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss', - 'EGLD', - '14546790000000'), + "erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss", + "erd1n775edthxhyrhntcutmqfspanmjvscumxuydmm83xumlahz75kfsgp62ss", + "EGLD", + "14546790000000", + ), ] assert transfers == expected_result @@ -148,7 +167,7 @@ def test_add_liquidity_with_refund(test_data_folder_path: Path): def test_claim(test_data_folder_path: Path): # Given - with open(test_data_folder_path / 'api_responses' / 'claim.json') as file: + with open(test_data_folder_path / "api_responses" / "claim.json") as file: tx = TransactionOnNetwork.from_proxy_http_response(**json.load(file)) # When @@ -157,10 +176,11 @@ def test_claim(test_data_folder_path: Path): # Then expected_result = [ OnChainTransfer( - 'erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxhllllssz7sl7', - 'erd19dw6qeqyvn5ft7rqfzcds587j6u26n88kwkp0n0unnz7h2h6ds8qfpjmch', - 'EGLD', - '32138287366664708') + "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqxhllllssz7sl7", + "erd19dw6qeqyvn5ft7rqfzcds587j6u26n88kwkp0n0unnz7h2h6ds8qfpjmch", + "EGLD", + "32138287366664708", + ) ] assert transfers == expected_result @@ -168,7 +188,7 @@ def test_claim(test_data_folder_path: Path): def test_exit_farm(test_data_folder_path: Path): # Given - with open(test_data_folder_path / 'api_responses' / 'exit_farm.json') as file: + with open(test_data_folder_path / "api_responses" / "exit_farm.json") as file: tx = TransactionOnNetwork.from_proxy_http_response(**json.load(file)) # When @@ -177,25 +197,29 @@ def test_exit_farm(test_data_folder_path: Path): # Then expected_result = [ OnChainTransfer( - 'erd155kylmjd5qman3dknh0mch0cj65d73yck952h6yc8jesv5lzjjmqjg7yt0', - 'erd1qqqqqqqqqqqqqpgq6v5ta4memvrhjs4x3gqn90c3pujc77takp2sqhxm9j', - 'ASHWEGLDFL-9612cf-3aee', - '4030067946664876184'), + "erd155kylmjd5qman3dknh0mch0cj65d73yck952h6yc8jesv5lzjjmqjg7yt0", + "erd1qqqqqqqqqqqqqpgq6v5ta4memvrhjs4x3gqn90c3pujc77takp2sqhxm9j", + "ASHWEGLDFL-9612cf-3aee", + "4030067946664876184", + ), OnChainTransfer( - 'erd1qqqqqqqqqqqqqpgq6v5ta4memvrhjs4x3gqn90c3pujc77takp2sqhxm9j', - 'erd155kylmjd5qman3dknh0mch0cj65d73yck952h6yc8jesv5lzjjmqjg7yt0', - 'ASHWEGLD-38545c', - '2015000000000000000'), + "erd1qqqqqqqqqqqqqpgq6v5ta4memvrhjs4x3gqn90c3pujc77takp2sqhxm9j", + "erd155kylmjd5qman3dknh0mch0cj65d73yck952h6yc8jesv5lzjjmqjg7yt0", + "ASHWEGLD-38545c", + "2015000000000000000", + ), OnChainTransfer( - 'erd1qqqqqqqqqqqqqpgq6v5ta4memvrhjs4x3gqn90c3pujc77takp2sqhxm9j', - 'erd155kylmjd5qman3dknh0mch0cj65d73yck952h6yc8jesv5lzjjmqjg7yt0', - 'ASHWEGLDFL-9612cf-3aee', - '2015067946664876184'), + "erd1qqqqqqqqqqqqqpgq6v5ta4memvrhjs4x3gqn90c3pujc77takp2sqhxm9j", + "erd155kylmjd5qman3dknh0mch0cj65d73yck952h6yc8jesv5lzjjmqjg7yt0", + "ASHWEGLDFL-9612cf-3aee", + "2015067946664876184", + ), OnChainTransfer( - 'erd1qqqqqqqqqqqqqpgq0tajepcazernwt74820t8ef7t28vjfgukp2sw239f3', - 'erd155kylmjd5qman3dknh0mch0cj65d73yck952h6yc8jesv5lzjjmqjg7yt0', - 'XMEX-fda355-2f', - '7995358737478580000') + "erd1qqqqqqqqqqqqqpgq0tajepcazernwt74820t8ef7t28vjfgukp2sw239f3", + "erd155kylmjd5qman3dknh0mch0cj65d73yck952h6yc8jesv5lzjjmqjg7yt0", + "XMEX-fda355-2f", + "7995358737478580000", + ), ] assert transfers == expected_result @@ -203,7 +227,7 @@ def test_exit_farm(test_data_folder_path: Path): def test_nft_transfer(test_data_folder_path: Path): # Given - with open(test_data_folder_path / 'api_responses' / 'nft_transfer.json') as file: + with open(test_data_folder_path / "api_responses" / "nft_transfer.json") as file: tx = TransactionOnNetwork.from_proxy_http_response(**json.load(file)) # When @@ -212,17 +236,18 @@ def test_nft_transfer(test_data_folder_path: Path): # Then expected_result = [ OnChainTransfer( - 'erd1w9njtx572ppvuz0elgs9kfvnvzt930ea0ukqftkqltg2ap5acvmsrw83ls', - 'erd12j4gqamtx6su92elpxwe2l5pjt5ae09h87tyf95waly3z8cejuwqcwkzd2', - 'GIANTS-93cadd-247e', - '1') + "erd1w9njtx572ppvuz0elgs9kfvnvzt930ea0ukqftkqltg2ap5acvmsrw83ls", + "erd12j4gqamtx6su92elpxwe2l5pjt5ae09h87tyf95waly3z8cejuwqcwkzd2", + "GIANTS-93cadd-247e", + "1", + ) ] assert transfers == expected_result def test_swap(test_data_folder_path: Path): # Given - with open(test_data_folder_path / 'api_responses' / 'swap.json') as file: + with open(test_data_folder_path / "api_responses" / "swap.json") as file: tx = TransactionOnNetwork.from_proxy_http_response(**json.load(file)) # When @@ -231,33 +256,36 @@ def test_swap(test_data_folder_path: Path): # Then expected_result = [ OnChainTransfer( - 'erd13vafnpmmtuq76ecq2ay4lma6ep9mcg9pwayde6ckqywrjsy68phqm0y2g2', - 'erd1qqqqqqqqqqqqqpgqp32ecg03fyxgt2pf2fsxyg4knvhfvtgz2jps6rx6gf', - 'BHAT-c1fde3', - '1693877000000000000000'), + "erd13vafnpmmtuq76ecq2ay4lma6ep9mcg9pwayde6ckqywrjsy68phqm0y2g2", + "erd1qqqqqqqqqqqqqpgqp32ecg03fyxgt2pf2fsxyg4knvhfvtgz2jps6rx6gf", + "BHAT-c1fde3", + "1693877000000000000000", + ), OnChainTransfer( - 'erd1qqqqqqqqqqqqqpgqp32ecg03fyxgt2pf2fsxyg4knvhfvtgz2jps6rx6gf', - 'erd13vafnpmmtuq76ecq2ay4lma6ep9mcg9pwayde6ckqywrjsy68phqm0y2g2', - 'WEGLD-bd4d79', - '1864267714109103556'), + "erd1qqqqqqqqqqqqqpgqp32ecg03fyxgt2pf2fsxyg4knvhfvtgz2jps6rx6gf", + "erd13vafnpmmtuq76ecq2ay4lma6ep9mcg9pwayde6ckqywrjsy68phqm0y2g2", + "WEGLD-bd4d79", + "1864267714109103556", + ), OnChainTransfer( - 'erd1qqqqqqqqqqqqqpgqp32ecg03fyxgt2pf2fsxyg4knvhfvtgz2jps6rx6gf', - 'erd1qqqqqqqqqqqqqpgqa0fsfshnff4n76jhcye6k7uvd7qacsq42jpsp6shh2', - 'WEGLD-bd4d79', - '934644853628262'), + "erd1qqqqqqqqqqqqqpgqp32ecg03fyxgt2pf2fsxyg4knvhfvtgz2jps6rx6gf", + "erd1qqqqqqqqqqqqqpgqa0fsfshnff4n76jhcye6k7uvd7qacsq42jpsp6shh2", + "WEGLD-bd4d79", + "934644853628262", + ), OnChainTransfer( - 'erd1qqqqqqqqqqqqqpgqp32ecg03fyxgt2pf2fsxyg4knvhfvtgz2jps6rx6gf', - 'erd1qqqqqqqqqqqqqpgqjsnxqprks7qxfwkcg2m2v9hxkrchgm9akp2segrswt', - 'BHAT-c1fde3', - '846938500000000000'), - + "erd1qqqqqqqqqqqqqpgqp32ecg03fyxgt2pf2fsxyg4knvhfvtgz2jps6rx6gf", + "erd1qqqqqqqqqqqqqpgqjsnxqprks7qxfwkcg2m2v9hxkrchgm9akp2segrswt", + "BHAT-c1fde3", + "846938500000000000", + ), ] assert transfers == expected_result def test_token_unlock(test_data_folder_path: Path): # Given - with open(test_data_folder_path / 'api_responses' / 'token_unlock.json') as file: + with open(test_data_folder_path / "api_responses" / "token_unlock.json") as file: tx = TransactionOnNetwork.from_proxy_http_response(**json.load(file)) # When @@ -266,15 +294,16 @@ def test_token_unlock(test_data_folder_path: Path): # Then expected_result = [ OnChainTransfer( - 'erd1hfyadkpxtfxj6xqu5dvm7fhlav3q0qvxtljd3pzpeq0f6pq8mqgqcm4p65', - 'erd1qqqqqqqqqqqqqpgqawujux7w60sjhm8xdx3n0ed8v9h7kpqu2jpsecw6ek', - 'LKASH-10bd00-01', - '4004547342103966875339'), + "erd1hfyadkpxtfxj6xqu5dvm7fhlav3q0qvxtljd3pzpeq0f6pq8mqgqcm4p65", + "erd1qqqqqqqqqqqqqpgqawujux7w60sjhm8xdx3n0ed8v9h7kpqu2jpsecw6ek", + "LKASH-10bd00-01", + "4004547342103966875339", + ), OnChainTransfer( - 'erd1qqqqqqqqqqqqqpgqawujux7w60sjhm8xdx3n0ed8v9h7kpqu2jpsecw6ek', - 'erd1hfyadkpxtfxj6xqu5dvm7fhlav3q0qvxtljd3pzpeq0f6pq8mqgqcm4p65', - 'ASH-a642d1', - '4004547342103966875339') - + "erd1qqqqqqqqqqqqqpgqawujux7w60sjhm8xdx3n0ed8v9h7kpqu2jpsecw6ek", + "erd1hfyadkpxtfxj6xqu5dvm7fhlav3q0qvxtljd3pzpeq0f6pq8mqgqcm4p65", + "ASH-a642d1", + "4004547342103966875339", + ), ] assert transfers == expected_result diff --git a/tests/test_utils.py b/tests/test_utils.py new file mode 100644 index 0000000..a0002f1 --- /dev/null +++ b/tests/test_utils.py @@ -0,0 +1,35 @@ +from multiversx_sdk_core import Address +import pytest + +from mxops.execution.utils import get_address_instance + + +@pytest.mark.parametrize( + "address_str, expected_result", + [ + ( + "erd1qqqqqqqqqqqqqpgqdmq43snzxutandvqefxgj89r6fh528v9dwnswvgq9t", + Address.from_bech32( + "erd1qqqqqqqqqqqqqpgqdmq43snzxutandvqefxgj89r6fh528v9dwnswvgq9t", + ), + ), + ( + "%my_test_contract.address", + Address.from_bech32( + "erd1qqqqqqqqqqqqqpgqdmq43snzxutandvqefxgj89r6fh528v9dwnswvgq9t", + ), + ), + ( + "my_test_contract", + Address.from_bech32( + "erd1qqqqqqqqqqqqqpgqdmq43snzxutandvqefxgj89r6fh528v9dwnswvgq9t", + ), + ), + ], +) +def test_get_address_instance(address_str: str, expected_result: Address): + # Given + # When + result = get_address_instance(address_str) + # Then + assert expected_result.bech32() == result.bech32() diff --git a/tutorials/enhanced_first_scene/mxops_scenes/ping_pong.yaml b/tutorials/enhanced_first_scene/mxops_scenes/ping_pong.yaml index 6c37147..17be48a 100644 --- a/tutorials/enhanced_first_scene/mxops_scenes/ping_pong.yaml +++ b/tutorials/enhanced_first_scene/mxops_scenes/ping_pong.yaml @@ -12,14 +12,14 @@ steps: endpoint: getPingAmount expected_results: - save_key: PingAmount - result_type: number + result_type: int - type: ContractCall sender: owner contract: "egld-ping-pong" endpoint: ping gas_limit: 3000000 - value: "%egld-ping-pong%PingAmount" + value: "%egld-ping-pong.PingAmount" checks: - type: Success @@ -27,9 +27,9 @@ steps: condition: exact expected_transfers: - sender: "[owner]" - receiver: "%egld-ping-pong%address" + receiver: "%egld-ping-pong.address" token_identifier: EGLD - amount: "%egld-ping-pong%PingAmount" + amount: "%egld-ping-pong.PingAmount" - type: ContractCall sender: owner @@ -42,7 +42,7 @@ steps: - type: Transfers condition: exact expected_transfers: - - sender: "%egld-ping-pong%address" + - sender: "%egld-ping-pong.address" receiver: "[owner]" token_identifier: EGLD - amount: "%egld-ping-pong%PingAmount" + amount: "%egld-ping-pong.PingAmount"

    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 >yEDf4G(U{J|Bge;(poO!oS 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 z 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

6Z<*Kab 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≫x5;`|sY|_S~>6xE#B# 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≺z-jl2i17KD2F_LjX7NY>Vh+&+v zJi8!J#%)=u))~raSvSk{s29GZh>OVepQp3)ef=n5u)m@1Eu!y?V;y%C>UwnHL6dWp@ zL0&LUnvh}lgG`-(-vfo(16KH+&DGOWVc=t~q;I{%EyTvCtFW@qKfE6!0;gG`ai?QV zu$x)fH?21RA#oe!_0HkeVJN6iv;Wa^XlK!dz!3vASu6w`wCXE)yZ8qE!>|5K;47R2 zeNTMamm!b5j=rA>8zUyOj1Nx)$n*HY7`<8I2%nAi6{{8I4d#p4V*}(UlU33t=M|i4 z4RXUrBP5NLws1&vGQ*02>Z*qgNHi`57#kJU1dnadc7Pg7!LKG#JrMEG-llp5V@Chk z>i*cWgBH$!yvhxc10x;nBsI^J-k1{DCmpn%U|B6u7cq#Fw;^e^@UM{Z(qM0--LII5 ztyhdeb3b&UnxuWc5f_ABm6>$+`1@yU4!B@BiVrF+_9t{LQtgWSeS|2`U z?w!f76}$bOgX@%o%Zk37VVU4wagy(Py)WTXjq9Z3m+s3Adx`r5kQnI%EbE>%+B=2j zv9LM>1i<;<*ah%S|K!zF9)P8|eMI<7MY|YYn~6SPtpENu#hDJ=M^lWb4bi_Wi7ARP zBQ-WKGop1)PG-(rDYyoXpA3wGy#Hq-G@=Ecl8Xm_2wPoFUQrZs5Z@2NT~7qvQ@=b)B0U?(`Ok zzaJ1u0aoWYGhQnpxxv4Jk9IeU{42Ud9?YsdleX#ef>xq^;|(DKN{CIY|5t^4qiNSF z@7MC=XuHXiy5HgtFHZKE;oJECxy=Y*BaaKeX+6t-q(NRlD2I8xUI~@=hfz7 z*Uxa|w5=QYnR~ZQ4CVC5;X;qyPw|wY*nI3&bhPb-F$7G1wS0Hm#JhSk$N0FqNG2WF z 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