From 4f688459597fb050591cbab61a60d5d58aabc2e2 Mon Sep 17 00:00:00 2001 From: Lev Gorodetskiy Date: Fri, 18 Oct 2024 01:25:18 -0300 Subject: [PATCH] Substrate support preview --- .github/workflows/docs.yml | 6 +- .gitignore | 1 + .vscode/launch.json | 32 + CHANGELOG.md | 6 + Makefile | 17 +- docs/0.quickstart-substrate.md | 177 + docs/7.references/1.cli.md | 2 +- docs/7.references/2.config.md | 103 +- docs/7.references/3.context.md | 2 +- docs/7.references/4.models.md | 2 +- docs/8.examples/_demos_table.md | 1 + docs/9.release-notes/_8.0_changelog.md | 1 + docs/config.rst | 11 +- pdm.lock | 580 +- pyproject.toml | 1 + requirements.txt | 55 +- schemas/dipdup-3.0.json | 268 +- scripts/docs.py | 20 +- src/demo_blank/deploy/Dockerfile | 2 +- src/demo_substrate_events/.dockerignore | 22 + src/demo_substrate_events/.gitignore | 29 + src/demo_substrate_events/Makefile | 54 + src/demo_substrate_events/README.md | 49 + .../__init__.py | 0 .../abi/.keep} | 0 .../abi/assethub/v1000000.json | 13192 +++++++++++ .../abi/assethub/v1001002.json | 13243 +++++++++++ .../abi/assethub/v1002000.json | 15631 +++++++++++++ .../abi/assethub/v1002004.json | 15752 +++++++++++++ .../abi/assethub/v1002005.json | 15752 +++++++++++++ .../abi/assethub/v1002006.json | 15752 +++++++++++++ .../abi/assethub/v1003000.json | 18901 ++++++++++++++++ .../abi/assethub/v1003003.json | 18901 ++++++++++++++++ .../abi/assethub/v2.json | 1292 ++ .../abi/assethub/v601.json | 8569 +++++++ .../abi/assethub/v700.json | 8956 ++++++++ .../abi/assethub/v800.json | 8974 ++++++++ .../abi/assethub/v900.json | 9076 ++++++++ .../abi/assethub/v9230.json | 9198 ++++++++ .../abi/assethub/v9270.json | 9436 ++++++++ .../abi/assethub/v9290.json | 9472 ++++++++ .../abi/assethub/v9320.json | 9422 ++++++++ .../abi/assethub/v9330.json | 9578 ++++++++ .../abi/assethub/v9360.json | 9587 ++++++++ .../abi/assethub/v9370.json | 9589 ++++++++ .../abi/assethub/v9420.json | 10124 +++++++++ .../abi/assethub/v9430.json | 15129 +++++++++++++ src/demo_substrate_events/configs/.keep | 0 .../configs/dipdup.compose.yaml | 24 + .../configs/dipdup.sqlite.yaml | 3 + .../configs/dipdup.swarm.yaml | 24 + src/demo_substrate_events/configs/replay.yaml | 18 + .../demo_substrate_events | 1 + src/demo_substrate_events/deploy/.env.default | 15 + src/demo_substrate_events/deploy/.keep | 0 src/demo_substrate_events/deploy/Dockerfile | 9 + .../deploy/compose.sqlite.yaml | 18 + .../deploy/compose.swarm.yaml | 91 + src/demo_substrate_events/deploy/compose.yaml | 54 + .../deploy/sqlite.env.default | 5 + .../deploy/swarm.env.default | 15 + src/demo_substrate_events/dipdup.yaml | 30 + src/demo_substrate_events/graphql/.keep | 0 src/demo_substrate_events/handlers/.keep | 0 src/demo_substrate_events/handlers/batch.py | 11 + .../handlers/on_transfer.py | 53 + src/demo_substrate_events/hasura/.keep | 0 src/demo_substrate_events/hooks/.keep | 0 .../hooks/on_index_rollback.py | 16 + src/demo_substrate_events/hooks/on_reindex.py | 7 + src/demo_substrate_events/hooks/on_restart.py | 7 + .../hooks/on_synchronized.py | 7 + src/demo_substrate_events/models/.keep | 0 src/demo_substrate_events/models/__init__.py | 13 + src/demo_substrate_events/py.typed | 0 src/demo_substrate_events/pyproject.toml | 50 + src/demo_substrate_events/replay.yaml | 5 + src/demo_substrate_events/sql/.keep | 0 .../sql/on_index_rollback/.keep | 0 .../sql/on_reindex/.keep | 0 .../sql/on_restart/.keep | 0 .../sql/on_synchronized/.keep | 0 src/demo_substrate_events/types/.keep | 0 .../assets_transferred/__init__.py | 4 + .../assets_transferred/v601.py | 16 + .../assets_transferred/v700.py | 16 + src/dipdup/codegen/__init__.py | 4 +- src/dipdup/codegen/substrate.py | 252 + src/dipdup/config/__init__.py | 58 +- src/dipdup/config/abi_etherscan.py | 4 +- src/dipdup/config/substrate.py | 39 + src/dipdup/config/substrate_events.py | 79 + src/dipdup/config/substrate_node.py | 36 + src/dipdup/config/substrate_subscan.py | 26 + src/dipdup/config/substrate_subsquid.py | 32 + src/dipdup/context.py | 31 + src/dipdup/datasources/__init__.py | 149 +- src/dipdup/datasources/abi_etherscan.py | 3 +- src/dipdup/datasources/evm_node.py | 98 +- src/dipdup/datasources/evm_subsquid.py | 3 +- src/dipdup/datasources/substrate_node.py | 207 + src/dipdup/datasources/substrate_subscan.py | 28 + src/dipdup/datasources/substrate_subsquid.py | 54 + src/dipdup/datasources/tezos_tzkt.py | 7 +- src/dipdup/dipdup.py | 10 +- src/dipdup/http.py | 8 +- src/dipdup/indexes/evm.py | 1 + src/dipdup/indexes/substrate.py | 39 + .../indexes/substrate_events/fetcher.py | 32 + src/dipdup/indexes/substrate_events/index.py | 83 + src/dipdup/indexes/substrate_subsquid.py | 25 + src/dipdup/models/__init__.py | 1 + src/dipdup/models/evm.py | 3 +- src/dipdup/models/substrate.py | 70 + src/dipdup/models/substrate_subsquid.py | 0 src/dipdup/package.py | 3 + src/dipdup/project.py | 20 +- .../deploy/Dockerfile.j2 | 9 + .../demo_substrate_events/dipdup.yaml.j2 | 30 + .../handlers/on_transfer.py.j2 | 53 + .../models/__init__.py.j2 | 13 + .../demo_substrate_events/replay.yaml | 5 + src/dipdup/runtimes.py | 131 + src/dipdup/sentry.py | 19 - src/dipdup/utils.py | 13 + 125 files changed, 258659 insertions(+), 498 deletions(-) create mode 100644 docs/0.quickstart-substrate.md create mode 100644 src/demo_substrate_events/.dockerignore create mode 100644 src/demo_substrate_events/.gitignore create mode 100644 src/demo_substrate_events/Makefile create mode 100644 src/demo_substrate_events/README.md rename src/{dipdup/indexes => demo_substrate_events}/__init__.py (100%) rename src/{dipdup/indexes/starknet_events/__init__.py => demo_substrate_events/abi/.keep} (100%) create mode 100644 src/demo_substrate_events/abi/assethub/v1000000.json create mode 100644 src/demo_substrate_events/abi/assethub/v1001002.json create mode 100644 src/demo_substrate_events/abi/assethub/v1002000.json create mode 100644 src/demo_substrate_events/abi/assethub/v1002004.json create mode 100644 src/demo_substrate_events/abi/assethub/v1002005.json create mode 100644 src/demo_substrate_events/abi/assethub/v1002006.json create mode 100644 src/demo_substrate_events/abi/assethub/v1003000.json create mode 100644 src/demo_substrate_events/abi/assethub/v1003003.json create mode 100644 src/demo_substrate_events/abi/assethub/v2.json create mode 100644 src/demo_substrate_events/abi/assethub/v601.json create mode 100644 src/demo_substrate_events/abi/assethub/v700.json create mode 100644 src/demo_substrate_events/abi/assethub/v800.json create mode 100644 src/demo_substrate_events/abi/assethub/v900.json create mode 100644 src/demo_substrate_events/abi/assethub/v9230.json create mode 100644 src/demo_substrate_events/abi/assethub/v9270.json create mode 100644 src/demo_substrate_events/abi/assethub/v9290.json create mode 100644 src/demo_substrate_events/abi/assethub/v9320.json create mode 100644 src/demo_substrate_events/abi/assethub/v9330.json create mode 100644 src/demo_substrate_events/abi/assethub/v9360.json create mode 100644 src/demo_substrate_events/abi/assethub/v9370.json create mode 100644 src/demo_substrate_events/abi/assethub/v9420.json create mode 100644 src/demo_substrate_events/abi/assethub/v9430.json create mode 100644 src/demo_substrate_events/configs/.keep create mode 100644 src/demo_substrate_events/configs/dipdup.compose.yaml create mode 100644 src/demo_substrate_events/configs/dipdup.sqlite.yaml create mode 100644 src/demo_substrate_events/configs/dipdup.swarm.yaml create mode 100644 src/demo_substrate_events/configs/replay.yaml create mode 120000 src/demo_substrate_events/demo_substrate_events create mode 100644 src/demo_substrate_events/deploy/.env.default create mode 100644 src/demo_substrate_events/deploy/.keep create mode 100644 src/demo_substrate_events/deploy/Dockerfile create mode 100644 src/demo_substrate_events/deploy/compose.sqlite.yaml create mode 100644 src/demo_substrate_events/deploy/compose.swarm.yaml create mode 100644 src/demo_substrate_events/deploy/compose.yaml create mode 100644 src/demo_substrate_events/deploy/sqlite.env.default create mode 100644 src/demo_substrate_events/deploy/swarm.env.default create mode 100644 src/demo_substrate_events/dipdup.yaml create mode 100644 src/demo_substrate_events/graphql/.keep create mode 100644 src/demo_substrate_events/handlers/.keep create mode 100644 src/demo_substrate_events/handlers/batch.py create mode 100644 src/demo_substrate_events/handlers/on_transfer.py create mode 100644 src/demo_substrate_events/hasura/.keep create mode 100644 src/demo_substrate_events/hooks/.keep create mode 100644 src/demo_substrate_events/hooks/on_index_rollback.py create mode 100644 src/demo_substrate_events/hooks/on_reindex.py create mode 100644 src/demo_substrate_events/hooks/on_restart.py create mode 100644 src/demo_substrate_events/hooks/on_synchronized.py create mode 100644 src/demo_substrate_events/models/.keep create mode 100644 src/demo_substrate_events/models/__init__.py create mode 100644 src/demo_substrate_events/py.typed create mode 100644 src/demo_substrate_events/pyproject.toml create mode 100644 src/demo_substrate_events/replay.yaml create mode 100644 src/demo_substrate_events/sql/.keep create mode 100644 src/demo_substrate_events/sql/on_index_rollback/.keep create mode 100644 src/demo_substrate_events/sql/on_reindex/.keep create mode 100644 src/demo_substrate_events/sql/on_restart/.keep create mode 100644 src/demo_substrate_events/sql/on_synchronized/.keep create mode 100644 src/demo_substrate_events/types/.keep create mode 100644 src/demo_substrate_events/types/assethub/substrate_events/assets_transferred/__init__.py create mode 100644 src/demo_substrate_events/types/assethub/substrate_events/assets_transferred/v601.py create mode 100644 src/demo_substrate_events/types/assethub/substrate_events/assets_transferred/v700.py create mode 100644 src/dipdup/codegen/substrate.py create mode 100644 src/dipdup/config/substrate.py create mode 100644 src/dipdup/config/substrate_events.py create mode 100644 src/dipdup/config/substrate_node.py create mode 100644 src/dipdup/config/substrate_subscan.py create mode 100644 src/dipdup/config/substrate_subsquid.py create mode 100644 src/dipdup/datasources/substrate_node.py create mode 100644 src/dipdup/datasources/substrate_subscan.py create mode 100644 src/dipdup/datasources/substrate_subsquid.py create mode 100644 src/dipdup/indexes/substrate.py create mode 100644 src/dipdup/indexes/substrate_events/fetcher.py create mode 100644 src/dipdup/indexes/substrate_events/index.py create mode 100644 src/dipdup/indexes/substrate_subsquid.py create mode 100644 src/dipdup/models/substrate.py create mode 100644 src/dipdup/models/substrate_subsquid.py create mode 100644 src/dipdup/projects/demo_substrate_events/deploy/Dockerfile.j2 create mode 100644 src/dipdup/projects/demo_substrate_events/dipdup.yaml.j2 create mode 100644 src/dipdup/projects/demo_substrate_events/handlers/on_transfer.py.j2 create mode 100644 src/dipdup/projects/demo_substrate_events/models/__init__.py.j2 create mode 100644 src/dipdup/projects/demo_substrate_events/replay.yaml create mode 100644 src/dipdup/runtimes.py diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 69b85e982..276a35d33 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -18,7 +18,8 @@ on: - '.github/workflows/installer.yml' env: - FRONTEND_BRANCH: dev + # FIXME: substrate preview + FRONTEND_BRANCH: feat/substrate GITHUB_TOKEN: ${{ secrets.DOCS_GITHUB_TOKEN }} jobs: @@ -64,7 +65,8 @@ jobs: # NOTE: Installer is tested in `installer` workflow - name: Commit and push frontend - if: github.ref_type == 'tag' + # FIXME: substrate preview + # if: github.ref_type == 'tag' run: | cp src/dipdup/install.py ../interface/public/install.py cd ../interface diff --git a/.gitignore b/.gitignore index dee9f09d7..173806972 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ !**/pdm.lock !**/README.md !**/.keep +!**/py.typed # Add Python code !**/*.py diff --git a/.vscode/launch.json b/.vscode/launch.json index 6f8a69480..197e874b6 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -33,6 +33,38 @@ "DIPDUP_DEBUG": "1" } }, + { + "name": "demo_substrate_events: run", + "type": "debugpy", + "request": "launch", + "module": "dipdup", + "args": [ + "-e", + ".env", + "run" + ], + "console": "integratedTerminal", + "cwd": "${workspaceFolder}/src/demo_substrate_events", + "env": { + "DIPDUP_DEBUG": "1" + } + }, + { + "name": "demo_substrate_events: init", + "type": "debugpy", + "request": "launch", + "module": "dipdup", + "args": [ + "-e", + ".env", + "init" + ], + "console": "integratedTerminal", + "cwd": "${workspaceFolder}/src/demo_substrate_events", + "env": { + "DIPDUP_DEBUG": "1" + } + }, { "name": "demo_evm_events: run", "type": "debugpy", diff --git a/CHANGELOG.md b/CHANGELOG.md index f25f13bea..ff6b38ca4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,12 @@ The format is based on [Keep a Changelog], and this project adheres to [Semantic Releases prior to 7.0 has been removed from this file to declutter search results; see the [archived copy](https://github.com/dipdup-io/dipdup/blob/8.0.0b5/CHANGELOG.md) for the full list. +## [Unreleased] + +### Fixed + +- config: Fixed setting default loglevels when `logging` is a dict. + ## [8.1.1] - 2024-10-17 ### Fixed diff --git a/Makefile b/Makefile index 6afa8c990..7dc3895ce 100644 --- a/Makefile +++ b/Makefile @@ -13,9 +13,17 @@ FRONTEND_PATH=../interface help: ## Show this help (default) @grep -Fh "##" $(MAKEFILE_LIST) | grep -Fv grep -F | sed -e 's/\\$$//' | sed -e 's/##//' -install: +## +##-- Dependencies +## + +install: ## Install dependencies pdm sync --clean +update: ## Update dependencies and dump requirements.txt + pdm update + pdm export --without-hashes -f requirements --prod -o requirements.txt + ## ##-- CI ## @@ -53,7 +61,8 @@ mypy: ## Lint with mypy docs_build: docs docs: ## Build docs python scripts/docs.py check-links --source docs - python scripts/docs.py dump-references + # FIXME + python scripts/docs.py dump-references || true python scripts/docs.py dump-demos python scripts/docs.py dump-metrics python scripts/docs.py dump-jsonschema @@ -83,10 +92,6 @@ typeignore: ## Find type:ignore comments ##-- Release ## -update: ## Update dependencies and dump requirements.txt - pdm update - pdm export --without-hashes -f requirements --prod -o requirements.txt - demos: ## Recreate demo projects from templates python scripts/demos.py render ${DEMO} python scripts/demos.py init ${DEMO} diff --git a/docs/0.quickstart-substrate.md b/docs/0.quickstart-substrate.md new file mode 100644 index 000000000..c9fa23413 --- /dev/null +++ b/docs/0.quickstart-substrate.md @@ -0,0 +1,177 @@ +--- +title: "Quickstart (Substrate)" +description: "This page will guide you through the steps to get your first selective indexer up and running in a few minutes without getting too deep into the details." +navigation.icon: "stars" +--- + +# Quickstart + +::banner{type="warning"} +Substrate support is in early preview stage. API and features may change in the future. +:: + +This page will guide you through the steps to get your first selective indexer up and running in a few minutes without getting too deep into the details. + +Let's create an indexer for the balance transfers in AssetHub network. Our goal is to save all transfers to the database and then calculate some statistics of its holders' activity. + +## Install DipDup + +A modern Linux/macOS distribution with Python 3.12 installed is required to run DipDup. + +The recommended way to install DipDup CLI is [pipx](https://pipx.pypa.io/stable/). We also provide a convenient helper script that installs all necessary tools. Run the following command in your terminal: + +{{ #include _curl-spell.md }} + +See the [Installation](../docs/1.getting-started/1.installation.md) page for all options. + +After installation, run the following command to switch to the preview branch: + +```shell [Terminal] +dipdup self install -f -r feat/substrate +``` + +## Create a project + +DipDup CLI has a built-in project generator. Run the following command in your terminal: + +```shell [Terminal] +dipdup new +``` + +Choose `Substrate` network and `demo_substrate_events` template. + +::banner{type="note"} +Want to skip a tutorial and start from scratch? Choose `[none]` and `demo_blank` instead and proceed to the [Config](../docs/1.getting-started/3.config.md) section. +:: + +Follow the instructions; the project will be created in the new directory. + +## Write a configuration file + +In the project root, you'll find a file named `dipdup.yaml`. It's the main configuration file of your indexer. We will discuss it in detail in the [Config](../docs/1.getting-started/3.config.md) section; now it has the following content: + +```yaml [dipdup.yaml] +{{ #include ../src/demo_substrate_events/dipdup.yaml }} +``` + +## Generate types and stubs + +Now it's time to generate typeclasses and callback stubs based on definitions from config. Examples below use `demo_substrate_events` as a package name; yours may differ. + +Run the following command: + +```shell [Terminal] +dipdup init +``` + +DipDup will create a Python package `demo_substrate_events` with everything you need to start writing your indexer. Use `package tree` command to see the generated structure: + +```shell [Terminal] +$ dipdup package tree +demo_substrate_events [/home/droserasprout/git/dipdup/src/demo_substrate_events] +├── abi +│ ├── assethub/v1000000.json +│ ├── assethub/v1001002.json +│ ├── ... +│ └── assethub/v9430.json +├── configs +│ ├── dipdup.compose.yaml +│ ├── dipdup.sqlite.yaml +│ ├── dipdup.swarm.yaml +│ └── replay.yaml +├── deploy +│ ├── .env.default +│ ├── Dockerfile +│ ├── compose.sqlite.yaml +│ ├── compose.swarm.yaml +│ ├── compose.yaml +│ ├── sqlite.env.default +│ └── swarm.env.default +├── graphql +├── handlers +│ ├── batch.py +│ └── on_transfer.py +├── hasura +├── hooks +│ ├── on_index_rollback.py +│ ├── on_reindex.py +│ ├── on_restart.py +│ └── on_synchronized.py +├── models +│ └── __init__.py +├── sql +├── types +│ ├── assethub/substrate_events/assets_transferred/__init__.py +│ ├── assethub/substrate_events/assets_transferred/v601.py +│ └── assethub/substrate_events/assets_transferred/v700.py +└── py.typed +``` + +That's a lot of files and directories! But don't worry, we will need only `models` and `handlers` sections in this guide. + +## Define data models + +DipDup supports storing data in SQLite, PostgreSQL and TimescaleDB databases. We use custom ORM based on Tortoise ORM as an abstraction layer. + +First, you need to define a model class. Our schema will consist of a single model `Holder` with the following fields: + +| | | +| ----------- | ----------------------------------- | +| `address` | account address | +| `balance` | token amount held by the account | +| `turnover` | total amount of transfer/mint calls | +| `tx_count` | number of transfers/mints | +| `last_seen` | time of the last transfer/mint | + +Here's how to define this model in DipDup: + +```python [models/__init__.py] +{{ #include ../src/demo_substrate_events/models/__init__.py }} +``` + +## Implement handlers + +Everything's ready to implement an actual indexer logic. + +Our task is to index all the balance updates. Put some code to the `on_transfer` handler callback to process matched logs: + +```python [handlers/on_transfer.py] +{{ #include ../src/demo_substrate_events/handlers/on_transfer.py }} +``` + +And that's all! We can run the indexer now. + +## Next steps + +Run the indexer in memory: + +```shell +dipdup run +``` + +Store data in SQLite database: + +```shell +dipdup -c . -c configs/dipdup.sqlite.yaml run +``` + +Or spawn a Compose stack with PostgreSQL and Hasura: + +```shell +cd deploy +cp .env.default .env +# Edit .env file before running +docker-compose up +``` + +DipDup will fetch all the historical data and then switch to realtime updates. You can check the progress in the logs. + +If you use SQLite, run this query to check the data: + +```bash +sqlite3 demo_substrate_events.sqlite 'SELECT * FROM holder LIMIT 10' +``` + +If you run a Compose stack, open `http://127.0.0.1:8080` in your browser to see the Hasura console (an exposed port may differ). You can use it to explore the database and build GraphQL queries. + +Congratulations! You've just created your first DipDup indexer. Proceed to the Getting Started section to learn more about DipDup configuration and features. diff --git a/docs/7.references/1.cli.md b/docs/7.references/1.cli.md index fb320104b..5d215b189 100644 --- a/docs/7.references/1.cli.md +++ b/docs/7.references/1.cli.md @@ -512,4 +512,4 @@ Discord: - \ No newline at end of file + diff --git a/docs/7.references/3.context.md b/docs/7.references/3.context.md index 84ba2c739..19c9fb20a 100644 --- a/docs/7.references/3.context.md +++ b/docs/7.references/3.context.md @@ -391,4 +391,4 @@ to provide a generic metadata interface (see docs).

None

- \ No newline at end of file + diff --git a/docs/7.references/4.models.md b/docs/7.references/4.models.md index 853172d53..a3bbb8c7d 100644 --- a/docs/7.references/4.models.md +++ b/docs/7.references/4.models.md @@ -859,4 +859,4 @@ description: "Models reference" - \ No newline at end of file + diff --git a/docs/8.examples/_demos_table.md b/docs/8.examples/_demos_table.md index 941c2cfb1..2615bfebf 100644 --- a/docs/8.examples/_demos_table.md +++ b/docs/8.examples/_demos_table.md @@ -2,6 +2,7 @@ | name | network | description | source | |-|-|-|-| | demo_blank | | Empty config for a fresh start | [link](https://github.com/dipdup-io/dipdup/tree/8.1.1/src/demo_blank) | +| demo_substrate_events | | Substrate balance transfers [PREVIEW] | [link](https://github.com/dipdup-io/dipdup/tree/8.1.1/src/demo_substrate_events) | | demo_evm_events | EVM | ERC-20 token transfers (from event logs) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.1/src/demo_evm_events) | | demo_evm_transactions | EVM | ERC-20 token transfers (from transactions) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.1/src/demo_evm_transactions) | | demo_evm_uniswap | EVM | Uniswap V3 pools, positions, etc. (advanced, uses TimescaleDB) | [link](https://github.com/dipdup-io/dipdup/tree/8.1.1/src/demo_evm_uniswap) | diff --git a/docs/9.release-notes/_8.0_changelog.md b/docs/9.release-notes/_8.0_changelog.md index f20cb17da..96d0390b3 100644 --- a/docs/9.release-notes/_8.0_changelog.md +++ b/docs/9.release-notes/_8.0_changelog.md @@ -32,6 +32,7 @@ - cli: Improved logging of indexer status. - config: Allow `sentry.dsn` to be empty string. - config: Fixed (de)serialization of hex strings in config. +- config: Fixed setting default loglevels when `logging` is a dict. - config: Fixed setting logging levels according to the config. - database: Fixed concurrency issue when using `get_or_create` method. - evm.events: Fixed matching logs when filtering by topic0. diff --git a/docs/config.rst b/docs/config.rst index 6c33c53b8..71342cc6b 100644 --- a/docs/config.rst +++ b/docs/config.rst @@ -7,14 +7,11 @@ .. autoclass:: dipdup.config.AdvancedConfig .. autoclass:: dipdup.config.ApiConfig .. autoclass:: dipdup.config.coinbase.CoinbaseDatasourceConfig -.. autoclass:: dipdup.config.ContractConfig -.. autoclass:: dipdup.config.DatasourceConfig .. autoclass:: dipdup.config.evm.EvmContractConfig .. autoclass:: dipdup.config.evm_node.EvmNodeDatasourceConfig .. autoclass:: dipdup.config.evm_events.EvmEventsHandlerConfig .. autoclass:: dipdup.config.evm_events.EvmEventsIndexConfig .. autoclass:: dipdup.config.evm_subsquid.EvmSubsquidDatasourceConfig -.. autoclass:: dipdup.config.evm.EvmIndexConfig .. autoclass:: dipdup.config.evm_transactions.EvmTransactionsHandlerConfig .. autoclass:: dipdup.config.evm_transactions.EvmTransactionsIndexConfig .. autoclass:: dipdup.config.HandlerConfig @@ -22,7 +19,6 @@ .. autoclass:: dipdup.config.HookConfig .. autoclass:: dipdup.config.HttpConfig .. autoclass:: dipdup.config.http.HttpDatasourceConfig -.. autoclass:: dipdup.config.IndexConfig .. autoclass:: dipdup.config.IndexDatasourceConfig .. autoclass:: dipdup.config.IndexTemplateConfig .. autoclass:: dipdup.config.ipfs.IpfsDatasourceConfig @@ -30,6 +26,7 @@ .. autoclass:: dipdup.config.PostgresDatabaseConfig .. autoclass:: dipdup.config.PrometheusConfig .. autoclass:: dipdup.config.ResolvedHttpConfig +.. autoclass:: dipdup.config.RuntimeConfig .. autoclass:: dipdup.config.SentryConfig .. autoclass:: dipdup.config.SqliteDatabaseConfig .. autoclass:: dipdup.config.SystemHookConfig @@ -57,9 +54,13 @@ .. autoclass:: dipdup.config.tezos_token_transfers.TezosTokenTransfersHandlerConfig .. autoclass:: dipdup.config.tezos_token_transfers.TezosTokenTransfersIndexConfig .. autoclass:: dipdup.config.starknet.StarknetContractConfig -.. autoclass:: dipdup.config.starknet.StarknetIndexConfig .. autoclass:: dipdup.config.starknet_events.StarknetEventsHandlerConfig .. autoclass:: dipdup.config.starknet_events.StarknetEventsIndexConfig .. autoclass:: dipdup.config.starknet_node.StarknetNodeDatasourceConfig .. autoclass:: dipdup.config.starknet_subsquid.StarknetSubsquidDatasourceConfig +.. autoclass:: dipdup.config.substrate.SubstrateRuntimeConfig +.. autoclass:: dipdup.config.substrate_events.SubstrateEventsHandlerConfig +.. autoclass:: dipdup.config.substrate_events.SubstrateEventsIndexConfig +.. autoclass:: dipdup.config.substrate_subsquid.SubstrateSubsquidDatasourceConfig +.. autoclass:: dipdup.config.substrate_subscan.SubstrateSubscanDatasourceConfig .. autoclass:: dipdup.config.tzip_metadata.TzipMetadataDatasourceConfig diff --git a/pdm.lock b/pdm.lock index 1564e3612..103361ef5 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "docs", "lint", "migrations", "perf", "test"] strategy = ["inherit_metadata"] lock_version = "4.5.0" -content_hash = "sha256:d20bdcb8b0b8ce671b85925a71abbe6cd643993a333e7c00cbeb0546c10559e7" +content_hash = "sha256:0e1c65db1fbdd2e0588168a1a71c254498a2b55cac5dcefee53e6deb5a27f761" [[metadata.targets]] requires_python = ">=3.12,<3.13" @@ -30,13 +30,13 @@ files = [ [[package]] name = "aiohappyeyeballs" -version = "2.4.0" +version = "2.4.3" requires_python = ">=3.8" summary = "Happy Eyeballs for asyncio" groups = ["default", "test"] files = [ - {file = "aiohappyeyeballs-2.4.0-py3-none-any.whl", hash = "sha256:7ce92076e249169a13c2f49320d1967425eaf1f407522d707d59cac7628d62bd"}, - {file = "aiohappyeyeballs-2.4.0.tar.gz", hash = "sha256:55a1714f084e63d49639800f95716da97a1f173d46a16dfcfda0016abb93b6b2"}, + {file = "aiohappyeyeballs-2.4.3-py3-none-any.whl", hash = "sha256:8a7a83727b2756f394ab2895ea0765a0a8c475e3c71e98d43d76f22b4b435572"}, + {file = "aiohappyeyeballs-2.4.3.tar.gz", hash = "sha256:75cf88a15106a5002a8eb1dab212525c00d1f4c0fa96e551c9fbe6f09a621586"}, ] [[package]] @@ -186,13 +186,13 @@ files = [ [[package]] name = "argcomplete" -version = "3.5.0" +version = "3.5.1" requires_python = ">=3.8" summary = "Bash tab completion for argparse" groups = ["default"] files = [ - {file = "argcomplete-3.5.0-py3-none-any.whl", hash = "sha256:d4bcf3ff544f51e16e54228a7ac7f486ed70ebf2ecfe49a63a91171c76bf029b"}, - {file = "argcomplete-3.5.0.tar.gz", hash = "sha256:4349400469dccfb7950bb60334a680c58d88699bff6159df61251878dc6bf74b"}, + {file = "argcomplete-3.5.1-py3-none-any.whl", hash = "sha256:1a1d148bdaa3e3b93454900163403df41448a248af01b6e849edc5ac08e6c363"}, + {file = "argcomplete-3.5.1.tar.gz", hash = "sha256:eb1ee355aa2557bd3d0145de7b06b2a45b0ce461e1e7813f5d066039ab4177b4"}, ] [[package]] @@ -272,28 +272,39 @@ files = [ {file = "babel-2.16.0.tar.gz", hash = "sha256:d1f3554ca26605fe173f3de0c65f750f5a42f924499bf134de6423582298e316"}, ] +[[package]] +name = "base58" +version = "2.1.1" +requires_python = ">=3.5" +summary = "Base58 and Base58Check implementation." +groups = ["default"] +files = [ + {file = "base58-2.1.1-py3-none-any.whl", hash = "sha256:11a36f4d3ce51dfc1043f3218591ac4eb1ceb172919cebe05b52a5bcc8d245c2"}, + {file = "base58-2.1.1.tar.gz", hash = "sha256:c5d0cb3f5b6e81e8e35da5754388ddcc6d0d14b6c6a132cb93d69ed580a7278c"}, +] + [[package]] name = "bitarray" -version = "2.9.2" +version = "3.0.0" summary = "efficient arrays of booleans -- C extension" groups = ["default"] files = [ - {file = "bitarray-2.9.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:90e3a281ffe3897991091b7c46fca38c2675bfd4399ffe79dfeded6c52715436"}, - {file = "bitarray-2.9.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:bed637b674db5e6c8a97a4a321e3e4d73e72d50b5c6b29950008a93069cc64cd"}, - {file = "bitarray-2.9.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e49066d251dbbe4e6e3a5c3937d85b589e40e2669ad0eef41a00f82ec17d844b"}, - {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3c4344e96642e2211fb3a50558feff682c31563a4c64529a931769d40832ca79"}, - {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:aeb60962ec4813c539a59fbd4f383509c7222b62c3fb1faa76b54943a613e33a"}, - {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ed0f7982f10581bb16553719e5e8f933e003f5b22f7d25a68bdb30fac630a6ff"}, - {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c71d1cabdeee0cdda4669168618f0e46b7dace207b29da7b63aaa1adc2b54081"}, - {file = "bitarray-2.9.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b0ef2d0a6f1502d38d911d25609b44c6cc27bee0a4363dd295df78b075041b60"}, - {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:6f71d92f533770fb027388b35b6e11988ab89242b883f48a6fe7202d238c61f8"}, - {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:ba0734aa300757c924f3faf8148e1b8c247176a0ac8e16aefdf9c1eb19e868f7"}, - {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:d91406f413ccbf4af6ab5ae7bc78f772a95609f9ddd14123db36ef8c37116d95"}, - {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:87abb7f80c0a042f3fe8e5264da1a2756267450bb602110d5327b8eaff7682e7"}, - {file = "bitarray-2.9.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:4b558ce85579b51a2e38703877d1e93b7728a7af664dd45a34e833534f0b755d"}, - {file = "bitarray-2.9.2-cp312-cp312-win32.whl", hash = "sha256:dac2399ee2889fbdd3472bfc2ede74c34cceb1ccf29a339964281a16eb1d3188"}, - {file = "bitarray-2.9.2-cp312-cp312-win_amd64.whl", hash = "sha256:48a30d718d1a6dfc22a49547450107abe8f4afdf2abdcbe76eb9ed88edc49498"}, - {file = "bitarray-2.9.2.tar.gz", hash = "sha256:a8f286a51a32323715d77755ed959f94bef13972e9a2fe71b609e40e6d27957e"}, + {file = "bitarray-3.0.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:184972c96e1c7e691be60c3792ca1a51dd22b7f25d96ebea502fe3c9b554f25d"}, + {file = "bitarray-3.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:787db8da5e9e29be712f7a6bce153c7bc8697ccc2c38633e347bb9c82475d5c9"}, + {file = "bitarray-3.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2da91ab3633c66999c2a352f0ca9ae064f553e5fc0eca231d28e7e305b83e942"}, + {file = "bitarray-3.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:7edb83089acbf2c86c8002b96599071931dc4ea5e1513e08306f6f7df879a48b"}, + {file = "bitarray-3.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:996d1b83eb904589f40974538223eaed1ab0f62be8a5105c280b9bd849e685c4"}, + {file = "bitarray-3.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4817d73d995bd2b977d9cde6050be8d407791cf1f84c8047fa0bea88c1b815bc"}, + {file = "bitarray-3.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3d47bc4ff9b0e1624d613563c6fa7b80aebe7863c56c3df5ab238bb7134e8755"}, + {file = "bitarray-3.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:aca0a9cd376beaccd9f504961de83e776dd209c2de5a4c78dc87a78edf61839b"}, + {file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:572a61fba7e3a710a8324771322fba8488d134034d349dcd036a7aef74723a80"}, + {file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:a817ad70c1aff217530576b4f037dd9b539eb2926603354fcac605d824082ad1"}, + {file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:2ac67b658fa5426503e9581a3fb44a26a3b346c1abd17105735f07db572195b3"}, + {file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:12f19ede03e685c5c588ab5ed63167999295ffab5e1126c5fe97d12c0718c18f"}, + {file = "bitarray-3.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fcef31b062f756ba7eebcd7890c5d5de84b9d64ee877325257bcc9782288564a"}, + {file = "bitarray-3.0.0-cp312-cp312-win32.whl", hash = "sha256:656db7bdf1d81ec3b57b3cad7ec7276765964bcfd0eb81c5d1331f385298169c"}, + {file = "bitarray-3.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:f785af6b7cb07a9b1e5db0dea9ef9e3e8bb3d74874a0a61303eab9c16acc1999"}, + {file = "bitarray-3.0.0.tar.gz", hash = "sha256:a2083dc20f0d828a7cdf7a16b20dae56aab0f43dc4f347a3b3039f6577992b03"}, ] [[package]] @@ -333,46 +344,46 @@ files = [ [[package]] name = "charset-normalizer" -version = "3.3.2" +version = "3.4.0" requires_python = ">=3.7.0" summary = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." groups = ["default", "docs", "test"] files = [ - {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, - {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, + {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, + {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, ] [[package]] name = "ckzg" -version = "2.0.0" +version = "2.0.1" summary = "Python bindings for C-KZG-4844" groups = ["default"] files = [ - {file = "ckzg-2.0.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5fb8a7ed9f430e1102f7d25df015e555c255c512c372373bd1b52fa65b2c32b2"}, - {file = "ckzg-2.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a93ef601f87960f881b6a2519d6689ee829cc35e0847ed3dff38c6afff383b41"}, - {file = "ckzg-2.0.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0d0ca9e939b7b0dfd5a91cd981a595512000f42739b6262824c886b3a06960fe"}, - {file = "ckzg-2.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:187a0fc230f3993fa8cb2c17d589f8b3ea6b74e1f5ac9927d4f37c19e153afd1"}, - {file = "ckzg-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:68a3c4aec3ffef2a20f67f6d4a13e9980560aa25d89bbc553aff1e4144f3239a"}, - {file = "ckzg-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:cb48fd7d110fda65a5b9f34f921d15d468354662752d252a0de02797e9510c50"}, - {file = "ckzg-2.0.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:de94dd1615e6aa003a6c864d5c8e8771d98ef912e32f12c555e7703134e77717"}, - {file = "ckzg-2.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:805d3a11bf6c50badaf02464340dcfb52363b1889b7f75b04a7179959285bac7"}, - {file = "ckzg-2.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:ea02a706d42e9c273554192949439742267b0031054d859c5c63db064b768a79"}, - {file = "ckzg-2.0.0.tar.gz", hash = "sha256:cd115a39cbc301b8465f6e19191cbb375b3589f3458cc995122595649a6f193f"}, + {file = "ckzg-2.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:285cf3121b8a8c5609c5b706314f68d2ba2784ab02c5bb7487c6ae1714ecb27f"}, + {file = "ckzg-2.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2f927bc41c2551b0ef0056a649a7ebed29d9665680a10795f4cee5002c69ddb7"}, + {file = "ckzg-2.0.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1fd9fb690c88919f30c9f3ab7cc46a7ecd734d5ff4c9ccea383c119b9b7cc4da"}, + {file = "ckzg-2.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fabc3bd41b306d1c7025d561c3281a007c2aca8ceaf998582dc3894904d9c73e"}, + {file = "ckzg-2.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2eb50c53efdb9c34f762bd0c8006cf79bc92a9daf47aa6b541e496988484124f"}, + {file = "ckzg-2.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:7960cc62f959403293fb53a3c2404778369ae7cefc6d7f202e5e00567cf98c4b"}, + {file = "ckzg-2.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:d721bcd492294c70eca39da0b0a433c29b6a571dbac2f7084bab06334904af06"}, + {file = "ckzg-2.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:dde2391d025b5033ef0eeacf62b11ecfe446aea25682b5f547a907766ad0a8cb"}, + {file = "ckzg-2.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:fab8859d9420f6f7df4e094ee3639bc49d18c8dab0df81bee825e2363dd67a09"}, + {file = "ckzg-2.0.1.tar.gz", hash = "sha256:62c5adc381637affa7e1df465c57750b356a761b8a3164c3106589b02532b9c9"}, ] [[package]] @@ -392,13 +403,13 @@ files = [ [[package]] name = "cloudpickle" -version = "3.0.0" +version = "3.1.0" requires_python = ">=3.8" summary = "Pickler class to extend the standard pickle.Pickler functionality" groups = ["perf"] files = [ - {file = "cloudpickle-3.0.0-py3-none-any.whl", hash = "sha256:246ee7d0c295602a036e86369c77fecda4ab17b506496730f2f576d9016fd9c7"}, - {file = "cloudpickle-3.0.0.tar.gz", hash = "sha256:996d9a482c6fb4f33c1a35335cf8afd065d2a56e973270364840712d9131a882"}, + {file = "cloudpickle-3.1.0-py3-none-any.whl", hash = "sha256:fe11acda67f61aaaec473e3afe030feb131d78a43461b718185363384f1ba12e"}, + {file = "cloudpickle-3.1.0.tar.gz", hash = "sha256:81a929b6e3c7335c863c771d673d105f02efdb89dfaba0c90495d1c64796601b"}, ] [[package]] @@ -415,47 +426,47 @@ files = [ [[package]] name = "coverage" -version = "7.6.1" -requires_python = ">=3.8" +version = "7.6.3" +requires_python = ">=3.9" summary = "Code coverage measurement for Python" groups = ["test"] files = [ - {file = "coverage-7.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:95cae0efeb032af8458fc27d191f85d1717b1d4e49f7cb226cf526ff28179778"}, - {file = "coverage-7.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5621a9175cf9d0b0c84c2ef2b12e9f5f5071357c4d2ea6ca1cf01814f45d2391"}, - {file = "coverage-7.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:260933720fdcd75340e7dbe9060655aff3af1f0c5d20f46b57f262ab6c86a5e8"}, - {file = "coverage-7.6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07e2ca0ad381b91350c0ed49d52699b625aab2b44b65e1b4e02fa9df0e92ad2d"}, - {file = "coverage-7.6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44fee9975f04b33331cb8eb272827111efc8930cfd582e0320613263ca849ca"}, - {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:877abb17e6339d96bf08e7a622d05095e72b71f8afd8a9fefc82cf30ed944163"}, - {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3e0cadcf6733c09154b461f1ca72d5416635e5e4ec4e536192180d34ec160f8a"}, - {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c3c02d12f837d9683e5ab2f3d9844dc57655b92c74e286c262e0fc54213c216d"}, - {file = "coverage-7.6.1-cp312-cp312-win32.whl", hash = "sha256:e05882b70b87a18d937ca6768ff33cc3f72847cbc4de4491c8e73880766718e5"}, - {file = "coverage-7.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:b5d7b556859dd85f3a541db6a4e0167b86e7273e1cdc973e5b175166bb634fdb"}, - {file = "coverage-7.6.1.tar.gz", hash = "sha256:953510dfb7b12ab69d20135a0662397f077c59b1e6379a768e97c59d852ee51d"}, + {file = "coverage-7.6.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:27bd5f18d8f2879e45724b0ce74f61811639a846ff0e5c0395b7818fae87aec6"}, + {file = "coverage-7.6.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d546cfa78844b8b9c1c0533de1851569a13f87449897bbc95d698d1d3cb2a30f"}, + {file = "coverage-7.6.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9975442f2e7a5cfcf87299c26b5a45266ab0696348420049b9b94b2ad3d40234"}, + {file = "coverage-7.6.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:583049c63106c0555e3ae3931edab5669668bbef84c15861421b94e121878d3f"}, + {file = "coverage-7.6.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2341a78ae3a5ed454d524206a3fcb3cec408c2a0c7c2752cd78b606a2ff15af4"}, + {file = "coverage-7.6.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a4fb91d5f72b7e06a14ff4ae5be625a81cd7e5f869d7a54578fc271d08d58ae3"}, + {file = "coverage-7.6.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e279f3db904e3b55f520f11f983cc8dc8a4ce9b65f11692d4718ed021ec58b83"}, + {file = "coverage-7.6.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aa23ce39661a3e90eea5f99ec59b763b7d655c2cada10729ed920a38bfc2b167"}, + {file = "coverage-7.6.3-cp312-cp312-win32.whl", hash = "sha256:52ac29cc72ee7e25ace7807249638f94c9b6a862c56b1df015d2b2e388e51dbd"}, + {file = "coverage-7.6.3-cp312-cp312-win_amd64.whl", hash = "sha256:40e8b1983080439d4802d80b951f4a93d991ef3261f69e81095a66f86cf3c3c6"}, + {file = "coverage-7.6.3.tar.gz", hash = "sha256:bb7d5fe92bd0dc235f63ebe9f8c6e0884f7360f88f3411bfed1350c872ef2054"}, ] [[package]] name = "coverage" -version = "7.6.1" +version = "7.6.3" extras = ["toml"] -requires_python = ">=3.8" +requires_python = ">=3.9" summary = "Code coverage measurement for Python" groups = ["test"] dependencies = [ - "coverage==7.6.1", + "coverage==7.6.3", "tomli; python_full_version <= \"3.11.0a6\"", ] files = [ - {file = "coverage-7.6.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:95cae0efeb032af8458fc27d191f85d1717b1d4e49f7cb226cf526ff28179778"}, - {file = "coverage-7.6.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5621a9175cf9d0b0c84c2ef2b12e9f5f5071357c4d2ea6ca1cf01814f45d2391"}, - {file = "coverage-7.6.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:260933720fdcd75340e7dbe9060655aff3af1f0c5d20f46b57f262ab6c86a5e8"}, - {file = "coverage-7.6.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07e2ca0ad381b91350c0ed49d52699b625aab2b44b65e1b4e02fa9df0e92ad2d"}, - {file = "coverage-7.6.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c44fee9975f04b33331cb8eb272827111efc8930cfd582e0320613263ca849ca"}, - {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:877abb17e6339d96bf08e7a622d05095e72b71f8afd8a9fefc82cf30ed944163"}, - {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:3e0cadcf6733c09154b461f1ca72d5416635e5e4ec4e536192180d34ec160f8a"}, - {file = "coverage-7.6.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c3c02d12f837d9683e5ab2f3d9844dc57655b92c74e286c262e0fc54213c216d"}, - {file = "coverage-7.6.1-cp312-cp312-win32.whl", hash = "sha256:e05882b70b87a18d937ca6768ff33cc3f72847cbc4de4491c8e73880766718e5"}, - {file = "coverage-7.6.1-cp312-cp312-win_amd64.whl", hash = "sha256:b5d7b556859dd85f3a541db6a4e0167b86e7273e1cdc973e5b175166bb634fdb"}, - {file = "coverage-7.6.1.tar.gz", hash = "sha256:953510dfb7b12ab69d20135a0662397f077c59b1e6379a768e97c59d852ee51d"}, + {file = "coverage-7.6.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:27bd5f18d8f2879e45724b0ce74f61811639a846ff0e5c0395b7818fae87aec6"}, + {file = "coverage-7.6.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d546cfa78844b8b9c1c0533de1851569a13f87449897bbc95d698d1d3cb2a30f"}, + {file = "coverage-7.6.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9975442f2e7a5cfcf87299c26b5a45266ab0696348420049b9b94b2ad3d40234"}, + {file = "coverage-7.6.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:583049c63106c0555e3ae3931edab5669668bbef84c15861421b94e121878d3f"}, + {file = "coverage-7.6.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2341a78ae3a5ed454d524206a3fcb3cec408c2a0c7c2752cd78b606a2ff15af4"}, + {file = "coverage-7.6.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a4fb91d5f72b7e06a14ff4ae5be625a81cd7e5f869d7a54578fc271d08d58ae3"}, + {file = "coverage-7.6.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:e279f3db904e3b55f520f11f983cc8dc8a4ce9b65f11692d4718ed021ec58b83"}, + {file = "coverage-7.6.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:aa23ce39661a3e90eea5f99ec59b763b7d655c2cada10729ed920a38bfc2b167"}, + {file = "coverage-7.6.3-cp312-cp312-win32.whl", hash = "sha256:52ac29cc72ee7e25ace7807249638f94c9b6a862c56b1df015d2b2e388e51dbd"}, + {file = "coverage-7.6.3-cp312-cp312-win_amd64.whl", hash = "sha256:40e8b1983080439d4802d80b951f4a93d991ef3261f69e81095a66f86cf3c3c6"}, + {file = "coverage-7.6.3.tar.gz", hash = "sha256:bb7d5fe92bd0dc235f63ebe9f8c6e0884f7360f88f3411bfed1350c872ef2054"}, ] [[package]] @@ -488,8 +499,8 @@ files = [ [[package]] name = "cytoolz" -version = "0.12.3" -requires_python = ">=3.7" +version = "1.0.0" +requires_python = ">=3.8" summary = "Cython implementation of Toolz: High performance functional utilities" groups = ["default"] marker = "implementation_name == \"cpython\"" @@ -497,26 +508,26 @@ dependencies = [ "toolz>=0.8.0", ] files = [ - {file = "cytoolz-0.12.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:86923d823bd19ce35805953b018d436f6b862edd6a7c8b747a13d52b39ed5716"}, - {file = "cytoolz-0.12.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:a3e61acfd029bfb81c2c596249b508dfd2b4f72e31b7b53b62e5fb0507dd7293"}, - {file = "cytoolz-0.12.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd728f4e6051af6af234651df49319da1d813f47894d4c3c8ab7455e01703a37"}, - {file = "cytoolz-0.12.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fe8c6267caa7ec67bcc37e360f0d8a26bc3bdce510b15b97f2f2e0143bdd3673"}, - {file = "cytoolz-0.12.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:99462abd8323c52204a2a0ce62454ce8fa0f4e94b9af397945c12830de73f27e"}, - {file = "cytoolz-0.12.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:da125221b1fa25c690fcd030a54344cecec80074df018d906fc6a99f46c1e3a6"}, - {file = "cytoolz-0.12.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:1c18e351956f70db9e2d04ff02f28e9a41839250d3f936a4c8a1eabd1c3094d2"}, - {file = "cytoolz-0.12.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:921e6d2440ac758c4945c587b1d1d9b781b72737ac0c0ca5d5e02ca1db8bded2"}, - {file = "cytoolz-0.12.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:1651a9bd591a8326329ce1d6336f3129161a36d7061a4d5ea9e5377e033364cf"}, - {file = "cytoolz-0.12.3-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:8893223b87c2782bd59f9c4bd5c7bf733edd8728b523c93efb91d7468b486528"}, - {file = "cytoolz-0.12.3-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:e4d2961644153c5ae186db964aa9f6109da81b12df0f1d3494b4e5cf2c332ee2"}, - {file = "cytoolz-0.12.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:71b6eb97f6695f7ba8ce69c49b707a351c5f46fd97f5aeb5f6f2fb0d6e72b887"}, - {file = "cytoolz-0.12.3-cp312-cp312-win32.whl", hash = "sha256:cee3de65584e915053412cd178729ff510ad5f8f585c21c5890e91028283518f"}, - {file = "cytoolz-0.12.3-cp312-cp312-win_amd64.whl", hash = "sha256:9eef0d23035fa4dcfa21e570961e86c375153a7ee605cdd11a8b088c24f707f6"}, - {file = "cytoolz-0.12.3.tar.gz", hash = "sha256:4503dc59f4ced53a54643272c61dc305d1dbbfbd7d6bdf296948de9f34c3a282"}, + {file = "cytoolz-1.0.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:10e3986066dc379e30e225b230754d9f5996aa8d84c2accc69c473c21d261e46"}, + {file = "cytoolz-1.0.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:16576f1bb143ee2cb9f719fcc4b845879fb121f9075c7c5e8a5ff4854bd02fc6"}, + {file = "cytoolz-1.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:3faa25a1840b984315e8b3ae517312375f4273ffc9a2f035f548b7f916884f37"}, + {file = "cytoolz-1.0.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:781fce70a277b20fd95dc66811d1a97bb07b611ceea9bda8b7dd3c6a4b05d59a"}, + {file = "cytoolz-1.0.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7a562c25338eb24d419d1e80a7ae12133844ce6fdeb4ab54459daf250088a1b2"}, + {file = "cytoolz-1.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f29d8330aaf070304f7cd5cb7e73e198753624eb0aec278557cccd460c699b5b"}, + {file = "cytoolz-1.0.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:98a96c54aa55ed9c7cdb23c2f0df39a7b4ee518ac54888480b5bdb5ef69c7ef0"}, + {file = "cytoolz-1.0.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:287d6d7f475882c2ddcbedf8da9a9b37d85b77690779a2d1cdceb5ae3998d52e"}, + {file = "cytoolz-1.0.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:05a871688df749b982839239fcd3f8ec3b3b4853775d575ff9cd335fa7c75035"}, + {file = "cytoolz-1.0.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:28bb88e1e2f7d6d4b8e0890b06d292c568984d717de3e8381f2ca1dd12af6470"}, + {file = "cytoolz-1.0.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:576a4f1fc73d8836b10458b583f915849da6e4f7914f4ecb623ad95c2508cad5"}, + {file = "cytoolz-1.0.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:509ed3799c47e4ada14f63e41e8f540ac6e2dab97d5d7298934e6abb9d3830ec"}, + {file = "cytoolz-1.0.0-cp312-cp312-win32.whl", hash = "sha256:9ce25f02b910630f6dc2540dd1e26c9326027ddde6c59f8cab07c56acc70714c"}, + {file = "cytoolz-1.0.0-cp312-cp312-win_amd64.whl", hash = "sha256:7e53cfcce87e05b7f0ae2fb2b3e5820048cd0bb7b701e92bd8f75c9fbb7c9ae9"}, + {file = "cytoolz-1.0.0.tar.gz", hash = "sha256:eb453b30182152f9917a5189b7d99046b6ce90cdf8aeb0feff4b2683e600defd"}, ] [[package]] name = "datamodel-code-generator" -version = "0.26.1" +version = "0.26.2" requires_python = "<4.0,>=3.8" summary = "Datamodel Code Generator" groups = ["default"] @@ -536,8 +547,8 @@ dependencies = [ "toml<1.0.0,>=0.10.0; python_version < \"3.11\"", ] files = [ - {file = "datamodel_code_generator-0.26.1-py3-none-any.whl", hash = "sha256:bbe8a6cc0b9cfdbfd294e336e02b4c50b481ffc3b3c608b5578b6d7aa02cc8ae"}, - {file = "datamodel_code_generator-0.26.1.tar.gz", hash = "sha256:3b7b49c4230fa197ca28847e1e8996cd664638a7e91796c826a61c60d4ccd8a2"}, + {file = "datamodel_code_generator-0.26.2-py3-none-any.whl", hash = "sha256:f62576a27c9083f2b22cf8c97ed79a394155f131db3e3bf55cd72893f48c5d80"}, + {file = "datamodel_code_generator-0.26.2.tar.gz", hash = "sha256:03c153434d5a308e31fb4528c0199015054570642ccda8cd2f2cb3cc2c497622"}, ] [[package]] @@ -552,14 +563,14 @@ files = [ [[package]] name = "dnspython" -version = "2.6.1" -requires_python = ">=3.8" +version = "2.7.0" +requires_python = ">=3.9" summary = "DNS toolkit" groups = ["default"] marker = "python_version ~= \"3.11\"" files = [ - {file = "dnspython-2.6.1-py3-none-any.whl", hash = "sha256:5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50"}, - {file = "dnspython-2.6.1.tar.gz", hash = "sha256:e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc"}, + {file = "dnspython-2.7.0-py3-none-any.whl", hash = "sha256:b4c34b7d10b51bcc3a5071e7b8dee77939f1e878477eeecc965e9835f63c6c86"}, + {file = "dnspython-2.7.0.tar.gz", hash = "sha256:ce9c432eda0dc91cf618a5cedf1a4e142651196bbcd2c80e89ed5a907e5cfaf1"}, ] [[package]] @@ -637,7 +648,7 @@ files = [ [[package]] name = "eth-account" -version = "0.13.3" +version = "0.13.4" requires_python = "<4,>=3.8" summary = "eth-account: Sign Ethereum transactions and messages with local private keys" groups = ["default"] @@ -645,7 +656,7 @@ dependencies = [ "bitarray>=2.4.0", "ckzg>=2.0.0", "eth-abi>=4.0.0-b.2", - "eth-keyfile>=0.7.0", + "eth-keyfile<0.9.0,>=0.7.0", "eth-keys>=0.4.0", "eth-rlp>=2.1.0", "eth-utils>=2.0.0", @@ -654,8 +665,8 @@ dependencies = [ "rlp>=1.0.0", ] files = [ - {file = "eth_account-0.13.3-py3-none-any.whl", hash = "sha256:c8f3dae3403b8647f386fcc081fb8c2a0970991cf3e00af7e7ebd73f95d6a319"}, - {file = "eth_account-0.13.3.tar.gz", hash = "sha256:03d6af5d314e64b3dd53283e15b24736c5caa24542e5edac0455d6ff87d8b1e0"}, + {file = "eth_account-0.13.4-py3-none-any.whl", hash = "sha256:a4c109e9bad3a278243fcc028b755fb72b43e25b1e6256b3f309a44f5f7d87c3"}, + {file = "eth_account-0.13.4.tar.gz", hash = "sha256:2e1f2de240bef3d9f3d8013656135d2a79b6be6d4e7885bce9cace4334a4a376"}, ] [[package]] @@ -735,7 +746,7 @@ files = [ [[package]] name = "eth-typing" -version = "5.0.0" +version = "5.0.1" requires_python = "<4,>=3.8" summary = "eth-typing: Common type annotations for ethereum python packages" groups = ["default"] @@ -743,8 +754,8 @@ dependencies = [ "typing-extensions>=4.5.0", ] files = [ - {file = "eth_typing-5.0.0-py3-none-any.whl", hash = "sha256:c7ebc8595e7b65175bb4b4176c2b548ab21b13329f2058e84d4f8c289ba9f577"}, - {file = "eth_typing-5.0.0.tar.gz", hash = "sha256:87ce7cee75665c09d2dcff8de1b496609d5e32fcd2e2b1d8fc0370c29eedcdc0"}, + {file = "eth_typing-5.0.1-py3-none-any.whl", hash = "sha256:f30d1af16aac598f216748a952eeb64fbcb6e73efa691d2de31148138afe96de"}, + {file = "eth_typing-5.0.1.tar.gz", hash = "sha256:83debf88c9df286db43bb7374974681ebcc9f048fac81be2548dbc549a3203c0"}, ] [[package]] @@ -825,13 +836,13 @@ files = [ [[package]] name = "idna" -version = "3.8" +version = "3.10" requires_python = ">=3.6" summary = "Internationalized Domain Names in Applications (IDNA)" groups = ["default", "docs", "test"] files = [ - {file = "idna-3.8-py3-none-any.whl", hash = "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac"}, - {file = "idna-3.8.tar.gz", hash = "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603"}, + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, ] [[package]] @@ -953,22 +964,22 @@ files = [ [[package]] name = "markupsafe" -version = "2.1.5" -requires_python = ">=3.7" +version = "3.0.1" +requires_python = ">=3.9" summary = "Safely add untrusted strings to HTML/XML markup." groups = ["default", "docs", "perf"] files = [ - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:8dec4936e9c3100156f8a2dc89c4b88d5c435175ff03413b443469c7c8c5f4d1"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:3c6b973f22eb18a789b1460b4b91bf04ae3f0c4234a0a6aa6b0a92f6f7b951d4"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ac07bad82163452a6884fe8fa0963fb98c2346ba78d779ec06bd7a6262132aee"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f5dfb42c4604dddc8e4305050aa6deb084540643ed5804d7455b5df8fe16f5e5"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:ea3d8a3d18833cf4304cd2fc9cbb1efe188ca9b5efef2bdac7adc20594a0e46b"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:d050b3361367a06d752db6ead6e7edeb0009be66bc3bae0ee9d97fb326badc2a"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:bec0a414d016ac1a18862a519e54b2fd0fc8bbfd6890376898a6c0891dd82e9f"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:58c98fee265677f63a4385256a6d7683ab1832f3ddd1e66fe948d5880c21a169"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win32.whl", hash = "sha256:8590b4ae07a35970728874632fed7bd57b26b0102df2d2b233b6d9d82f6c62ad"}, - {file = "MarkupSafe-2.1.5-cp312-cp312-win_amd64.whl", hash = "sha256:823b65d8706e32ad2df51ed89496147a42a2a6e01c13cfb6ffb8b1e92bc910bb"}, - {file = "MarkupSafe-2.1.5.tar.gz", hash = "sha256:d283d37a890ba4c1ae73ffadf8046435c76e7bc2247bbb63c00bd1a709c6544b"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:8ae369e84466aa70f3154ee23c1451fda10a8ee1b63923ce76667e3077f2b0c4"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40f1e10d51c92859765522cbd79c5c8989f40f0419614bcdc5015e7b6bf97fc5"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5a4cb365cb49b750bdb60b846b0c0bc49ed62e59a76635095a179d440540c346"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ee3941769bd2522fe39222206f6dd97ae83c442a94c90f2b7a25d847d40f4729"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:62fada2c942702ef8952754abfc1a9f7658a4d5460fabe95ac7ec2cbe0d02abc"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:4c2d64fdba74ad16138300815cfdc6ab2f4647e23ced81f59e940d7d4a1469d9"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:fb532dd9900381d2e8f48172ddc5a59db4c445a11b9fab40b3b786da40d3b56b"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:0f84af7e813784feb4d5e4ff7db633aba6c8ca64a833f61d8e4eade234ef0c38"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-win32.whl", hash = "sha256:cbf445eb5628981a80f54087f9acdbf84f9b7d862756110d172993b9a5ae81aa"}, + {file = "MarkupSafe-3.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:a10860e00ded1dd0a65b83e717af28845bb7bd16d8ace40fe5531491de76b79f"}, + {file = "markupsafe-3.0.1.tar.gz", hash = "sha256:3e683ee4f5d0fa2dde4db77ed8dd8a876686e3fc417655c2ece9a90576905344"}, ] [[package]] @@ -987,19 +998,19 @@ files = [ [[package]] name = "marshmallow-dataclass" -version = "8.7.0" +version = "8.7.1" requires_python = ">=3.8" summary = "Python library to convert dataclasses into marshmallow schemas." groups = ["default"] dependencies = [ "marshmallow>=3.18.0", - "typeguard~=4.0.0", + "typeguard<5,>=4.0", "typing-extensions>=4.2.0; python_version < \"3.11\"", - "typing-inspect~=0.9.0", + "typing-inspect>=0.9.0", ] files = [ - {file = "marshmallow_dataclass-8.7.0-py3-none-any.whl", hash = "sha256:9e528d72b83f2b6b0f60cb29fd38781a6f7ce2155295adb1ed33289826a93c4b"}, - {file = "marshmallow_dataclass-8.7.0.tar.gz", hash = "sha256:0218008fec3fd4b5f739b2a0c6d7593bcc403308f6da953e341e4e359e268849"}, + {file = "marshmallow_dataclass-8.7.1-py3-none-any.whl", hash = "sha256:405cbaaad9cea56b3de2f85eff32a9880e3bf849f652e7f6de7395e4b1ddc072"}, + {file = "marshmallow_dataclass-8.7.1.tar.gz", hash = "sha256:4fb80e1bf7b31ce1b192aa87ffadee2cedb3f6f37bb0042f8500b07e6fad59c4"}, ] [[package]] @@ -1027,6 +1038,17 @@ files = [ {file = "mdurl-0.1.2.tar.gz", hash = "sha256:bb413d29f5eea38f31dd4754dd7377d4465116fb207585f97bf925588687c1ba"}, ] +[[package]] +name = "more-itertools" +version = "10.5.0" +requires_python = ">=3.8" +summary = "More routines for operating on iterables, beyond itertools" +groups = ["default"] +files = [ + {file = "more-itertools-10.5.0.tar.gz", hash = "sha256:5482bfef7849c25dc3c6dd53a6173ae4795da2a41a80faea6700d9f5846c5da6"}, + {file = "more_itertools-10.5.0-py3-none-any.whl", hash = "sha256:037b0d3203ce90cca8ab1defbbdac29d5f993fc20131f3664dc8d6acfa872aef"}, +] + [[package]] name = "mpmath" version = "1.3.0" @@ -1039,49 +1061,52 @@ files = [ [[package]] name = "msgpack" -version = "1.0.8" +version = "1.1.0" requires_python = ">=3.8" summary = "MessagePack serializer" groups = ["default"] files = [ - {file = "msgpack-1.0.8-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:114be227f5213ef8b215c22dde19532f5da9652e56e8ce969bf0a26d7c419fee"}, - {file = "msgpack-1.0.8-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:d661dc4785affa9d0edfdd1e59ec056a58b3dbb9f196fa43587f3ddac654ac7b"}, - {file = "msgpack-1.0.8-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d56fd9f1f1cdc8227d7b7918f55091349741904d9520c65f0139a9755952c9e8"}, - {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0726c282d188e204281ebd8de31724b7d749adebc086873a59efb8cf7ae27df3"}, - {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8db8e423192303ed77cff4dce3a4b88dbfaf43979d280181558af5e2c3c71afc"}, - {file = "msgpack-1.0.8-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:99881222f4a8c2f641f25703963a5cefb076adffd959e0558dc9f803a52d6a58"}, - {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:b5505774ea2a73a86ea176e8a9a4a7c8bf5d521050f0f6f8426afe798689243f"}, - {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:ef254a06bcea461e65ff0373d8a0dd1ed3aa004af48839f002a0c994a6f72d04"}, - {file = "msgpack-1.0.8-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e1dd7839443592d00e96db831eddb4111a2a81a46b028f0facd60a09ebbdd543"}, - {file = "msgpack-1.0.8-cp312-cp312-win32.whl", hash = "sha256:64d0fcd436c5683fdd7c907eeae5e2cbb5eb872fafbc03a43609d7941840995c"}, - {file = "msgpack-1.0.8-cp312-cp312-win_amd64.whl", hash = "sha256:74398a4cf19de42e1498368c36eed45d9528f5fd0155241e82c4082b7e16cffd"}, - {file = "msgpack-1.0.8.tar.gz", hash = "sha256:95c02b0e27e706e48d0e5426d1710ca78e0f0628d6e89d5b5a5b91a5f12274f3"}, + {file = "msgpack-1.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:d46cf9e3705ea9485687aa4001a76e44748b609d260af21c4ceea7f2212a501d"}, + {file = "msgpack-1.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:5dbad74103df937e1325cc4bfeaf57713be0b4f15e1c2da43ccdd836393e2ea2"}, + {file = "msgpack-1.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:58dfc47f8b102da61e8949708b3eafc3504509a5728f8b4ddef84bd9e16ad420"}, + {file = "msgpack-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4676e5be1b472909b2ee6356ff425ebedf5142427842aa06b4dfd5117d1ca8a2"}, + {file = "msgpack-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:17fb65dd0bec285907f68b15734a993ad3fc94332b5bb21b0435846228de1f39"}, + {file = "msgpack-1.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a51abd48c6d8ac89e0cfd4fe177c61481aca2d5e7ba42044fd218cfd8ea9899f"}, + {file = "msgpack-1.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:2137773500afa5494a61b1208619e3871f75f27b03bcfca7b3a7023284140247"}, + {file = "msgpack-1.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:398b713459fea610861c8a7b62a6fec1882759f308ae0795b5413ff6a160cf3c"}, + {file = "msgpack-1.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:06f5fd2f6bb2a7914922d935d3b8bb4a7fff3a9a91cfce6d06c13bc42bec975b"}, + {file = "msgpack-1.1.0-cp312-cp312-win32.whl", hash = "sha256:ad33e8400e4ec17ba782f7b9cf868977d867ed784a1f5f2ab46e7ba53b6e1e1b"}, + {file = "msgpack-1.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:115a7af8ee9e8cddc10f87636767857e7e3717b7a2e97379dc2054712693e90f"}, + {file = "msgpack-1.1.0.tar.gz", hash = "sha256:dd432ccc2c72b914e4cb77afce64aab761c1137cc698be3984eee260bcb2896e"}, ] [[package]] name = "multidict" -version = "6.0.5" -requires_python = ">=3.7" +version = "6.1.0" +requires_python = ">=3.8" summary = "multidict implementation" groups = ["default", "test"] +dependencies = [ + "typing-extensions>=4.1.0; python_version < \"3.11\"", +] files = [ - {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:51d035609b86722963404f711db441cf7134f1889107fb171a970c9701f92e1e"}, - {file = "multidict-6.0.5-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:cbebcd5bcaf1eaf302617c114aa67569dd3f090dd0ce8ba9e35e9985b41ac35b"}, - {file = "multidict-6.0.5-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:2ffc42c922dbfddb4a4c3b438eb056828719f07608af27d163191cb3e3aa6cc5"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ceb3b7e6a0135e092de86110c5a74e46bda4bd4fbfeeb3a3bcec79c0f861e450"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:79660376075cfd4b2c80f295528aa6beb2058fd289f4c9252f986751a4cd0496"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e4428b29611e989719874670fd152b6625500ad6c686d464e99f5aaeeaca175a"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d84a5c3a5f7ce6db1f999fb9438f686bc2e09d38143f2d93d8406ed2dd6b9226"}, - {file = "multidict-6.0.5-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:76c0de87358b192de7ea9649beb392f107dcad9ad27276324c24c91774ca5271"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:79a6d2ba910adb2cbafc95dad936f8b9386e77c84c35bc0add315b856d7c3abb"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:92d16a3e275e38293623ebf639c471d3e03bb20b8ebb845237e0d3664914caef"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:fb616be3538599e797a2017cccca78e354c767165e8858ab5116813146041a24"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:14c2976aa9038c2629efa2c148022ed5eb4cb939e15ec7aace7ca932f48f9ba6"}, - {file = "multidict-6.0.5-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:435a0984199d81ca178b9ae2c26ec3d49692d20ee29bc4c11a2a8d4514c67eda"}, - {file = "multidict-6.0.5-cp312-cp312-win32.whl", hash = "sha256:9fe7b0653ba3d9d65cbe7698cca585bf0f8c83dbbcc710db9c90f478e175f2d5"}, - {file = "multidict-6.0.5-cp312-cp312-win_amd64.whl", hash = "sha256:01265f5e40f5a17f8241d52656ed27192be03bfa8764d88e8220141d1e4b3556"}, - {file = "multidict-6.0.5-py3-none-any.whl", hash = "sha256:0d63c74e3d7ab26de115c49bffc92cc77ed23395303d496eae515d4204a625e7"}, - {file = "multidict-6.0.5.tar.gz", hash = "sha256:f7e301075edaf50500f0b341543c41194d8df3ae5caf4702f2095f3ca73dd8da"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b04772ed465fa3cc947db808fa306d79b43e896beb677a56fb2347ca1a49c1fa"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:6180c0ae073bddeb5a97a38c03f30c233e0a4d39cd86166251617d1bbd0af436"}, + {file = "multidict-6.1.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:071120490b47aa997cca00666923a83f02c7fbb44f71cf7f136df753f7fa8761"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:50b3a2710631848991d0bf7de077502e8994c804bb805aeb2925a981de58ec2e"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b58c621844d55e71c1b7f7c498ce5aa6985d743a1a59034c57a905b3f153c1ef"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:55b6d90641869892caa9ca42ff913f7ff1c5ece06474fbd32fb2cf6834726c95"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4b820514bfc0b98a30e3d85462084779900347e4d49267f747ff54060cc33925"}, + {file = "multidict-6.1.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:10a9b09aba0c5b48c53761b7c720aaaf7cf236d5fe394cd399c7ba662d5f9966"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:1e16bf3e5fc9f44632affb159d30a437bfe286ce9e02754759be5536b169b305"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:76f364861c3bfc98cbbcbd402d83454ed9e01a5224bb3a28bf70002a230f73e2"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:820c661588bd01a0aa62a1283f20d2be4281b086f80dad9e955e690c75fb54a2"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e5f362e895bc5b9e67fe6e4ded2492d8124bdf817827f33c5b46c2fe3ffaca6"}, + {file = "multidict-6.1.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:3ec660d19bbc671e3a6443325f07263be452c453ac9e512f5eb935e7d4ac28b3"}, + {file = "multidict-6.1.0-cp312-cp312-win32.whl", hash = "sha256:58130ecf8f7b8112cdb841486404f1282b9c86ccb30d3519faf301b2e5659133"}, + {file = "multidict-6.1.0-cp312-cp312-win_amd64.whl", hash = "sha256:188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1"}, + {file = "multidict-6.1.0-py3-none-any.whl", hash = "sha256:48e171e52d1c4d33888e529b999e5900356b9ae588c2f09a52dcefb158b27506"}, + {file = "multidict-6.1.0.tar.gz", hash = "sha256:22ae2ebf9b0c69d206c003e2f6a914ea33f0a932d4aa16f236afc049d9958f4a"}, ] [[package]] @@ -1118,20 +1143,22 @@ files = [ [[package]] name = "numpy" -version = "1.26.4" -requires_python = ">=3.9" +version = "2.1.2" +requires_python = ">=3.10" summary = "Fundamental package for array computing in Python" groups = ["perf"] files = [ - {file = "numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218"}, - {file = "numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b"}, - {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b"}, - {file = "numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed"}, - {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a"}, - {file = "numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0"}, - {file = "numpy-1.26.4-cp312-cp312-win32.whl", hash = "sha256:50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110"}, - {file = "numpy-1.26.4-cp312-cp312-win_amd64.whl", hash = "sha256:08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818"}, - {file = "numpy-1.26.4.tar.gz", hash = "sha256:2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010"}, + {file = "numpy-2.1.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:d7bf0a4f9f15b32b5ba53147369e94296f5fffb783db5aacc1be15b4bf72f43b"}, + {file = "numpy-2.1.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b1d0fcae4f0949f215d4632be684a539859b295e2d0cb14f78ec231915d644db"}, + {file = "numpy-2.1.2-cp312-cp312-macosx_14_0_arm64.whl", hash = "sha256:f751ed0a2f250541e19dfca9f1eafa31a392c71c832b6bb9e113b10d050cb0f1"}, + {file = "numpy-2.1.2-cp312-cp312-macosx_14_0_x86_64.whl", hash = "sha256:bd33f82e95ba7ad632bc57837ee99dba3d7e006536200c4e9124089e1bf42426"}, + {file = "numpy-2.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b8cde4f11f0a975d1fd59373b32e2f5a562ade7cde4f85b7137f3de8fbb29a0"}, + {file = "numpy-2.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6d95f286b8244b3649b477ac066c6906fbb2905f8ac19b170e2175d3d799f4df"}, + {file = "numpy-2.1.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:ab4754d432e3ac42d33a269c8567413bdb541689b02d93788af4131018cbf366"}, + {file = "numpy-2.1.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:e585c8ae871fd38ac50598f4763d73ec5497b0de9a0ab4ef5b69f01c6a046142"}, + {file = "numpy-2.1.2-cp312-cp312-win32.whl", hash = "sha256:9c6c754df29ce6a89ed23afb25550d1c2d5fdb9901d9c67a16e0b16eaf7e2550"}, + {file = "numpy-2.1.2-cp312-cp312-win_amd64.whl", hash = "sha256:456e3b11cb79ac9946c822a56346ec80275eaf2950314b249b512896c0d2505e"}, + {file = "numpy-2.1.2.tar.gz", hash = "sha256:13532a088217fa624c99b843eeb54640de23b3414b14aa66d023805eb731066c"}, ] [[package]] @@ -1202,13 +1229,13 @@ files = [ [[package]] name = "platformdirs" -version = "4.2.2" +version = "4.3.6" requires_python = ">=3.8" summary = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." groups = ["default", "lint"] files = [ - {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, - {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, + {file = "platformdirs-4.3.6-py3-none-any.whl", hash = "sha256:73e575e1408ab8103900836b97580d5307456908a03e92031bab39e4554cc3fb"}, + {file = "platformdirs-4.3.6.tar.gz", hash = "sha256:357fb2acbc885b0419afd3ce3ed34564c13c9b95c89360cd9563f73aa5e2b907"}, ] [[package]] @@ -1531,22 +1558,23 @@ files = [ [[package]] name = "pytz" -version = "2024.1" +version = "2024.2" summary = "World timezone definitions, modern and historical" groups = ["default", "migrations"] files = [ - {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, - {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, + {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, + {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, ] [[package]] name = "pyunormalize" -version = "15.1.0" +version = "16.0.0" requires_python = ">=3.6" -summary = "Unicode normalization forms (NFC, NFKC, NFD, NFKD). A library independent from the Python core Unicode database." +summary = "Unicode normalization forms (NFC, NFKC, NFD, NFKD). A library independent of the Python core Unicode database." groups = ["default"] files = [ - {file = "pyunormalize-15.1.0.tar.gz", hash = "sha256:cf4a87451a0f1cb76911aa97f432f4579e1f564a2f0c84ce488c73a73901b6c1"}, + {file = "pyunormalize-16.0.0-py3-none-any.whl", hash = "sha256:c647d95e5d1e2ea9a2f448d1d95d8518348df24eab5c3fd32d2b5c3300a49152"}, + {file = "pyunormalize-16.0.0.tar.gz", hash = "sha256:2e1dfbb4a118154ae26f70710426a52a364b926c9191f764601f5a8cb12761f7"}, ] [[package]] @@ -1582,27 +1610,27 @@ files = [ [[package]] name = "regex" -version = "2024.7.24" +version = "2024.9.11" requires_python = ">=3.8" summary = "Alternative regular expression module, to replace re." groups = ["default"] files = [ - {file = "regex-2024.7.24-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:fe4ebef608553aff8deb845c7f4f1d0740ff76fa672c011cc0bacb2a00fbde86"}, - {file = "regex-2024.7.24-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:74007a5b25b7a678459f06559504f1eec2f0f17bca218c9d56f6a0a12bfffdad"}, - {file = "regex-2024.7.24-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:7df9ea48641da022c2a3c9c641650cd09f0cd15e8908bf931ad538f5ca7919c9"}, - {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6a1141a1dcc32904c47f6846b040275c6e5de0bf73f17d7a409035d55b76f289"}, - {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:80c811cfcb5c331237d9bad3bea2c391114588cf4131707e84d9493064d267f9"}, - {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7214477bf9bd195894cf24005b1e7b496f46833337b5dedb7b2a6e33f66d962c"}, - {file = "regex-2024.7.24-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d55588cba7553f0b6ec33130bc3e114b355570b45785cebdc9daed8c637dd440"}, - {file = "regex-2024.7.24-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:558a57cfc32adcf19d3f791f62b5ff564922942e389e3cfdb538a23d65a6b610"}, - {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:a512eed9dfd4117110b1881ba9a59b31433caed0c4101b361f768e7bcbaf93c5"}, - {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:86b17ba823ea76256b1885652e3a141a99a5c4422f4a869189db328321b73799"}, - {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:5eefee9bfe23f6df09ffb6dfb23809f4d74a78acef004aa904dc7c88b9944b05"}, - {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:731fcd76bbdbf225e2eb85b7c38da9633ad3073822f5ab32379381e8c3c12e94"}, - {file = "regex-2024.7.24-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:eaef80eac3b4cfbdd6de53c6e108b4c534c21ae055d1dbea2de6b3b8ff3def38"}, - {file = "regex-2024.7.24-cp312-cp312-win32.whl", hash = "sha256:185e029368d6f89f36e526764cf12bf8d6f0e3a2a7737da625a76f594bdfcbfc"}, - {file = "regex-2024.7.24-cp312-cp312-win_amd64.whl", hash = "sha256:2f1baff13cc2521bea83ab2528e7a80cbe0ebb2c6f0bfad15be7da3aed443908"}, - {file = "regex-2024.7.24.tar.gz", hash = "sha256:9cfd009eed1a46b27c14039ad5bbc5e71b6367c5b2e6d5f5da0ea91600817506"}, + {file = "regex-2024.9.11-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:b0d0a6c64fcc4ef9c69bd5b3b3626cc3776520a1637d8abaa62b9edc147a58f7"}, + {file = "regex-2024.9.11-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:49b0e06786ea663f933f3710a51e9385ce0cba0ea56b67107fd841a55d56a231"}, + {file = "regex-2024.9.11-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:5b513b6997a0b2f10e4fd3a1313568e373926e8c252bd76c960f96fd039cd28d"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ee439691d8c23e76f9802c42a95cfeebf9d47cf4ffd06f18489122dbb0a7ad64"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a8f877c89719d759e52783f7fe6e1c67121076b87b40542966c02de5503ace42"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:23b30c62d0f16827f2ae9f2bb87619bc4fba2044911e2e6c2eb1af0161cdb766"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:85ab7824093d8f10d44330fe1e6493f756f252d145323dd17ab6b48733ff6c0a"}, + {file = "regex-2024.9.11-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:8dee5b4810a89447151999428fe096977346cf2f29f4d5e29609d2e19e0199c9"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:98eeee2f2e63edae2181c886d7911ce502e1292794f4c5ee71e60e23e8d26b5d"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:57fdd2e0b2694ce6fc2e5ccf189789c3e2962916fb38779d3e3521ff8fe7a822"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:d552c78411f60b1fdaafd117a1fca2f02e562e309223b9d44b7de8be451ec5e0"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:a0b2b80321c2ed3fcf0385ec9e51a12253c50f146fddb2abbb10f033fe3d049a"}, + {file = "regex-2024.9.11-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:18406efb2f5a0e57e3a5881cd9354c1512d3bb4f5c45d96d110a66114d84d23a"}, + {file = "regex-2024.9.11-cp312-cp312-win32.whl", hash = "sha256:e464b467f1588e2c42d26814231edecbcfe77f5ac414d92cbf4e7b55b2c2a776"}, + {file = "regex-2024.9.11-cp312-cp312-win_amd64.whl", hash = "sha256:9e8719792ca63c6b8340380352c24dcb8cd7ec49dae36e963742a275dfae6009"}, + {file = "regex-2024.9.11.tar.gz", hash = "sha256:6c188c307e8433bcb63dc1915022deb553b4203a70722fc542c363bf120a01fd"}, ] [[package]] @@ -1624,18 +1652,18 @@ files = [ [[package]] name = "rich" -version = "13.8.0" -requires_python = ">=3.7.0" +version = "13.9.2" +requires_python = ">=3.8.0" summary = "Render rich text, tables, progress bars, syntax highlighting, markdown and more to the terminal" groups = ["perf"] dependencies = [ "markdown-it-py>=2.2.0", "pygments<3.0.0,>=2.13.0", - "typing-extensions<5.0,>=4.0.0; python_version < \"3.9\"", + "typing-extensions<5.0,>=4.0.0; python_version < \"3.11\"", ] files = [ - {file = "rich-13.8.0-py3-none-any.whl", hash = "sha256:2e85306a063b9492dffc86278197a60cbece75bcb766022f3436f567cae11bdc"}, - {file = "rich-13.8.0.tar.gz", hash = "sha256:a5ac1f1cd448ade0d59cc3356f7db7a7ccda2c8cbae9c7a90c28ff463d3e91f4"}, + {file = "rich-13.9.2-py3-none-any.whl", hash = "sha256:8c82a3d3f8dcfe9e734771313e606b39d8247bb6b826e196f4914b333b743cf1"}, + {file = "rich-13.9.2.tar.gz", hash = "sha256:51a2c62057461aaf7152b4d611168f93a9fc73068f8ded2790f29fe2b5366d0c"}, ] [[package]] @@ -1687,29 +1715,45 @@ files = [ [[package]] name = "ruff" -version = "0.6.9" +version = "0.7.0" requires_python = ">=3.7" summary = "An extremely fast Python linter and code formatter, written in Rust." groups = ["lint"] files = [ - {file = "ruff-0.6.9-py3-none-linux_armv6l.whl", hash = "sha256:064df58d84ccc0ac0fcd63bc3090b251d90e2a372558c0f057c3f75ed73e1ccd"}, - {file = "ruff-0.6.9-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:140d4b5c9f5fc7a7b074908a78ab8d384dd7f6510402267bc76c37195c02a7ec"}, - {file = "ruff-0.6.9-py3-none-macosx_11_0_arm64.whl", hash = "sha256:53fd8ca5e82bdee8da7f506d7b03a261f24cd43d090ea9db9a1dc59d9313914c"}, - {file = "ruff-0.6.9-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:645d7d8761f915e48a00d4ecc3686969761df69fb561dd914a773c1a8266e14e"}, - {file = "ruff-0.6.9-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:eae02b700763e3847595b9d2891488989cac00214da7f845f4bcf2989007d577"}, - {file = "ruff-0.6.9-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7d5ccc9e58112441de8ad4b29dcb7a86dc25c5f770e3c06a9d57e0e5eba48829"}, - {file = "ruff-0.6.9-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:417b81aa1c9b60b2f8edc463c58363075412866ae4e2b9ab0f690dc1e87ac1b5"}, - {file = "ruff-0.6.9-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:3c866b631f5fbce896a74a6e4383407ba7507b815ccc52bcedabb6810fdb3ef7"}, - {file = "ruff-0.6.9-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7b118afbb3202f5911486ad52da86d1d52305b59e7ef2031cea3425142b97d6f"}, - {file = "ruff-0.6.9-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a67267654edc23c97335586774790cde402fb6bbdb3c2314f1fc087dee320bfa"}, - {file = "ruff-0.6.9-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:3ef0cc774b00fec123f635ce5c547dac263f6ee9fb9cc83437c5904183b55ceb"}, - {file = "ruff-0.6.9-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:12edd2af0c60fa61ff31cefb90aef4288ac4d372b4962c2864aeea3a1a2460c0"}, - {file = "ruff-0.6.9-py3-none-musllinux_1_2_i686.whl", hash = "sha256:55bb01caeaf3a60b2b2bba07308a02fca6ab56233302406ed5245180a05c5625"}, - {file = "ruff-0.6.9-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:925d26471fa24b0ce5a6cdfab1bb526fb4159952385f386bdcc643813d472039"}, - {file = "ruff-0.6.9-py3-none-win32.whl", hash = "sha256:eb61ec9bdb2506cffd492e05ac40e5bc6284873aceb605503d8494180d6fc84d"}, - {file = "ruff-0.6.9-py3-none-win_amd64.whl", hash = "sha256:785d31851c1ae91f45b3d8fe23b8ae4b5170089021fbb42402d811135f0b7117"}, - {file = "ruff-0.6.9-py3-none-win_arm64.whl", hash = "sha256:a9641e31476d601f83cd602608739a0840e348bda93fec9f1ee816f8b6798b93"}, - {file = "ruff-0.6.9.tar.gz", hash = "sha256:b076ef717a8e5bc819514ee1d602bbdca5b4420ae13a9cf61a0c0a4f53a2baa2"}, + {file = "ruff-0.7.0-py3-none-linux_armv6l.whl", hash = "sha256:0cdf20c2b6ff98e37df47b2b0bd3a34aaa155f59a11182c1303cce79be715628"}, + {file = "ruff-0.7.0-py3-none-macosx_10_12_x86_64.whl", hash = "sha256:496494d350c7fdeb36ca4ef1c9f21d80d182423718782222c29b3e72b3512737"}, + {file = "ruff-0.7.0-py3-none-macosx_11_0_arm64.whl", hash = "sha256:214b88498684e20b6b2b8852c01d50f0651f3cc6118dfa113b4def9f14faaf06"}, + {file = "ruff-0.7.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:630fce3fefe9844e91ea5bbf7ceadab4f9981f42b704fae011bb8efcaf5d84be"}, + {file = "ruff-0.7.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:211d877674e9373d4bb0f1c80f97a0201c61bcd1e9d045b6e9726adc42c156aa"}, + {file = "ruff-0.7.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:194d6c46c98c73949a106425ed40a576f52291c12bc21399eb8f13a0f7073495"}, + {file = "ruff-0.7.0-py3-none-manylinux_2_17_ppc64.manylinux2014_ppc64.whl", hash = "sha256:82c2579b82b9973a110fab281860403b397c08c403de92de19568f32f7178598"}, + {file = "ruff-0.7.0-py3-none-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9af971fe85dcd5eaed8f585ddbc6bdbe8c217fb8fcf510ea6bca5bdfff56040e"}, + {file = "ruff-0.7.0-py3-none-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b641c7f16939b7d24b7bfc0be4102c56562a18281f84f635604e8a6989948914"}, + {file = "ruff-0.7.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:d71672336e46b34e0c90a790afeac8a31954fd42872c1f6adaea1dff76fd44f9"}, + {file = "ruff-0.7.0-py3-none-musllinux_1_2_aarch64.whl", hash = "sha256:ab7d98c7eed355166f367597e513a6c82408df4181a937628dbec79abb2a1fe4"}, + {file = "ruff-0.7.0-py3-none-musllinux_1_2_armv7l.whl", hash = "sha256:1eb54986f770f49edb14f71d33312d79e00e629a57387382200b1ef12d6a4ef9"}, + {file = "ruff-0.7.0-py3-none-musllinux_1_2_i686.whl", hash = "sha256:dc452ba6f2bb9cf8726a84aa877061a2462afe9ae0ea1d411c53d226661c601d"}, + {file = "ruff-0.7.0-py3-none-musllinux_1_2_x86_64.whl", hash = "sha256:4b406c2dce5be9bad59f2de26139a86017a517e6bcd2688da515481c05a2cb11"}, + {file = "ruff-0.7.0-py3-none-win32.whl", hash = "sha256:f6c968509f767776f524a8430426539587d5ec5c662f6addb6aa25bc2e8195ec"}, + {file = "ruff-0.7.0-py3-none-win_amd64.whl", hash = "sha256:ff4aabfbaaba880e85d394603b9e75d32b0693152e16fa659a3064a85df7fce2"}, + {file = "ruff-0.7.0-py3-none-win_arm64.whl", hash = "sha256:10842f69c245e78d6adec7e1db0a7d9ddc2fff0621d730e61657b64fa36f207e"}, + {file = "ruff-0.7.0.tar.gz", hash = "sha256:47a86360cf62d9cd53ebfb0b5eb0e882193fc191c6d717e8bef4462bc3b9ea2b"}, +] + +[[package]] +name = "scalecodec" +version = "1.2.11" +requires_python = "<4,>=3.6" +summary = "Python SCALE Codec Library" +groups = ["default"] +dependencies = [ + "base58>=2.0.1", + "more-itertools", + "requests>=2.24.0", +] +files = [ + {file = "scalecodec-1.2.11-py3-none-any.whl", hash = "sha256:d15c94965f617caa25096f83a45f5f73031d05e6ee08d6039969f0a64fc35de1"}, + {file = "scalecodec-1.2.11.tar.gz", hash = "sha256:99a2cdbfccdcaf22bd86b86da55a730a2855514ad2309faef4a4a93ac6cbeb8d"}, ] [[package]] @@ -1739,7 +1783,7 @@ files = [ [[package]] name = "sentry-sdk" -version = "2.16.0" +version = "2.17.0" requires_python = ">=3.6" summary = "Python client for Sentry (https://sentry.io)" groups = ["default"] @@ -1748,8 +1792,8 @@ dependencies = [ "urllib3>=1.26.11", ] files = [ - {file = "sentry_sdk-2.16.0-py2.py3-none-any.whl", hash = "sha256:49139c31ebcd398f4f6396b18910610a0c1602f6e67083240c33019d1f6aa30c"}, - {file = "sentry_sdk-2.16.0.tar.gz", hash = "sha256:90f733b32e15dfc1999e6b7aca67a38688a567329de4d6e184154a73f96c6892"}, + {file = "sentry_sdk-2.17.0-py2.py3-none-any.whl", hash = "sha256:625955884b862cc58748920f9e21efdfb8e0d4f98cca4ab0d3918576d5b606ad"}, + {file = "sentry_sdk-2.17.0.tar.gz", hash = "sha256:dd0a05352b78ffeacced73a94e86f38b32e2eae15fff5f30ca5abb568a72eacf"}, ] [[package]] @@ -2006,14 +2050,14 @@ files = [ [[package]] name = "toolz" -version = "0.12.1" -requires_python = ">=3.7" +version = "1.0.0" +requires_python = ">=3.8" summary = "List processing tools and functional utilities" groups = ["default"] marker = "implementation_name == \"pypy\" or implementation_name == \"cpython\"" files = [ - {file = "toolz-0.12.1-py3-none-any.whl", hash = "sha256:d22731364c07d72eea0a0ad45bafb2c2937ab6fd38a3507bf55eae8744aa7d85"}, - {file = "toolz-0.12.1.tar.gz", hash = "sha256:ecca342664893f177a13dac0e6b41cbd8ac25a358e5f215316d43e2100224f4d"}, + {file = "toolz-1.0.0-py3-none-any.whl", hash = "sha256:292c8f1c4e7516bf9086f8850935c799a874039c8bcf959d47b600e4c44a6236"}, + {file = "toolz-1.0.0.tar.gz", hash = "sha256:2c86e3d9a04798ac556793bced838816296a2f085017664e4995cb40a1047a02"}, ] [[package]] @@ -2036,17 +2080,17 @@ files = [ [[package]] name = "typeguard" -version = "4.0.1" -requires_python = ">=3.7.4" +version = "4.3.0" +requires_python = ">=3.8" summary = "Run-time type checker for Python" groups = ["default"] dependencies = [ "importlib-metadata>=3.6; python_version < \"3.10\"", - "typing-extensions>=4.7.0; python_version < \"3.12\"", + "typing-extensions>=4.10.0", ] files = [ - {file = "typeguard-4.0.1-py3-none-any.whl", hash = "sha256:43f55cc9953f26dae362adb973b6c9ad6b97bfffcc6757277912eddd5cfa345b"}, - {file = "typeguard-4.0.1.tar.gz", hash = "sha256:db35142d1f92fc8c1b954e5cc03b57810428f9cd4e4604647bdf5764fc5bbba9"}, + {file = "typeguard-4.3.0-py3-none-any.whl", hash = "sha256:4d24c5b39a117f8a895b9da7a9b3114f04eb63bade45a4492de49b175b6f7dfa"}, + {file = "typeguard-4.3.0.tar.gz", hash = "sha256:92ee6a0aec9135181eae6067ebd617fd9de8d75d714fb548728a4933b1dea651"}, ] [[package]] @@ -2062,7 +2106,7 @@ files = [ [[package]] name = "types-requests" -version = "2.32.0.20240712" +version = "2.32.0.20241016" requires_python = ">=3.8" summary = "Typing stubs for requests" groups = ["default"] @@ -2070,8 +2114,8 @@ dependencies = [ "urllib3>=2", ] files = [ - {file = "types-requests-2.32.0.20240712.tar.gz", hash = "sha256:90c079ff05e549f6bf50e02e910210b98b8ff1ebdd18e19c873cd237737c1358"}, - {file = "types_requests-2.32.0.20240712-py3-none-any.whl", hash = "sha256:f754283e152c752e46e70942fa2a146b5bc70393522257bb85bd1ef7e019dcc3"}, + {file = "types-requests-2.32.0.20241016.tar.gz", hash = "sha256:0d9cad2f27515d0e3e3da7134a1b6f28fb97129d86b867f24d9c726452634d95"}, + {file = "types_requests-2.32.0.20241016-py3-none-any.whl", hash = "sha256:4195d62d6d3e043a4eaaf08ff8a62184584d2e8684e9d2aa178c7915a7da3747"}, ] [[package]] @@ -2113,14 +2157,14 @@ files = [ [[package]] name = "tzdata" -version = "2024.1" +version = "2024.2" requires_python = ">=2" summary = "Provider of IANA time zone data" groups = ["default"] marker = "platform_system == \"Windows\"" files = [ - {file = "tzdata-2024.1-py2.py3-none-any.whl", hash = "sha256:9068bc196136463f5245e51efda838afa15aaeca9903f49050dfa2679db4d252"}, - {file = "tzdata-2024.1.tar.gz", hash = "sha256:2674120f8d891909751c38abcdfd386ac0a5a1127954fbc332af6b5ceae07efd"}, + {file = "tzdata-2024.2-py2.py3-none-any.whl", hash = "sha256:a48093786cdcde33cad18c2555e8532f34422074448fbc874186f0abd79565cd"}, + {file = "tzdata-2024.2.tar.gz", hash = "sha256:7d85cc416e9382e69095b7bdf4afd9e3880418a2413feec7069d533d6b4e31cc"}, ] [[package]] @@ -2140,13 +2184,13 @@ files = [ [[package]] name = "urllib3" -version = "2.2.2" +version = "2.2.3" requires_python = ">=3.8" summary = "HTTP library with thread-safe connection pooling, file post, and more." groups = ["default", "docs", "test"] files = [ - {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, - {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, + {file = "urllib3-2.2.3-py3-none-any.whl", hash = "sha256:ca899ca043dcb1bafa3e262d73aa25c465bfb49e0bd9dd5d59f1d0acba2f8fac"}, + {file = "urllib3-2.2.3.tar.gz", hash = "sha256:e7d814a81dad81e6caf2ec9fdedb284ecc9c73076b62654547cc64ccdcae26e9"}, ] [[package]] @@ -2250,7 +2294,7 @@ files = [ [[package]] name = "yarl" -version = "1.15.3" +version = "1.15.4" requires_python = ">=3.9" summary = "Yet another URL library" groups = ["default", "test"] @@ -2260,22 +2304,22 @@ dependencies = [ "propcache>=0.2.0", ] files = [ - {file = "yarl-1.15.3-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:decf9d76191bfe34835f1abd3fa8ebe8a9cd7e16300a5c7e82b18c0812bb22a2"}, - {file = "yarl-1.15.3-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:ce65ed7ad7b6cbca06b0c011b170bd2b0bc56b0a740540e2713e5ac12d7b9b2e"}, - {file = "yarl-1.15.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:3cf2b50352df8775591869aaa22c52b64d60376ba99c0802b42778fedc90b775"}, - {file = "yarl-1.15.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:32e8ebf0080ddd38ec05f8be940a3719e5fe1ab8bb6d2b3f6f8b89c9e34149aa"}, - {file = "yarl-1.15.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:05183fd49244517cb11c208d0ae128f2e8a85ddb7caf22ad8b0ffcdf5481fcb6"}, - {file = "yarl-1.15.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:46653b5fd29e63ffe63335da343829a2b00bb43b0bd9bb21240d3b42629629e2"}, - {file = "yarl-1.15.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b6316af233610b9868eda92cf68c016750cbf50085ac6c51faa17905ddd25605"}, - {file = "yarl-1.15.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5685ebc333c95b75be3a0a83a81b82b6411beee9585eaeb9e2e588ae8df23848"}, - {file = "yarl-1.15.3-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6da6f6c6ee5595658f21bb9d1ecd702f7a7f22f224ac063dfb595624aec4a2e0"}, - {file = "yarl-1.15.3-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:45c05b87a8494d9820ea1ac82118fd2f1d795d868e94766fe8ff670377bf6280"}, - {file = "yarl-1.15.3-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:04f930fcc940f96b8b29110c56882bcff8703f87a7b9354d3acf60ffded5a23d"}, - {file = "yarl-1.15.3-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8df77742b403e71c5d62d22d150e6e35efd6096a15f2c7419815911c62225100"}, - {file = "yarl-1.15.3-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:f785d83ece0998e4ce4fadda22fa6c1ecc40e10f41617013a8726d2e9af0d98f"}, - {file = "yarl-1.15.3-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:7794aade99be0d48b69bd5942acddfeff0de3d09c724d9abe4f19736708ef18f"}, - {file = "yarl-1.15.3-cp312-cp312-win32.whl", hash = "sha256:a3a98d70c667c957c7cd0b153d4cb5e45d43f5e2e23de73be6f7b5c883c01f72"}, - {file = "yarl-1.15.3-cp312-cp312-win_amd64.whl", hash = "sha256:90257bc627897a2c1d562efcd6a6b18887e9dacae795cad2367e8e16df47d966"}, - {file = "yarl-1.15.3-py3-none-any.whl", hash = "sha256:a1d49ed6f4b812dde88e937d4c2bd3f13d72c23ef7de1e17a63b7cacef4b5691"}, - {file = "yarl-1.15.3.tar.gz", hash = "sha256:fbcff47f8ba82467f203037f7a30decf5c724211b224682f7236edb0dcbb5b95"}, + {file = "yarl-1.15.4-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:f923e94e93a37fd990e8336e0b9bedea533e7cbed14e0c572bf9357ef2a70681"}, + {file = "yarl-1.15.4-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3198da7d7c34e29fc8c823e0c3ce6c7274aac35760de557c2017489c7d98fc5a"}, + {file = "yarl-1.15.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:d886de2ea81f513ba2d6820451d33b767a97c37867ba688d42e164b2dbca1362"}, + {file = "yarl-1.15.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ac85e760543129a1912a82438fc8075223e35eaa2d457d61cd83c27d00d17be"}, + {file = "yarl-1.15.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e58c5d07b1f78dd4cb180c5b3b82465cd281aaeee8aafea0e5d72a4b97922cb1"}, + {file = "yarl-1.15.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9060589d0acad1fca048861fa9ee3e8ed060f67894fa885969648ab6e9e99a54"}, + {file = "yarl-1.15.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ccd6774aa7bebdf9ca608bb0839318757a71b8e0d2cf7b10c002bc8790bd343e"}, + {file = "yarl-1.15.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:7694f109867ee428c21b85ae19fd31d164c691eb45cc95c561cfdeba237a12e3"}, + {file = "yarl-1.15.4-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:83e7154aa0d17f5c93d27ac01088fd9ab6673e7bab1acbd07cd7a865b980c045"}, + {file = "yarl-1.15.4-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:f16d1940c0cbc342f1d29d6212a006d172be616d2942c5c41966e8a3ce4c3be1"}, + {file = "yarl-1.15.4-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:7d5226c70af3ad9569ccc4ccc04ab65be79eeb22c87d7ae789c89e62ef76bbd6"}, + {file = "yarl-1.15.4-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:f25906e4a72d9833e81717c39a39dee7297ff5cb44957d06d177a2ab8ef2ef7f"}, + {file = "yarl-1.15.4-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:0e07e4b17b648c880e8e42bf1ac0a730bde114961646ae1c2ec4433f0c11ca94"}, + {file = "yarl-1.15.4-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6f8136bde8dfa4477c6a85c79a366581b4a505b51a52b669318fb631d3f4f638"}, + {file = "yarl-1.15.4-cp312-cp312-win32.whl", hash = "sha256:ccbeaf5b18b173b9d78e332e017b30ba8bedcf03cdce1d13490b82a3f421bc98"}, + {file = "yarl-1.15.4-cp312-cp312-win_amd64.whl", hash = "sha256:f74f6ffdc633aefecbc80282242a5395058db9d1247fa7dd2f070ef84dc82583"}, + {file = "yarl-1.15.4-py3-none-any.whl", hash = "sha256:e5cc288111c450c0a54a74475591b206d3b1cb47dc71bb6200f6be8b1337184c"}, + {file = "yarl-1.15.4.tar.gz", hash = "sha256:a0c5e271058d148d730219ca4f33c5d841c6bd46e05b0da60fea7b516906ccd3"}, ] diff --git a/pyproject.toml b/pyproject.toml index eebbb1a0e..d6c85e438 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -79,6 +79,7 @@ dependencies = [ "tortoise-orm==0.21.7", "uvloop~=0.20", "web3~=7.2", + "scalecodec", ] [project.optional-dependencies] diff --git a/requirements.txt b/requirements.txt index fbedafd6b..1b030fcd4 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,7 @@ # This file is @generated by PDM. # Please do not edit it manually. -aiohappyeyeballs==2.4.0 +aiohappyeyeballs==2.4.3 aiohttp==3.10.10 aiolimiter==1.1.0 aiosignal==1.3.1 @@ -10,55 +10,57 @@ annotated-types==0.7.0 anyio==4.6.2.post1 appdirs==1.4.4 apscheduler==3.10.4 -argcomplete==3.5.0 +argcomplete==3.5.1 asgiref==3.8.1 async-lru==2.0.4 asyncpg==0.29.0 attrs==24.2.0 -bitarray==2.9.2 +base58==2.1.1 +bitarray==3.0.0 black==24.10.0 certifi==2024.8.30 -charset-normalizer==3.3.2 -ckzg==2.0.0 +charset-normalizer==3.4.0 +ckzg==2.0.1 click==8.1.7 colorama==0.4.6; platform_system == "Windows" or sys_platform == "win32" crypto-cpp-py==1.4.4 -cytoolz==0.12.3; implementation_name == "cpython" -datamodel-code-generator==0.26.1 -dnspython==2.6.1; python_version ~= "3.11" +cytoolz==1.0.0; implementation_name == "cpython" +datamodel-code-generator==0.26.2 +dnspython==2.7.0; python_version ~= "3.11" ecdsa==0.18.0 email-validator==2.2.0; python_version ~= "3.11" eth-abi==5.1.0 -eth-account==0.13.3 +eth-account==0.13.4 eth-hash[pycryptodome]==0.7.0 eth-keyfile==0.8.1 eth-keys==0.5.1 eth-rlp==2.1.0 -eth-typing==5.0.0 +eth-typing==5.0.1 eth-utils==5.0.0 frozenlist==1.4.1 genson==1.3.0 hexbytes==1.2.1 -idna==3.8 +idna==3.10 inflect==5.6.2 iso8601==2.1.0 isort==5.13.2 jinja2==3.1.4 lark==1.2.2 lru-dict==1.3.0 -markupsafe==2.1.5 +markupsafe==3.0.1 marshmallow==3.22.0 -marshmallow-dataclass==8.7.0 +marshmallow-dataclass==8.7.1 marshmallow-oneofschema==3.1.1 +more-itertools==10.5.0 mpmath==1.3.0 -msgpack==1.0.8 -multidict==6.0.5 +msgpack==1.1.0 +multidict==6.1.0 mypy-extensions==1.0.0 orjson==3.10.7 packaging==24.1 parsimonious==0.10.0 pathspec==0.12.1 -platformdirs==4.2.2 +platformdirs==4.3.6 poseidon-py==0.1.5 prometheus-client==0.21.0 propcache==0.2.0 @@ -70,16 +72,17 @@ pypika-tortoise==0.2.1 pysignalr==1.0.0 python-dotenv==1.0.1 python-json-logger==2.0.7 -pytz==2024.1 -pyunormalize==15.1.0 +pytz==2024.2 +pyunormalize==16.0.0 pywin32==306; platform_system == "Windows" or sys_platform == "win32" or os_name == "nt" pyyaml==6.0.2 -regex==2024.7.24 +regex==2024.9.11 requests==2.32.3 rlp==4.0.1 ruamel-yaml==0.18.6 ruamel-yaml-clib==0.2.8; platform_python_implementation == "CPython" and python_version < "3.13" -sentry-sdk==2.16.0 +scalecodec==1.2.11 +sentry-sdk==2.17.0 six==1.16.0 sniffio==1.3.1 sqlparse==0.5.1 @@ -88,16 +91,16 @@ strict-rfc3339==0.7 survey==5.4.0 sympy==1.11.1 tabulate==0.9.0 -toolz==0.12.1; implementation_name == "pypy" or implementation_name == "cpython" +toolz==1.0.0; implementation_name == "pypy" or implementation_name == "cpython" tortoise-orm==0.21.7 -typeguard==4.0.1 -types-requests==2.32.0.20240712 +typeguard==4.3.0 +types-requests==2.32.0.20241016 typing-extensions==4.12.2 typing-inspect==0.9.0 -tzdata==2024.1; platform_system == "Windows" +tzdata==2024.2; platform_system == "Windows" tzlocal==5.2 -urllib3==2.2.2 +urllib3==2.2.3 uvloop==0.21.0 web3==7.4.0 websockets==12.0 -yarl==1.15.3 +yarl==1.15.4 diff --git a/schemas/dipdup-3.0.json b/schemas/dipdup-3.0.json index 03b44de87..0ba206ead 100644 --- a/schemas/dipdup-3.0.json +++ b/schemas/dipdup-3.0.json @@ -11,7 +11,6 @@ "description": "always 'abi.etherscan'" }, "url": { - "default": "https://api.etherscan.io/api", "title": "url", "type": "string", "description": "API URL" @@ -44,7 +43,8 @@ } }, "required": [ - "kind" + "kind", + "url" ], "title": "AbiEtherscanDatasourceConfig", "type": "object" @@ -1549,6 +1549,247 @@ "title": "StarknetSubsquidDatasourceConfig", "type": "object" }, + "SubstrateEventsHandlerConfig": { + "additionalProperties": false, + "description": "Subsquid event handler", + "properties": { + "callback": { + "title": "callback", + "type": "string", + "description": "Callback name" + }, + "name": { + "title": "name", + "type": "string", + "description": "Event name (pallet.event)" + } + }, + "required": [ + "callback", + "name" + ], + "title": "SubstrateEventsHandlerConfig", + "type": "object" + }, + "SubstrateEventsIndexConfig": { + "additionalProperties": false, + "description": "Subsquid datasource config", + "properties": { + "kind": { + "const": "substrate.events", + "title": "kind", + "type": "string", + "description": "Always 'substrate.events'" + }, + "datasources": { + "items": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/SubstrateSubsquidDatasourceConfig" + }, + { + "$ref": "#/$defs/SubstrateSubscanDatasourceConfig" + } + ] + }, + "title": "datasources", + "type": "array", + "description": "`substrate` datasources to use" + }, + "runtime": { + "anyOf": [ + { + "type": "string" + }, + { + "$ref": "#/$defs/SubstrateRuntimeConfig" + } + ], + "title": "runtime", + "description": "Substrate runtime" + }, + "handlers": { + "items": { + "$ref": "#/$defs/SubstrateEventsHandlerConfig" + }, + "title": "handlers", + "type": "array", + "description": "Event handlers" + }, + "first_level": { + "default": 0, + "title": "first_level", + "type": "integer", + "description": "Level to start indexing from" + }, + "last_level": { + "default": 0, + "title": "last_level", + "type": "integer", + "description": "Level to stop indexing and disable this index" + } + }, + "required": [ + "kind", + "datasources", + "runtime", + "handlers" + ], + "title": "SubstrateEventsIndexConfig", + "type": "object" + }, + "SubstrateNodeDatasourceConfig": { + "additionalProperties": false, + "description": "Substrate node datasource config", + "properties": { + "kind": { + "const": "substrate.node", + "title": "kind", + "type": "string", + "description": "Always 'substrate.node'" + }, + "url": { + "$ref": "#/$defs/Url", + "title": "url", + "description": "Substrate node URL" + }, + "ws_url": { + "anyOf": [ + { + "$ref": "#/$defs/WsUrl" + }, + { + "type": "null" + } + ], + "default": null, + "title": "ws_url", + "description": "Substrate node WebSocket URL" + }, + "http": { + "anyOf": [ + { + "$ref": "#/$defs/HttpConfig" + }, + { + "type": "null" + } + ], + "default": null, + "title": "http", + "description": "HTTP client configuration" + } + }, + "required": [ + "kind", + "url" + ], + "title": "SubstrateNodeDatasourceConfig", + "type": "object" + }, + "SubstrateRuntimeConfig": { + "additionalProperties": false, + "description": "Substrate runtime config", + "properties": { + "kind": { + "const": "substrate", + "default": "substrate", + "title": "kind", + "type": "string", + "description": "Always 'substrate'" + } + }, + "title": "SubstrateRuntimeConfig", + "type": "object" + }, + "SubstrateSubscanDatasourceConfig": { + "additionalProperties": false, + "description": "Subscan datasource config", + "properties": { + "kind": { + "const": "substrate.subscan", + "title": "kind", + "type": "string", + "description": "always 'substrate.subscan'" + }, + "url": { + "title": "url", + "type": "string", + "description": "API URL" + }, + "api_key": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "default": null, + "title": "api_key", + "description": "API key" + }, + "http": { + "anyOf": [ + { + "$ref": "#/$defs/HttpConfig" + }, + { + "type": "null" + } + ], + "default": null, + "title": "http", + "description": "HTTP client configuration" + } + }, + "required": [ + "kind", + "url" + ], + "title": "SubstrateSubscanDatasourceConfig", + "type": "object" + }, + "SubstrateSubsquidDatasourceConfig": { + "additionalProperties": false, + "description": "Subsquid datasource config", + "properties": { + "kind": { + "const": "substrate.subsquid", + "title": "kind", + "type": "string", + "description": "always 'substrate.subsquid'" + }, + "url": { + "$ref": "#/$defs/Url", + "title": "url", + "description": "URL of Subsquid Network API" + }, + "http": { + "anyOf": [ + { + "$ref": "#/$defs/HttpConfig" + }, + { + "type": "null" + } + ], + "default": null, + "title": "http", + "description": "HTTP client configuration" + } + }, + "required": [ + "kind", + "url" + ], + "title": "SubstrateSubsquidDatasourceConfig", + "type": "object" + }, "TezosAddress": { "type": "string" }, @@ -2735,6 +2976,15 @@ }, { "$ref": "#/$defs/StarknetNodeDatasourceConfig" + }, + { + "$ref": "#/$defs/SubstrateSubsquidDatasourceConfig" + }, + { + "$ref": "#/$defs/SubstrateSubscanDatasourceConfig" + }, + { + "$ref": "#/$defs/SubstrateNodeDatasourceConfig" } ] }, @@ -2754,6 +3004,14 @@ "title": "database", "description": "Database config" }, + "runtimes": { + "additionalProperties": { + "$ref": "#/$defs/SubstrateRuntimeConfig" + }, + "title": "runtimes", + "type": "object", + "description": "Mapping of runtime aliases and runtime configs" + }, "contracts": { "additionalProperties": { "anyOf": [ @@ -2805,6 +3063,9 @@ { "$ref": "#/$defs/StarknetEventsIndexConfig" }, + { + "$ref": "#/$defs/SubstrateEventsIndexConfig" + }, { "$ref": "#/$defs/IndexTemplateConfig" } @@ -2846,6 +3107,9 @@ }, { "$ref": "#/$defs/StarknetEventsIndexConfig" + }, + { + "$ref": "#/$defs/SubstrateEventsIndexConfig" } ] }, diff --git a/scripts/docs.py b/scripts/docs.py index d8075965f..e3fbf375c 100755 --- a/scripts/docs.py +++ b/scripts/docs.py @@ -117,12 +117,11 @@ class ReferencePage(TypedDict): # ## Title MD_HEADING_REGEX = r'\#\#* [\w ]*' +# NODE: Extract class name and subclasses in two groups; mind the classes without parents. # class AbiDatasourceConfig(DatasourceConfig): -CLASS_REGEX = r'class (\w*)[\(:]' +CLASS_REGEX = r'class ([a-zA-Z_0-9]*)[\(:]*(.*):' + -IGNORED_CONFIG_CLASSES = { - 'dipdup.config.Config', -} IGNORED_MODEL_CLASSES = { 'dipdup.models.BulkCreateQuery', 'dipdup.models.BulkUpdateQuery', @@ -230,10 +229,12 @@ def __init__( self._callbacks = callbacks or [] def on_rst_modified(self) -> None: - subprocess.run( - ('python3', 'scripts/docs.py', 'dump-references'), - check=True, - ) + # FIXME + pass + # subprocess.run( + # ('python3', 'scripts/docs.py', 'dump-references'), + # check=True, + # ) def on_modified( self, @@ -515,7 +516,7 @@ def _compare(ref: str, ignore: set[str]) -> None: else: package_path_str = '.' + package_path.with_suffix('').as_posix().replace('/', '.') # NOTE: Skip private modules and classes - if '._' in package_path_str: + if '._' in package_path_str or 'ABC' in match.group(2): continue classes_in_package.add(f'dipdup.{ref}{package_path_str}.{match.group(1)}') @@ -528,7 +529,6 @@ def _compare(ref: str, ignore: set[str]) -> None: red_echo(f'=> Remove: {to_remove}') exit(1) - _compare('config', IGNORED_CONFIG_CLASSES) _compare('models', IGNORED_MODEL_CLASSES) green_echo('=> Building Sphinx docs') diff --git a/src/demo_blank/deploy/Dockerfile b/src/demo_blank/deploy/Dockerfile index 8c8a62029..62ddb2a94 100644 --- a/src/demo_blank/deploy/Dockerfile +++ b/src/demo_blank/deploy/Dockerfile @@ -1,6 +1,6 @@ FROM dipdup/dipdup:8 # FROM ghcr.io/dipdup-io/dipdup:8 -# FROM ghcr.io/dipdup-io/dipdup:next +FROM ghcr.io/dipdup-io/dipdup:feat-substrate # COPY --chown=dipdup pyproject.toml README.md . # RUN pip install . diff --git a/src/demo_substrate_events/.dockerignore b/src/demo_substrate_events/.dockerignore new file mode 100644 index 000000000..c0bf9e3fb --- /dev/null +++ b/src/demo_substrate_events/.dockerignore @@ -0,0 +1,22 @@ +# Ignore all +* + +# Add metadata and build files +!demo_substrate_events +!pyproject.toml +!*.lock +!README.md + +# Add Python code +!**/*.py +**/.*_cache +**/__pycache__ + +# Add configs and scripts (but not env!) +!**/*.graphql +!**/*.json +!**/*.sql +!**/*.yaml +!**/*.yml +!**/*.j2 +!**/.keep \ No newline at end of file diff --git a/src/demo_substrate_events/.gitignore b/src/demo_substrate_events/.gitignore new file mode 100644 index 000000000..b04caa128 --- /dev/null +++ b/src/demo_substrate_events/.gitignore @@ -0,0 +1,29 @@ +# Ignore all +* +!*/ + +# Add metadata and build files +!demo_substrate_events +!.gitignore +!.dockerignore +!py.typed +!**/Dockerfile +!**/Makefile +!**/pyproject.toml +!**/*.lock +!**/README.md +!**/.keep + +# Add Python code +!**/*.py +**/.*_cache +**/__pycache__ + +# Add configs and scripts (but not env!) +!**/*.graphql +!**/*.json +!**/*.sql +!**/*.yaml +!**/*.yml +!**/*.j2 +!**/*.env.default \ No newline at end of file diff --git a/src/demo_substrate_events/Makefile b/src/demo_substrate_events/Makefile new file mode 100644 index 000000000..c3b5f7569 --- /dev/null +++ b/src/demo_substrate_events/Makefile @@ -0,0 +1,54 @@ +.PHONY: $(MAKECMDGOALS) +MAKEFLAGS += --no-print-directory +## +## 🚧 DipDup developer tools +## +PACKAGE=demo_substrate_events +TAG=latest +COMPOSE=deploy/compose.yaml + +help: ## Show this help (default) + @grep -Fh "##" $(MAKEFILE_LIST) | grep -Fv grep -F | sed -e 's/\\$$//' | sed -e 's/##//' + +all: ## Run an entire CI pipeline + make format lint + +## + +install: ## Install dependencies + pdm install + +update: ## Update dependencies + pdm update + dipdup self update -q + +format: ## Format with all tools + make black + +lint: ## Lint with all tools + make ruff mypy + +## + +black: ## Format with black + black . + +ruff: ## Lint with ruff + ruff check --fix . + +mypy: ## Lint with mypy + mypy . + +## + +image: ## Build Docker image + docker buildx build . -t ${PACKAGE}:${TAG} --load + +up: ## Start Compose stack + docker-compose -f ${COMPOSE} up -d --build + docker-compose -f ${COMPOSE} logs -f + +down: ## Stop Compose stack + docker-compose -f ${COMPOSE} down + +## \ No newline at end of file diff --git a/src/demo_substrate_events/README.md b/src/demo_substrate_events/README.md new file mode 100644 index 000000000..3c19ffbdb --- /dev/null +++ b/src/demo_substrate_events/README.md @@ -0,0 +1,49 @@ +# demo_substrate_events + +Substrate balance transfers [PREVIEW] + +## Installation + +This project is based on [DipDup](https://dipdup.io), a framework for building featureful dapps. + +You need a Linux/macOS system with Python 3.12 installed. To install DipDup with pipx or use our installer: + +```shell +curl -Lsf https://dipdup.io/install.py | python3.12 +``` + +See the [Installation](https://dipdup.io/docs/installation) page for all options. + +## Usage + +Run the indexer in memory: + +```shell +dipdup run +``` + +Store data in SQLite database: + +```shell +dipdup -c . -c configs/dipdup.sqlite.yaml run +``` + +Or spawn a Compose stack with PostgreSQL and Hasura: + +```shell +cd deploy +cp .env.default .env +# Edit .env file before running +docker-compose up +``` + +## Development setup + +To set up the development environment: + +```shell +pdm install +$(pdm venv activate) +``` + +Run `make all` to run full CI check or `make help` to see other available commands. \ No newline at end of file diff --git a/src/dipdup/indexes/__init__.py b/src/demo_substrate_events/__init__.py similarity index 100% rename from src/dipdup/indexes/__init__.py rename to src/demo_substrate_events/__init__.py diff --git a/src/dipdup/indexes/starknet_events/__init__.py b/src/demo_substrate_events/abi/.keep similarity index 100% rename from src/dipdup/indexes/starknet_events/__init__.py rename to src/demo_substrate_events/abi/.keep diff --git a/src/demo_substrate_events/abi/assethub/v1000000.json b/src/demo_substrate_events/abi/assethub/v1000000.json new file mode 100644 index 000000000..de1f5b734 --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v1000000.json @@ -0,0 +1,13192 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:dispatch:PerDispatchClass@8", + "PlainTypeValue": 8 + }, + "fallback": "0x000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 12 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 12 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 14 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 18 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: The item is unbound and should therefore never be read on chain.", + " It could otherwise inflate the PoV size of a block.", + "", + " Events have a large in-memory size. Box the events to not go out-of-memory", + " just in case someone still reads them from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 12, + "value_id": 126 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(BlockNumberFor, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 128 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 124 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "remark", + "docs": [ + "See [`Pallet::remark`]." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0001", + "name": "set_heap_pages", + "docs": [ + "See [`Pallet::set_heap_pages`]." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0002", + "name": "set_code", + "docs": [ + "See [`Pallet::set_code`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0003", + "name": "set_code_without_checks", + "docs": [ + "See [`Pallet::set_code_without_checks`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_storage", + "docs": [ + "See [`Pallet::set_storage`]." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0005", + "name": "kill_storage", + "docs": [ + "See [`Pallet::kill_storage`]." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_prefix", + "docs": [ + "See [`Pallet::kill_prefix`]." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0007", + "name": "remark_with_event", + "docs": [ + "See [`Pallet::remark_with_event`]." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 130 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + } + ], + "events_value": { + "type": 21 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 134, + "constants_value": "0700f2052a0100070088526a74020040010265cd1d000107c0d22c76510200e000010700e6bd4f570200f0000100000265cd1d000107c074c1906e0200300101070088526a7402004001010700a2941a1d020050000265cd1d00000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:dispatch:PerDispatchClass@139", + "type_value": 138, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "00100000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "sp_weights:RuntimeDbWeight", + "type_value": 140, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 141, + "constants_value": "2473746174656d696e742473746174656d696e740100000040420f000000000030dd718d5cc53262d401000000df6acb689907609b0400000037e397fc7c91f5e40200000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000f3ff14d5ab52705903000000de92b8a0426b9bf602000000ea93e3f16f3d6962020000000d00000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 108, + "constants_value": "0000", + "docs": [ + " The designated SS58 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + } + ], + "errors_value": { + "type": 145 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "UnincludedSegment", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 146 + }, + "fallback": "0x00", + "docs": [ + " Latest included block descendants the runtime accepted. In other words, these are", + " ancestors of the currently executing block which have not been included in the observed", + " relay-chain state.", + "", + " The segment length is limited by the capacity returned from the [`ConsensusHook`] configured", + " in the pallet." + ] + }, + { + "name": "AggregatedUnincludedSegment", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:unincluded_segment:SegmentTracker", + "PlainTypeValue": 156 + }, + "fallback": "0x00", + "docs": [ + " Storage field that keeps track of bandwidth used by the unincluded segment along with the", + " latest the latest HRMP watermark. Used for limiting the acceptance of new blocks with", + " respect to relay chain constraints." + ] + }, + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be", + " applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the", + " [`:code`][sp_core::storage::well_known_keys::CODE] which will result the next block process", + " with the new validation code. This concludes the upgrade process." + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v5:PersistedValidationData", + "PlainTypeValue": 157 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "LastRelayChainBlockNumber", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The relay chain block number associated with the last parachain block." + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 159 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "UpgradeGoAhead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 154 + }, + "fallback": "0x00", + "docs": [ + " Optional upgrade go-ahead signal from the relay-chain.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelayStateProof", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 161 + }, + "fallback": "0x00", + "docs": [ + " The state proof for the last relay parent block.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 163 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v5:AbridgedHostConfiguration", + "PlainTypeValue": 168 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 170 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 171 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 174 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 133 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 133 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:CodeUpgradeAuthorization", + "PlainTypeValue": 176 + }, + "fallback": "0x00", + "docs": [ + " The next authorized upgrade, if there is one." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See `Pallet::set_custom_validation_head_data` for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "See [`Pallet::set_validation_data`]." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": [ + "See [`Pallet::sudo_send_upward_message`]." + ], + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": [ + "See [`Pallet::authorize_upgrade`]." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + }, + { + "name": "check_version", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": [ + "See [`Pallet::enact_authorized_upgrade`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 177 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "relay_chain_block_num" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade has been authorized." + ], + "args": [ + "H256" + ], + "args_name": [ + "code_hash" + ], + "args_type_name": [ + "Hash" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed." + ], + "args": [ + "U32" + ], + "args_name": [ + "count" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0105", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight." + ], + "args": [ + "sp_weights:weight_v2:Weight", + "H256" + ], + "args_name": [ + "weight_used", + "dmq_head" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + }, + { + "lookup": "0106", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option<[U8; 32]>" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + } + ], + "events_value": { + "type": 30 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending." + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function." + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run." + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block." + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block." + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 186 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " Current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " Did the timestamp get updated in this block?" + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "See [`Pallet::set`]." + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 187 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 11, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks. Beware that this is different to the *expected*", + " period that the block production apparatus provides. Your chosen consensus system will", + " generally work with this to determine a sensible block time. e.g. For Aura, it will be", + " double this period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 42 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "InactiveIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units of outstanding deactivated balance in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:types:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 188 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 192 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances." + ] + }, + { + "name": "Holds", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 195 + } + }, + "fallback": "0x00", + "docs": [ + " Holds on account balances." + ] + }, + { + "name": "Freezes", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 199 + } + }, + "fallback": "0x00", + "docs": [ + " Freeze locks on account balances." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer_allow_death", + "docs": [ + "See [`Pallet::transfer_allow_death`]." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a01", + "name": "set_balance_deprecated", + "docs": [ + "See [`Pallet::set_balance_deprecated`]." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "old_reserved", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "See [`Pallet::transfer_all`]." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "See [`Pallet::force_unreserve`]." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a06", + "name": "upgrade_accounts", + "docs": [ + "See [`Pallet::upgrade_accounts`]." + ], + "args": [ + { + "name": "who", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0a07", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a08", + "name": "force_set_balance", + "docs": [ + "See [`Pallet::force_set_balance`]." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 202 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "free" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0a", + "name": "Minted", + "docs": [ + "Some amount was minted into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0b", + "name": "Burned", + "docs": [ + "Some amount was burned from an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0c", + "name": "Suspended", + "docs": [ + "Some amount was suspended from an account (it can be restored later)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0d", + "name": "Restored", + "docs": [ + "Some amount was restored into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0e", + "name": "Upgraded", + "docs": [ + "An account was upgraded." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "who" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0a0f", + "name": "Issued", + "docs": [ + "Total issuance was increased by `amount`, creating a credit to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a10", + "name": "Rescinded", + "docs": [ + "Total issuance was decreased by `amount`, creating a debt to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a11", + "name": "Locked", + "docs": [ + "Some balance was locked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a12", + "name": "Unlocked", + "docs": [ + "Some balance was unlocked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a13", + "name": "Frozen", + "docs": [ + "Some balance was frozen." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a14", + "name": "Thawed", + "docs": [ + "Some balance was thawed." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 32 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!", + "", + " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for", + " this pallet. However, you do so at your own risk: this will open up a major DoS vector.", + " In case you have multiple sources of provider references, you may also get unexpected", + " behaviour if you set this to zero.", + "", + " Bottom line: Do yourself a favour and make it at least one!" + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + }, + { + "name": "MaxHolds", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The maximum number of holds that can exist on an account at any time." + ] + }, + { + "name": "MaxFreezes", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The maximum number of individual freeze locks that can exist on an account at any time." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value." + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal." + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value." + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit." + ] + }, + { + "name": "Expendability", + "doc": [ + "Transfer/payment would kill account." + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account." + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist." + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed `MaxReserves`." + ] + }, + { + "name": "TooManyHolds", + "doc": [ + "Number of holds exceed `MaxHolds`." + ] + }, + { + "name": "TooManyFreezes", + "doc": [ + "Number of freezes exceed `MaxFreezes`." + ] + } + ], + "errors_value": { + "type": 205 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 206 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 207 + }, + "fallback": "0x00", + "docs": null + } + ], + "events": [ + { + "lookup": "0b00", + "name": "TransactionFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who`." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "actual_fee", + "tip" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf" + ] + } + ], + "events_value": { + "type": 34 + }, + "constants": [ + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "0c00", + "name": "AssetTxFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who` in an asset `asset_id`." + ], + "args": [ + "AccountId", + "U128", + "U128", + "option" + ], + "args_name": [ + "who", + "actual_fee", + "tip", + "asset_id" + ], + "args_type_name": [ + "AccountId", + "AssetBalanceOf", + "AssetBalanceOf", + "Option" + ] + } + ], + "events_value": { + "type": 35 + }, + "errors": null, + "errors_value": null, + "index": 12 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 208 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, permissioned collators. This list must be sorted." + ] + }, + { + "name": "Candidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 209 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates. `Candidates` and `Invulnerables` should be", + " mutually exclusive." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "See [`Pallet::set_invulnerables`]." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "See [`Pallet::set_desired_candidates`]." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "See [`Pallet::set_candidacy_bond`]." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "See [`Pallet::register_as_candidate`]." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "See [`Pallet::leave_intent`]." + ], + "args": null + }, + { + "lookup": "1505", + "name": "add_invulnerable", + "docs": [ + "See [`Pallet::add_invulnerable`]." + ], + "args": [ + { + "name": "who", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "1506", + "name": "remove_invulnerable", + "docs": [ + "See [`Pallet::remove_invulnerable`]." + ], + "args": [ + { + "name": "who", + "type": "AccountId", + "type_name": "AccountId" + } + ] + } + ], + "calls_value": { + "type": 212 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": [ + "New Invulnerables were set." + ], + "args": [ + "Vec" + ], + "args_name": [ + "invulnerables" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "InvulnerableAdded", + "docs": [ + "A new Invulnerable was added." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1502", + "name": "InvulnerableRemoved", + "docs": [ + "An Invulnerable was removed." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1503", + "name": "NewDesiredCandidates", + "docs": [ + "The number of desired candidates was set." + ], + "args": [ + "U32" + ], + "args_name": [ + "desired_candidates" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1504", + "name": "NewCandidacyBond", + "docs": [ + "The candidacy bond was set." + ], + "args": [ + "U128" + ], + "args_name": [ + "bond_amount" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1505", + "name": "CandidateAdded", + "docs": [ + "A new candidate joined." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1506", + "name": "CandidateRemoved", + "docs": [ + "A candidate was removed." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1507", + "name": "InvalidInvulnerableSkipped", + "docs": [ + "An account was unable to be added to the Invulnerables because they did not have keys", + "registered. Other Invulnerables may have been set." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 37 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "The pallet has too many candidates." + ] + }, + { + "name": "TooFewEligibleCollators", + "doc": [ + "Leaving would result in too few candidates." + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "Account is already a candidate." + ] + }, + { + "name": "NotCandidate", + "doc": [ + "Account is not a candidate." + ] + }, + { + "name": "TooManyInvulnerables", + "doc": [ + "There are too many Invulnerables." + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "Account is already an Invulnerable." + ] + }, + { + "name": "NotInvulnerable", + "doc": [ + "Account is not an Invulnerable." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID." + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered." + ] + } + ], + "errors_value": { + "type": 213 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 38 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 214 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 112 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 216 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 219, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "See [`Pallet::set_keys`]." + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "See [`Pallet::purge_keys`]." + ], + "args": null + } + ], + "calls_value": { + "type": 221 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 39 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 222 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 223 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 225 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 223 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will", + " always be updated to the latest AuRa authorities in `on_finalize`." + ] + }, + { + "name": "SlotInfo", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Tuple:U64U32", + "PlainTypeValue": 226 + }, + "fallback": "0x00", + "docs": [ + " Current slot paired with a number of authored blocks.", + "", + " Updated on each block initialization." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 227 + }, + "fallback": "0x00", + "docs": [ + " Status of the inbound XCMP channels." + ] + }, + { + "name": "InboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 233, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Inbound aggregate XCMP messages. It can only be one per ParaId/block." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 234 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 237, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 42, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 238 + }, + "fallback": "0x020000000500000001000000821a06000008000700c817a80402000400", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32U32Vec", + "keys_id": 11, + "value_id": 239 + } + }, + "fallback": "0x00", + "docs": [ + " The messages that exceeded max individual message weight budget.", + "", + " These message stay in this storage map until they are manually dispatched via", + " `service_overweight`." + ] + }, + { + "name": "CounterForOverweight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + "Counter for the related counted storage map" + ] + }, + { + "name": "OverweightCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The number of overweight messages ever recorded in `Overweight`. Also doubles as the next", + " available free overweight index." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + } + ], + "calls": [ + { + "lookup": "1e00", + "name": "service_overweight", + "docs": [ + "See [`Pallet::service_overweight`]." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "See [`Pallet::suspend_xcm_execution`]." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "See [`Pallet::resume_xcm_execution`]." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "See [`Pallet::update_suspend_threshold`]." + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "See [`Pallet::update_drop_threshold`]." + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "See [`Pallet::update_resume_threshold`]." + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e06", + "name": "update_threshold_weight", + "docs": [ + "See [`Pallet::update_threshold_weight`]." + ], + "args": [ + { + "name": "new", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e07", + "name": "update_weight_restrict_decay", + "docs": [ + "See [`Pallet::update_weight_restrict_decay`]." + ], + "args": [ + { + "name": "new", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e08", + "name": "update_xcmp_max_individual_weight", + "docs": [ + "See [`Pallet::update_xcmp_max_individual_weight`]." + ], + "args": [ + { + "name": "new", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 240 + }, + "events": [ + { + "lookup": "1e00", + "name": "Success", + "docs": [ + "Some XCM was executed ok." + ], + "args": [ + "[U8; 32]", + "[U8; 32]", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "message_id", + "weight" + ], + "args_type_name": [ + "XcmHash", + "XcmHash", + "Weight" + ] + }, + { + "lookup": "1e01", + "name": "Fail", + "docs": [ + "Some XCM failed." + ], + "args": [ + "[U8; 32]", + "[U8; 32]", + "xcm:v3:traits:Error", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "message_id", + "error", + "weight" + ], + "args_type_name": [ + "XcmHash", + "XcmHash", + "XcmError", + "Weight" + ] + }, + { + "lookup": "1e02", + "name": "BadVersion", + "docs": [ + "Bad XCM version used." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "XcmHash" + ] + }, + { + "lookup": "1e03", + "name": "BadFormat", + "docs": [ + "Bad XCM format used." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "XcmHash" + ] + }, + { + "lookup": "1e04", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "XcmHash" + ] + }, + { + "lookup": "1e05", + "name": "OverweightEnqueued", + "docs": [ + "An XCM exceeded the individual message weight budget." + ], + "args": [ + "U32", + "U32", + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "sender", + "sent_at", + "index", + "required" + ], + "args_type_name": [ + "ParaId", + "RelayBlockNumber", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "1e06", + "name": "OverweightServiced", + "docs": [ + "An XCM from the overweight queue was executed with the given actual weight used." + ], + "args": [ + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "index", + "used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 40 + }, + "errors": [ + { + "name": "FailedToSend", + "doc": [ + "Failed to send XCM message." + ] + }, + { + "name": "BadXcmOrigin", + "doc": [ + "Bad XCM origin." + ] + }, + { + "name": "BadXcm", + "doc": [ + "Bad XCM data." + ] + }, + { + "name": "BadOverweightIndex", + "doc": [ + "Bad overweight index." + ] + }, + { + "name": "WeightOverLimit", + "doc": [ + "Provided weight is possibly not enough to execute the message." + ] + } + ], + "errors_value": { + "type": 241 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 11, + "value_id": 242 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 12, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U32", + "keys_id": 251, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U64", + "keys_id": 251, + "value_id": 11 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "Tuple:U64sp_weights:weight_v2:WeightU32", + "keys_id": 251, + "value_id": 252 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 253 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 256 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + }, + { + "name": "RemoteLockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "xcm:VersionedAssetId" + ], + "value": "pallet_xcm:pallet:RemoteLockedFungibleRecord", + "keys_id": 258, + "value_id": 260 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on a remote chain." + ] + }, + { + "name": "LockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 264 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on this chain." + ] + }, + { + "name": "XcmExecutionSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " Global suspension state of the XCM executor." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": [ + "See [`Pallet::send`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@268", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "See [`Pallet::teleport_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "See [`Pallet::reserve_transfer_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "See [`Pallet::execute`]." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@276", + "type_name": "Box::RuntimeCall>>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "See [`Pallet::force_xcm_version`]." + ], + "args": [ + { + "name": "location", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "See [`Pallet::force_default_xcm_version`]." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "See [`Pallet::force_subscribe_version_notify`]." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "See [`Pallet::force_unsubscribe_version_notify`]." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "See [`Pallet::limited_reserve_transfer_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "See [`Pallet::limited_teleport_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f0a", + "name": "force_suspension", + "docs": [ + "See [`Pallet::force_suspension`]." + ], + "args": [ + { + "name": "suspended", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 267 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted." + ], + "args": [ + "xcm:v3:traits:Outcome" + ], + "args_name": [ + "outcome" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "staging_xcm:v3:multilocation:MultiLocation", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "origin", + "destination", + "message", + "message_id" + ], + "args_type_name": [ + "MultiLocation", + "MultiLocation", + "Xcm<()>", + "XcmHash" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call." + ], + "args": [ + "U64", + "xcm:v3:Response" + ], + "args_name": [ + "query_id", + "response" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification", + "could not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result." + ], + "args": [ + "U64", + "U8", + "U8", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index", + "actual_weight", + "max_budgeted_weight" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U64", + "option" + ], + "args_name": [ + "origin", + "query_id", + "expected_location" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed." + ], + "args": [ + "U64" + ], + "args_name": [ + "query_id" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap." + ], + "args": [ + "H256", + "staging_xcm:v3:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "hash", + "origin", + "assets" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "The cost of sending it (borne by the chain) is included." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "result", + "cost", + "message_id" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion", + "MultiAssets", + "XcmHash" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "location", + "version" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U64", + "xcm:v3:traits:Error" + ], + "args_name": [ + "location", + "query_id", + "error" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format." + ], + "args": [ + "xcm:VersionedMultiLocation", + "U64" + ], + "args_name": [ + "location", + "query_id" + ], + "args_type_name": [ + "VersionedMultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f10", + "name": "InvalidQuerierVersion", + "docs": [ + "Expected query response has been received but the expected querier location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f11", + "name": "InvalidQuerier", + "docs": [ + "Expected query response has been received but the querier location of the response does", + "not match the expected. The query remains registered for a later, valid, response to", + "be received and acted upon." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U64", + "staging_xcm:v3:multilocation:MultiLocation", + "option" + ], + "args_name": [ + "origin", + "query_id", + "expected_querier", + "maybe_actual_querier" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "MultiLocation", + "Option" + ] + }, + { + "lookup": "1f12", + "name": "VersionNotifyStarted", + "docs": [ + "A remote has requested XCM version change notification from us and we have honored it.", + "A version information message is sent to them and its cost is included." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "MultiLocation", + "MultiAssets", + "XcmHash" + ] + }, + { + "lookup": "1f13", + "name": "VersionNotifyRequested", + "docs": [ + "We have requested that a remote chain send us XCM version change notifications." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "MultiLocation", + "MultiAssets", + "XcmHash" + ] + }, + { + "lookup": "1f14", + "name": "VersionNotifyUnrequested", + "docs": [ + "We have requested that a remote chain stops sending us XCM version change", + "notifications." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "MultiLocation", + "MultiAssets", + "XcmHash" + ] + }, + { + "lookup": "1f15", + "name": "FeesPaid", + "docs": [ + "Fees were paid from a location for an operation (often for using `SendXcm`)." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "paying", + "fees" + ], + "args_type_name": [ + "MultiLocation", + "MultiAssets" + ] + }, + { + "lookup": "1f16", + "name": "AssetsClaimed", + "docs": [ + "Some assets have been claimed from an asset trap" + ], + "args": [ + "H256", + "staging_xcm:v3:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "hash", + "origin", + "assets" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + } + ], + "events_value": { + "type": 43 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message.", + "Perhaps a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `MultiLocation` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + }, + { + "name": "InvalidAsset", + "doc": [ + "Invalid asset for the operation." + ] + }, + { + "name": "LowBalance", + "doc": [ + "The owner does not own (all) of the asset that they wish to do the operation on." + ] + }, + { + "name": "TooManyLocks", + "doc": [ + "The asset owner has too many locks on the asset." + ] + }, + { + "name": "AccountNotSovereign", + "doc": [ + "The given account is not an identifiable sovereign account for any location." + ] + }, + { + "name": "FeesNotMet", + "doc": [ + "The operation required fees to be paid which the initiator could not meet." + ] + }, + { + "name": "LockNotFound", + "doc": [ + "A remote lock with the corresponding data could not be found." + ] + }, + { + "name": "InUse", + "doc": [ + "The unlock operation cannot succeed because there are still consumers of the lock." + ] + } + ], + "errors_value": { + "type": 284 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 32]", + "xcm:v3:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 32]", + "Outcome" + ] + } + ], + "events_value": { + "type": 99 + }, + "errors": null, + "errors_value": { + "type": 285 + }, + "index": 32 + }, + { + "name": "DmpQueue", + "prefix": "DmpQueue", + "storage": [ + { + "name": "Configuration", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 286 + }, + "fallback": "0x0700e40b540202000400", + "docs": [ + " The configuration." + ] + }, + { + "name": "PageIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_dmp_queue:PageIndexData", + "PlainTypeValue": 287 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The page index." + ] + }, + { + "name": "Pages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec>", + "keys_id": 4, + "value_id": 288 + } + }, + "fallback": "0x00", + "docs": [ + " The queue pages." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32Vec", + "keys_id": 11, + "value_id": 289 + } + }, + "fallback": "0x00", + "docs": [ + " The overweight messages." + ] + }, + { + "name": "CounterForOverweight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + "Counter for the related counted storage map" + ] + } + ], + "calls": [ + { + "lookup": "2100", + "name": "service_overweight", + "docs": [ + "See [`Pallet::service_overweight`]." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 290 + }, + "events": [ + { + "lookup": "2100", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "XcmHash" + ] + }, + { + "lookup": "2101", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "XcmHash" + ] + }, + { + "lookup": "2102", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome." + ], + "args": [ + "[U8; 32]", + "[U8; 32]", + "xcm:v3:traits:Outcome" + ], + "args_name": [ + "message_hash", + "message_id", + "outcome" + ], + "args_type_name": [ + "XcmHash", + "XcmHash", + "Outcome" + ] + }, + { + "lookup": "2103", + "name": "WeightExhausted", + "docs": [ + "The weight limit for handling downward messages was reached." + ], + "args": [ + "[U8; 32]", + "[U8; 32]", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "message_id", + "remaining_weight", + "required_weight" + ], + "args_type_name": [ + "XcmHash", + "XcmHash", + "Weight", + "Weight" + ] + }, + { + "lookup": "2104", + "name": "OverweightEnqueued", + "docs": [ + "Downward message is overweight and was placed in the overweight queue." + ], + "args": [ + "[U8; 32]", + "[U8; 32]", + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "message_id", + "overweight_index", + "required_weight" + ], + "args_type_name": [ + "XcmHash", + "XcmHash", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "2105", + "name": "OverweightServiced", + "docs": [ + "Downward message from the overweight queue was executed." + ], + "args": [ + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "overweight_index", + "weight_used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "2106", + "name": "MaxMessagesExhausted", + "docs": [ + "The maximum number of downward messages was reached." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "XcmHash" + ] + } + ], + "events_value": { + "type": 100 + }, + "errors": [ + { + "name": "Unknown", + "doc": [ + "The message index given is unknown." + ] + }, + { + "name": "OverLimit", + "doc": [ + "The amount of weight given is possibly not enough for executing the message." + ] + } + ], + "errors_value": { + "type": 291 + }, + "index": 33 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "See [`Pallet::batch`]." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "See [`Pallet::as_derivative`]." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "See [`Pallet::batch_all`]." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "See [`Pallet::dispatch_as`]." + ], + "args": [ + { + "name": "as_origin", + "type": "asset_hub_polkadot_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2804", + "name": "force_batch", + "docs": [ + "See [`Pallet::force_batch`]." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2805", + "name": "with_weight", + "docs": [ + "See [`Pallet::with_weight`]." + ], + "args": [ + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 292 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "BatchCompletedWithErrors", + "docs": [ + "Batch of dispatches completed but has errors." + ], + "args": null + }, + { + "lookup": "2803", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2804", + "name": "ItemFailed", + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ], + "args": [ + "sp_runtime:DispatchError" + ], + "args_name": [ + "error" + ], + "args_type_name": [ + "DispatchError" + ] + }, + { + "lookup": "2805", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 101 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 334 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 335, + "value_id": 336 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "See [`Pallet::as_multi_threshold_1`]." + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "See [`Pallet::as_multi`]." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "See [`Pallet::approve_as_multi`]." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "See [`Pallet::cancel_as_multi`]." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 295 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 104 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00dbbb77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "00d43000000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U32", + "type_value": 4, + "constants_value": "64000000", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 338 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@340U128", + "keys_id": 0, + "value_id": 339 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@344U128", + "keys_id": 0, + "value_id": 343 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "See [`Pallet::proxy`]." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "See [`Pallet::add_proxy`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "See [`Pallet::remove_proxy`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "See [`Pallet::remove_proxies`]." + ], + "args": null + }, + { + "lookup": "2a04", + "name": "create_pure", + "docs": [ + "See [`Pallet::create_pure`]." + ], + "args": [ + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_pure", + "docs": [ + "See [`Pallet::kill_pure`]." + ], + "args": [ + { + "name": "spawner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumberFor" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "See [`Pallet::announce`]." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "See [`Pallet::remove_announcement`]." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "See [`Pallet::reject_announcement`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "See [`Pallet::proxy_announced`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + } + ], + "calls_value": { + "type": 297 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "PureCreated", + "docs": [ + "A pure account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U16" + ], + "args_name": [ + "pure", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumberFor" + ] + }, + { + "lookup": "2a04", + "name": "ProxyRemoved", + "docs": [ + "A proxy was removed." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumberFor" + ] + } + ], + "events_value": { + "type": 106 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "009d7277000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "a05a3200000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00d27e77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "40b56400000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 347 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 348 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 350, + "value_id": 351 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 354, + "value_id": 355 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata@356", + "keys_id": 4, + "value_id": 356 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "start_destroy", + "docs": [ + "See [`Pallet::start_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3203", + "name": "destroy_accounts", + "docs": [ + "See [`Pallet::destroy_accounts`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3204", + "name": "destroy_approvals", + "docs": [ + "See [`Pallet::destroy_approvals`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3205", + "name": "finish_destroy", + "docs": [ + "See [`Pallet::finish_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3206", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3209", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320a", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320b", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320c", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320d", + "name": "freeze_asset", + "docs": [ + "See [`Pallet::freeze_asset`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320e", + "name": "thaw_asset", + "docs": [ + "See [`Pallet::thaw_asset`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320f", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3210", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3211", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3212", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3213", + "name": "force_set_metadata", + "docs": [ + "See [`Pallet::force_set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3214", + "name": "force_clear_metadata", + "docs": [ + "See [`Pallet::force_clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3215", + "name": "force_asset_status", + "docs": [ + "See [`Pallet::force_asset_status`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3216", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3218", + "name": "force_cancel_approval", + "docs": [ + "See [`Pallet::force_cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3219", + "name": "transfer_approved", + "docs": [ + "See [`Pallet::transfer_approved`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321a", + "name": "touch", + "docs": [ + "See [`Pallet::touch`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "321b", + "name": "refund", + "docs": [ + "See [`Pallet::refund`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "321c", + "name": "set_min_balance", + "docs": [ + "See [`Pallet::set_min_balance`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321d", + "name": "touch_other", + "docs": [ + "See [`Pallet::touch_other`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "321e", + "name": "refund_other", + "docs": [ + "See [`Pallet::refund_other`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "321f", + "name": "block", + "docs": [ + "See [`Pallet::block`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 299 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3210", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3211", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3212", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3213", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3214", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3215", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "U32", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3216", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3217", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + } + ], + "events_value": { + "type": 109 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + } + ], + "errors_value": { + "type": 358 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionDetails", + "keys_id": 4, + "value_id": 359 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 360, + "value_id": 103 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 361, + "value_id": 103 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemDetails", + "keys_id": 127, + "value_id": 362 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionMetadata", + "keys_id": 4, + "value_id": 363 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemMetadata", + "keys_id": 127, + "value_id": 364 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 365, + "value_id": 366 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 127, + "value_id": 367 + } + }, + "fallback": "0x00", + "docs": [ + " Price of an asset instance." + ] + }, + { + "name": "CollectionMaxSupply", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U32", + "keys_id": 4, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " Keeps track of the number of items a collection might have." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "See [`Pallet::destroy`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "See [`Pallet::redeposit`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_collection", + "docs": [ + "See [`Pallet::freeze_collection`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_collection", + "docs": [ + "See [`Pallet::thaw_collection`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "330f", + "name": "force_item_status", + "docs": [ + "See [`Pallet::force_item_status`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "See [`Pallet::set_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "See [`Pallet::clear_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3314", + "name": "set_collection_metadata", + "docs": [ + "See [`Pallet::set_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_collection_metadata", + "docs": [ + "See [`Pallet::clear_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "3316", + "name": "set_accept_ownership", + "docs": [ + "See [`Pallet::set_accept_ownership`]." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3317", + "name": "set_collection_max_supply", + "docs": [ + "See [`Pallet::set_collection_max_supply`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "3318", + "name": "set_price", + "docs": [ + "See [`Pallet::set_price`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3319", + "name": "buy_item", + "docs": [ + "See [`Pallet::buy_item`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + } + ], + "calls_value": { + "type": 300 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some `item` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some `item` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3308", + "name": "CollectionFrozen", + "docs": [ + "Some `collection` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3309", + "name": "CollectionThawed", + "docs": [ + "Some `collection` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "ItemStatusChanged", + "docs": [ + "A `collection` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330f", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "item", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec" + ] + }, + { + "lookup": "3316", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "3317", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "3318", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the instance." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "3319", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the instance was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "331a", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + } + ], + "events_value": { + "type": 110 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The item ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The item or collection is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership of the collection is acceptable." + ] + }, + { + "name": "Locked", + "doc": [ + "The item is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyAlreadySet", + "doc": [ + "The max supply has already been set." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less to the amount of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + } + ], + "errors_value": { + "type": 368 + }, + "index": 51 + }, + { + "name": "Nfts", + "prefix": "Nfts", + "storage": [ + { + "name": "Collection", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionDetails", + "keys_id": 4, + "value_id": 369 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 360, + "value_id": 103 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "CollectionAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 361, + "value_id": 103 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "CollectionRoleOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "U8", + "keys_id": 350, + "value_id": 370 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details.", + " Stores collection roles as per account." + ] + }, + { + "name": "Item", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:ItemDetails", + "keys_id": 127, + "value_id": 372 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "CollectionMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionMetadata", + "keys_id": 4, + "value_id": 378 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "ItemMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:ItemMetadata", + "keys_id": 127, + "value_id": 379 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "pallet_nfts:types:AttributeNamespace", + "Vec" + ], + "value": "Tuple:Vecpallet_nfts:types:AttributeDeposit", + "keys_id": 381, + "value_id": 382 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 127, + "value_id": 367 + } + }, + "fallback": "0x00", + "docs": [ + " A price of an item." + ] + }, + { + "name": "ItemAttributesApprovalsOf", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 127, + "value_id": 384 + } + }, + "fallback": "0x00", + "docs": [ + " Item attribute approvals." + ] + }, + { + "name": "NextCollectionId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Stores the `CollectionId` that is going to be used for the next collection.", + " This gets incremented whenever a new collection is created." + ] + }, + { + "name": "PendingSwapOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:PendingSwap", + "keys_id": 127, + "value_id": 386 + } + }, + "fallback": "0x00", + "docs": [ + " Handles all the pending swaps." + ] + }, + { + "name": "CollectionConfigOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionConfig", + "keys_id": 4, + "value_id": 305 + } + }, + "fallback": "0x00", + "docs": [ + " Config of a collection." + ] + }, + { + "name": "ItemConfigOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "U64", + "keys_id": 127, + "value_id": 315 + } + }, + "fallback": "0x00", + "docs": [ + " Config of an item." + ] + } + ], + "calls": [ + { + "lookup": "3400", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "3401", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "3402", + "name": "destroy", + "docs": [ + "See [`Pallet::destroy`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_nfts:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3403", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "mint_to", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "witness_data", + "type": "option", + "type_name": "Option>" + } + ] + }, + { + "lookup": "3404", + "name": "force_mint", + "docs": [ + "See [`Pallet::force_mint`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "mint_to", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "item_config", + "type": "U64", + "type_name": "ItemConfig" + } + ] + }, + { + "lookup": "3405", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3406", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3407", + "name": "redeposit", + "docs": [ + "See [`Pallet::redeposit`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3408", + "name": "lock_item_transfer", + "docs": [ + "See [`Pallet::lock_item_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3409", + "name": "unlock_item_transfer", + "docs": [ + "See [`Pallet::unlock_item_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "340a", + "name": "lock_collection", + "docs": [ + "See [`Pallet::lock_collection`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "lock_settings", + "type": "U64", + "type_name": "CollectionSettings" + } + ] + }, + { + "lookup": "340b", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "340c", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "option", + "type_name": "Option" + }, + { + "name": "admin", + "type": "option", + "type_name": "Option" + }, + { + "name": "freezer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "340d", + "name": "force_collection_owner", + "docs": [ + "See [`Pallet::force_collection_owner`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "340e", + "name": "force_collection_config", + "docs": [ + "See [`Pallet::force_collection_config`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "340f", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "maybe_deadline", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3410", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3411", + "name": "clear_all_transfer_approvals", + "docs": [ + "See [`Pallet::clear_all_transfer_approvals`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3412", + "name": "lock_item_properties", + "docs": [ + "See [`Pallet::lock_item_properties`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "lock_metadata", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "lock_attributes", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3413", + "name": "set_attribute", + "docs": [ + "See [`Pallet::set_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3414", + "name": "force_set_attribute", + "docs": [ + "See [`Pallet::force_set_attribute`]." + ], + "args": [ + { + "name": "set_as", + "type": "option", + "type_name": "Option" + }, + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3415", + "name": "clear_attribute", + "docs": [ + "See [`Pallet::clear_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3416", + "name": "approve_item_attributes", + "docs": [ + "See [`Pallet::approve_item_attributes`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3417", + "name": "cancel_item_attributes_approval", + "docs": [ + "See [`Pallet::cancel_item_attributes_approval`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "witness", + "type": "U32", + "type_name": "CancelAttributesApprovalWitness" + } + ] + }, + { + "lookup": "3418", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3419", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "341a", + "name": "set_collection_metadata", + "docs": [ + "See [`Pallet::set_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "341b", + "name": "clear_collection_metadata", + "docs": [ + "See [`Pallet::clear_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "341c", + "name": "set_accept_ownership", + "docs": [ + "See [`Pallet::set_accept_ownership`]." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "341d", + "name": "set_collection_max_supply", + "docs": [ + "See [`Pallet::set_collection_max_supply`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "341e", + "name": "update_mint_settings", + "docs": [ + "See [`Pallet::update_mint_settings`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "mint_settings", + "type": "pallet_nfts:types:MintSettings", + "type_name": "MintSettings" + } + ] + }, + { + "lookup": "341f", + "name": "set_price", + "docs": [ + "See [`Pallet::set_price`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3420", + "name": "buy_item", + "docs": [ + "See [`Pallet::buy_item`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + }, + { + "lookup": "3421", + "name": "pay_tips", + "docs": [ + "See [`Pallet::pay_tips`]." + ], + "args": [ + { + "name": "tips", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3422", + "name": "create_swap", + "docs": [ + "See [`Pallet::create_swap`]." + ], + "args": [ + { + "name": "offered_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "offered_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "desired_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_desired_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "maybe_price", + "type": "option", + "type_name": "Option>" + }, + { + "name": "duration", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "3423", + "name": "cancel_swap", + "docs": [ + "See [`Pallet::cancel_swap`]." + ], + "args": [ + { + "name": "offered_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "offered_item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3424", + "name": "claim_swap", + "docs": [ + "See [`Pallet::claim_swap`]." + ], + "args": [ + { + "name": "send_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "send_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "receive_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "receive_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "witness_price", + "type": "option", + "type_name": "Option>" + } + ] + }, + { + "lookup": "3425", + "name": "mint_pre_signed", + "docs": [ + "See [`Pallet::mint_pre_signed`]." + ], + "args": [ + { + "name": "mint_data", + "type": "pallet_nfts:types:PreSignedMint", + "type_name": "Box" + }, + { + "name": "signature", + "type": "sp_runtime:MultiSignature", + "type_name": "OffchainSignature" + }, + { + "name": "signer", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3426", + "name": "set_attributes_pre_signed", + "docs": [ + "See [`Pallet::set_attributes_pre_signed`]." + ], + "args": [ + { + "name": "data", + "type": "pallet_nfts:types:PreSignedAttributes", + "type_name": "PreSignedAttributesOf" + }, + { + "name": "signature", + "type": "sp_runtime:MultiSignature", + "type_name": "OffchainSignature" + }, + { + "name": "signer", + "type": "AccountId", + "type_name": "AccountId" + } + ] + } + ], + "calls_value": { + "type": 304 + }, + "events": [ + { + "lookup": "3400", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3401", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3402", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3403", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3404", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3405", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3406", + "name": "ItemTransferLocked", + "docs": [ + "An `item` became non-transferable." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3407", + "name": "ItemTransferUnlocked", + "docs": [ + "An `item` became transferable." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3408", + "name": "ItemPropertiesLocked", + "docs": [ + "`item` metadata or attributes were locked." + ], + "args": [ + "U32", + "U32", + "Bool", + "Bool" + ], + "args_name": [ + "collection", + "item", + "lock_metadata", + "lock_attributes" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "bool", + "bool" + ] + }, + { + "lookup": "3409", + "name": "CollectionLocked", + "docs": [ + "Some `collection` was locked." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "340a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "340b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "option", + "option", + "option" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "Option", + "Option", + "Option" + ] + }, + { + "lookup": "340c", + "name": "TransferApproved", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId", + "option" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId", + "Option" + ] + }, + { + "lookup": "340d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "340e", + "name": "AllApprovalsCancelled", + "docs": [ + "All approvals of an item got cancelled." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "340f", + "name": "CollectionConfigChanged", + "docs": [ + "A `collection` has had its config changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3410", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "data" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec" + ] + }, + { + "lookup": "3411", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3412", + "name": "ItemMetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec" + ], + "args_name": [ + "collection", + "item", + "data" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec" + ] + }, + { + "lookup": "3413", + "name": "ItemMetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3414", + "name": "Redeposited", + "docs": [ + "The deposit for a set of `item`s within a `collection` has been updated." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3415", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec", + "AttributeNamespace" + ] + }, + { + "lookup": "3416", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "AttributeNamespace" + ] + }, + { + "lookup": "3417", + "name": "ItemAttributesApprovalAdded", + "docs": [ + "A new approval to modify item attributes was added." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3418", + "name": "ItemAttributesApprovalRemoved", + "docs": [ + "A new approval to modify item attributes was removed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3419", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "341a", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "341b", + "name": "CollectionMintSettingsUpdated", + "docs": [ + "Mint settings for a collection had changed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "341c", + "name": "NextCollectionIdIncremented", + "docs": [ + "Event gets emitted when the `NextCollectionId` gets incremented." + ], + "args": [ + "option" + ], + "args_name": [ + "next_id" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "341d", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the item." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "341e", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the item was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "341f", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3420", + "name": "TipSent", + "docs": [ + "A tip was sent." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "collection", + "item", + "sender", + "receiver", + "amount" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId", + "DepositBalanceOf" + ] + }, + { + "lookup": "3421", + "name": "SwapCreated", + "docs": [ + "An `item` swap intent was created." + ], + "args": [ + "U32", + "U32", + "U32", + "option", + "option", + "U32" + ], + "args_name": [ + "offered_collection", + "offered_item", + "desired_collection", + "desired_item", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "CollectionId", + "Option", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3422", + "name": "SwapCancelled", + "docs": [ + "The swap was cancelled." + ], + "args": [ + "U32", + "U32", + "U32", + "option", + "option", + "U32" + ], + "args_name": [ + "offered_collection", + "offered_item", + "desired_collection", + "desired_item", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "CollectionId", + "Option", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3423", + "name": "SwapClaimed", + "docs": [ + "The swap has been claimed." + ], + "args": [ + "U32", + "U32", + "AccountId", + "U32", + "U32", + "AccountId", + "option", + "U32" + ], + "args_name": [ + "sent_collection", + "sent_item", + "sent_item_owner", + "received_collection", + "received_item", + "received_item_owner", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "CollectionId", + "ItemId", + "AccountId", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3424", + "name": "PreSignedAttributesSet", + "docs": [ + "New attributes have been set for an `item` of the `collection`." + ], + "args": [ + "U32", + "U32", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "item", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AttributeNamespace" + ] + }, + { + "lookup": "3425", + "name": "PalletAttributeSet", + "docs": [ + "A new attribute in the `Pallet` namespace was set for the `collection` or an `item`", + "within that `collection`." + ], + "args": [ + "U32", + "option", + "pallet_nfts:types:PalletAttributes", + "Vec" + ], + "args_name": [ + "collection", + "item", + "attribute", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "PalletAttributes", + "BoundedVec" + ] + } + ], + "events_value": { + "type": 116 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "00010000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "00010000", + "docs": [ + " The maximum length of an attribute value." + ] + }, + { + "name": "ApprovalsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "14000000", + "docs": [ + " The maximum approvals an item could have." + ] + }, + { + "name": "ItemAttributesApprovalsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "1e000000", + "docs": [ + " The maximum attributes approvals an item could have." + ] + }, + { + "name": "MaxTips", + "type": "U32", + "type_value": 4, + "constants_value": "0a000000", + "docs": [ + " The max number of tips a user could send." + ] + }, + { + "name": "MaxDeadlineDuration", + "type": "U32", + "type_value": 4, + "constants_value": "008d2700", + "docs": [ + " The max duration in blocks for deadlines." + ] + }, + { + "name": "MaxAttributesPerCall", + "type": "U32", + "type_value": 4, + "constants_value": "0a000000", + "docs": [ + " The max number of attributes a user could set per call." + ] + }, + { + "name": "Features", + "type": "U64", + "type_value": 387, + "constants_value": "0000000000000000", + "docs": [ + " Disables some of pallet's features." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "ApprovalExpired", + "doc": [ + "The approval had a deadline that expired, so the approval isn't valid anymore." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "The witness data given does not match the current state of the chain." + ] + }, + { + "name": "CollectionIdInUse", + "doc": [ + "Collection ID is already taken." + ] + }, + { + "name": "ItemsNonTransferable", + "doc": [ + "Items within that collection are non-transferable." + ] + }, + { + "name": "NotDelegate", + "doc": [ + "The provided account is not a delegate." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership acceptance of the collection." + ] + }, + { + "name": "ItemLocked", + "doc": [ + "The item is locked (non-transferable)." + ] + }, + { + "name": "LockedItemAttributes", + "doc": [ + "Item's attributes are locked." + ] + }, + { + "name": "LockedCollectionAttributes", + "doc": [ + "Collection's attributes are locked." + ] + }, + { + "name": "LockedItemMetadata", + "doc": [ + "Item's metadata is locked." + ] + }, + { + "name": "LockedCollectionMetadata", + "doc": [ + "Collection's metadata is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyLocked", + "doc": [ + "The max supply is locked and can't be changed." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less than the number of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "UnknownSwap", + "doc": [ + "Swap doesn't exist." + ] + }, + { + "name": "MetadataNotFound", + "doc": [ + "The given item has no metadata set." + ] + }, + { + "name": "AttributeNotFound", + "doc": [ + "The provided attribute can't be found." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + }, + { + "name": "ReachedApprovalLimit", + "doc": [ + "The item has reached its approval limit." + ] + }, + { + "name": "DeadlineExpired", + "doc": [ + "The deadline has already expired." + ] + }, + { + "name": "WrongDuration", + "doc": [ + "The duration provided should be less than or equal to `MaxDeadlineDuration`." + ] + }, + { + "name": "MethodDisabled", + "doc": [ + "The method is disabled by system settings." + ] + }, + { + "name": "WrongSetting", + "doc": [ + "The provided setting can't be set." + ] + }, + { + "name": "InconsistentItemConfig", + "doc": [ + "Item's config already exists and should be equal to the provided one." + ] + }, + { + "name": "NoConfig", + "doc": [ + "Config for a collection or an item can't be found." + ] + }, + { + "name": "RolesNotCleared", + "doc": [ + "Some roles were not cleared." + ] + }, + { + "name": "MintNotStarted", + "doc": [ + "Mint has not started yet." + ] + }, + { + "name": "MintEnded", + "doc": [ + "Mint has already ended." + ] + }, + { + "name": "AlreadyClaimed", + "doc": [ + "The provided Item was already used for claiming." + ] + }, + { + "name": "IncorrectData", + "doc": [ + "The provided data is incorrect." + ] + }, + { + "name": "WrongOrigin", + "doc": [ + "The extrinsic was sent by the wrong origin." + ] + }, + { + "name": "WrongSignature", + "doc": [ + "The provided signature is incorrect." + ] + }, + { + "name": "IncorrectMetadata", + "doc": [ + "The provided metadata might be too long." + ] + }, + { + "name": "MaxAttributesLimitReached", + "doc": [ + "Can't set more attributes per one call." + ] + }, + { + "name": "WrongNamespace", + "doc": [ + "The provided namespace isn't supported in this call." + ] + }, + { + "name": "CollectionNotEmpty", + "doc": [ + "Can't delete non-empty collections." + ] + }, + { + "name": "WitnessRequired", + "doc": [ + "The witness data should be provided." + ] + } + ], + "errors_value": { + "type": 389 + }, + "index": 52 + }, + { + "name": "ForeignAssets", + "prefix": "ForeignAssets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 45, + "value_id": 348 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 390, + "value_id": 351 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 391, + "value_id": 355 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "pallet_assets:types:AssetMetadata@392", + "keys_id": 45, + "value_id": 392 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3500", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3501", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3502", + "name": "start_destroy", + "docs": [ + "See [`Pallet::start_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3503", + "name": "destroy_accounts", + "docs": [ + "See [`Pallet::destroy_accounts`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3504", + "name": "destroy_approvals", + "docs": [ + "See [`Pallet::destroy_approvals`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3505", + "name": "finish_destroy", + "docs": [ + "See [`Pallet::finish_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3506", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3507", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3508", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3509", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "350a", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "350b", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "350c", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "350d", + "name": "freeze_asset", + "docs": [ + "See [`Pallet::freeze_asset`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "350e", + "name": "thaw_asset", + "docs": [ + "See [`Pallet::thaw_asset`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "350f", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3510", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3511", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3512", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3513", + "name": "force_set_metadata", + "docs": [ + "See [`Pallet::force_set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3514", + "name": "force_clear_metadata", + "docs": [ + "See [`Pallet::force_clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3515", + "name": "force_asset_status", + "docs": [ + "See [`Pallet::force_asset_status`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3516", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3517", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3518", + "name": "force_cancel_approval", + "docs": [ + "See [`Pallet::force_cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3519", + "name": "transfer_approved", + "docs": [ + "See [`Pallet::transfer_approved`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "351a", + "name": "touch", + "docs": [ + "See [`Pallet::touch`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "351b", + "name": "refund", + "docs": [ + "See [`Pallet::refund`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "351c", + "name": "set_min_balance", + "docs": [ + "See [`Pallet::set_min_balance`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "351d", + "name": "touch_other", + "docs": [ + "See [`Pallet::touch_other`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "351e", + "name": "refund_other", + "docs": [ + "See [`Pallet::refund_other`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "351f", + "name": "block", + "docs": [ + "See [`Pallet::block`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 328 + }, + "events": [ + { + "lookup": "3500", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3501", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3502", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3503", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3504", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3505", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3506", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3507", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3508", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3509", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "350b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "350c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "350f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3510", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3511", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3512", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3513", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3514", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3515", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3516", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3517", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + } + ], + "events_value": { + "type": 123 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + } + ], + "errors_value": { + "type": 394 + }, + "index": 53 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v1001002.json b/src/demo_substrate_events/abi/assethub/v1001002.json new file mode 100644 index 000000000..53df20b8f --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v1001002.json @@ -0,0 +1,13243 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:dispatch:PerDispatchClass@8", + "PlainTypeValue": 8 + }, + "fallback": "0x000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 12 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 12 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 14 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 18 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: The item is unbound and should therefore never be read on chain.", + " It could otherwise inflate the PoV size of a block.", + "", + " Events have a large in-memory size. Box the events to not go out-of-memory", + " just in case someone still reads them from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 12, + "value_id": 126 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(BlockNumberFor, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 128 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 124 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "remark", + "docs": [ + "See [`Pallet::remark`]." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0001", + "name": "set_heap_pages", + "docs": [ + "See [`Pallet::set_heap_pages`]." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0002", + "name": "set_code", + "docs": [ + "See [`Pallet::set_code`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0003", + "name": "set_code_without_checks", + "docs": [ + "See [`Pallet::set_code_without_checks`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_storage", + "docs": [ + "See [`Pallet::set_storage`]." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0005", + "name": "kill_storage", + "docs": [ + "See [`Pallet::kill_storage`]." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_prefix", + "docs": [ + "See [`Pallet::kill_prefix`]." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0007", + "name": "remark_with_event", + "docs": [ + "See [`Pallet::remark_with_event`]." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 130 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + } + ], + "events_value": { + "type": 21 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 134, + "constants_value": "0700f2052a0100070088526a74020040010265cd1d000107c0d22c76510200e000010700e6bd4f570200f0000100000265cd1d000107c074c1906e0200300101070088526a7402004001010700a2941a1d020050000265cd1d00000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:dispatch:PerDispatchClass@139", + "type_value": 138, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "00100000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "sp_weights:RuntimeDbWeight", + "type_value": 140, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 141, + "constants_value": "2473746174656d696e742473746174656d696e74010000002a460f000000000034dd718d5cc53262d401000000df6acb689907609b0400000037e397fc7c91f5e40200000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000f3ff14d5ab52705903000000de92b8a0426b9bf602000000ea93e3f16f3d696202000000fbc577b9d747efd6010000000e00000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 108, + "constants_value": "0000", + "docs": [ + " The designated SS58 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + } + ], + "errors_value": { + "type": 145 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "UnincludedSegment", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 146 + }, + "fallback": "0x00", + "docs": [ + " Latest included block descendants the runtime accepted. In other words, these are", + " ancestors of the currently executing block which have not been included in the observed", + " relay-chain state.", + "", + " The segment length is limited by the capacity returned from the [`ConsensusHook`] configured", + " in the pallet." + ] + }, + { + "name": "AggregatedUnincludedSegment", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:unincluded_segment:SegmentTracker", + "PlainTypeValue": 156 + }, + "fallback": "0x00", + "docs": [ + " Storage field that keeps track of bandwidth used by the unincluded segment along with the", + " latest HRMP watermark. Used for limiting the acceptance of new blocks with", + " respect to relay chain constraints." + ] + }, + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be", + " applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the", + " [`:code`][sp_core::storage::well_known_keys::CODE] which will result the next block process", + " with the new validation code. This concludes the upgrade process." + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v6:PersistedValidationData", + "PlainTypeValue": 157 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "LastRelayChainBlockNumber", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The relay chain block number associated with the last parachain block.", + "", + " This is updated in `on_finalize`." + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 159 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "UpgradeGoAhead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 154 + }, + "fallback": "0x00", + "docs": [ + " Optional upgrade go-ahead signal from the relay-chain.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelayStateProof", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 161 + }, + "fallback": "0x00", + "docs": [ + " The state proof for the last relay parent block.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 163 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v6:AbridgedHostConfiguration", + "PlainTypeValue": 168 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 170 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 171 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 174 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 133 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 133 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "UpwardDeliveryFeeFactor", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 176 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": [ + " The factor to multiply the base delivery fee by for UMP." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:CodeUpgradeAuthorization", + "PlainTypeValue": 177 + }, + "fallback": "0x00", + "docs": [ + " The next authorized upgrade, if there is one." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See `Pallet::set_custom_validation_head_data` for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "See [`Pallet::set_validation_data`]." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": [ + "See [`Pallet::sudo_send_upward_message`]." + ], + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": [ + "See [`Pallet::authorize_upgrade`]." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + }, + { + "name": "check_version", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": [ + "See [`Pallet::enact_authorized_upgrade`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 178 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "relay_chain_block_num" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade has been authorized." + ], + "args": [ + "H256" + ], + "args_name": [ + "code_hash" + ], + "args_type_name": [ + "Hash" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed." + ], + "args": [ + "U32" + ], + "args_name": [ + "count" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0105", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight." + ], + "args": [ + "sp_weights:weight_v2:Weight", + "H256" + ], + "args_name": [ + "weight_used", + "dmq_head" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + }, + { + "lookup": "0106", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option<[U8; 32]>" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + } + ], + "events_value": { + "type": 30 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending." + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function." + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run." + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block." + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block." + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 187 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " Whether the timestamp has been updated in this block.", + "", + " This value is updated to `true` upon successful submission of a timestamp by a node.", + " It is then checked at the end of each block execution in the `on_finalize` hook." + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "See [`Pallet::set`]." + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 188 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 11, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks.", + "", + " Be aware that this is different to the *expected* period that the block production", + " apparatus provides. Your chosen consensus system will generally work with this to", + " determine a sensible block time. For example, in the Aura pallet it will be double this", + " period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 42 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "InactiveIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units of outstanding deactivated balance in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:types:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 189 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 193 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances." + ] + }, + { + "name": "Holds", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 196 + } + }, + "fallback": "0x00", + "docs": [ + " Holds on account balances." + ] + }, + { + "name": "Freezes", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 200 + } + }, + "fallback": "0x00", + "docs": [ + " Freeze locks on account balances." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer_allow_death", + "docs": [ + "See [`Pallet::transfer_allow_death`]." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "See [`Pallet::transfer_all`]." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "See [`Pallet::force_unreserve`]." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a06", + "name": "upgrade_accounts", + "docs": [ + "See [`Pallet::upgrade_accounts`]." + ], + "args": [ + { + "name": "who", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0a08", + "name": "force_set_balance", + "docs": [ + "See [`Pallet::force_set_balance`]." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 203 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "free" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0a", + "name": "Minted", + "docs": [ + "Some amount was minted into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0b", + "name": "Burned", + "docs": [ + "Some amount was burned from an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0c", + "name": "Suspended", + "docs": [ + "Some amount was suspended from an account (it can be restored later)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0d", + "name": "Restored", + "docs": [ + "Some amount was restored into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0e", + "name": "Upgraded", + "docs": [ + "An account was upgraded." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "who" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0a0f", + "name": "Issued", + "docs": [ + "Total issuance was increased by `amount`, creating a credit to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a10", + "name": "Rescinded", + "docs": [ + "Total issuance was decreased by `amount`, creating a debt to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a11", + "name": "Locked", + "docs": [ + "Some balance was locked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a12", + "name": "Unlocked", + "docs": [ + "Some balance was unlocked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a13", + "name": "Frozen", + "docs": [ + "Some balance was frozen." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a14", + "name": "Thawed", + "docs": [ + "Some balance was thawed." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 32 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!", + "", + " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for", + " this pallet. However, you do so at your own risk: this will open up a major DoS vector.", + " In case you have multiple sources of provider references, you may also get unexpected", + " behaviour if you set this to zero.", + "", + " Bottom line: Do yourself a favour and make it at least one!" + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + }, + { + "name": "MaxHolds", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The maximum number of holds that can exist on an account at any time." + ] + }, + { + "name": "MaxFreezes", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The maximum number of individual freeze locks that can exist on an account at any time." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value." + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal." + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value." + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit." + ] + }, + { + "name": "Expendability", + "doc": [ + "Transfer/payment would kill account." + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account." + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist." + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed `MaxReserves`." + ] + }, + { + "name": "TooManyHolds", + "doc": [ + "Number of holds exceed `MaxHolds`." + ] + }, + { + "name": "TooManyFreezes", + "doc": [ + "Number of freezes exceed `MaxFreezes`." + ] + } + ], + "errors_value": { + "type": 206 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 176 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 207 + }, + "fallback": "0x00", + "docs": null + } + ], + "events": [ + { + "lookup": "0b00", + "name": "TransactionFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who`." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "actual_fee", + "tip" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf" + ] + } + ], + "events_value": { + "type": 34 + }, + "constants": [ + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "0c00", + "name": "AssetTxFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who` in an asset `asset_id`." + ], + "args": [ + "AccountId", + "U128", + "U128", + "option" + ], + "args_name": [ + "who", + "actual_fee", + "tip", + "asset_id" + ], + "args_type_name": [ + "AccountId", + "AssetBalanceOf", + "AssetBalanceOf", + "Option" + ] + } + ], + "events_value": { + "type": 35 + }, + "errors": null, + "errors_value": null, + "index": 12 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 208 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, permissioned collators. This list must be sorted." + ] + }, + { + "name": "Candidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 209 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates. `Candidates` and `Invulnerables` should be", + " mutually exclusive." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "See [`Pallet::set_invulnerables`]." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "See [`Pallet::set_desired_candidates`]." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "See [`Pallet::set_candidacy_bond`]." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "See [`Pallet::register_as_candidate`]." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "See [`Pallet::leave_intent`]." + ], + "args": null + }, + { + "lookup": "1505", + "name": "add_invulnerable", + "docs": [ + "See [`Pallet::add_invulnerable`]." + ], + "args": [ + { + "name": "who", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "1506", + "name": "remove_invulnerable", + "docs": [ + "See [`Pallet::remove_invulnerable`]." + ], + "args": [ + { + "name": "who", + "type": "AccountId", + "type_name": "AccountId" + } + ] + } + ], + "calls_value": { + "type": 212 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": [ + "New Invulnerables were set." + ], + "args": [ + "Vec" + ], + "args_name": [ + "invulnerables" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "InvulnerableAdded", + "docs": [ + "A new Invulnerable was added." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1502", + "name": "InvulnerableRemoved", + "docs": [ + "An Invulnerable was removed." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1503", + "name": "NewDesiredCandidates", + "docs": [ + "The number of desired candidates was set." + ], + "args": [ + "U32" + ], + "args_name": [ + "desired_candidates" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1504", + "name": "NewCandidacyBond", + "docs": [ + "The candidacy bond was set." + ], + "args": [ + "U128" + ], + "args_name": [ + "bond_amount" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1505", + "name": "CandidateAdded", + "docs": [ + "A new candidate joined." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1506", + "name": "CandidateRemoved", + "docs": [ + "A candidate was removed." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1507", + "name": "InvalidInvulnerableSkipped", + "docs": [ + "An account was unable to be added to the Invulnerables because they did not have keys", + "registered. Other Invulnerables may have been set." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 37 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "The pallet has too many candidates." + ] + }, + { + "name": "TooFewEligibleCollators", + "doc": [ + "Leaving would result in too few candidates." + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "Account is already a candidate." + ] + }, + { + "name": "NotCandidate", + "doc": [ + "Account is not a candidate." + ] + }, + { + "name": "TooManyInvulnerables", + "doc": [ + "There are too many Invulnerables." + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "Account is already an Invulnerable." + ] + }, + { + "name": "NotInvulnerable", + "doc": [ + "Account is not an Invulnerable." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID." + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered." + ] + } + ], + "errors_value": { + "type": 213 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 38 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 214 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 112 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 216 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 219, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "See [`Pallet::set_keys`]." + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "See [`Pallet::purge_keys`]." + ], + "args": null + } + ], + "calls_value": { + "type": 221 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 39 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 222 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 223 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 225 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 223 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will", + " always be updated to the latest AuRa authorities in `on_finalize`." + ] + }, + { + "name": "SlotInfo", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Tuple:U64U32", + "PlainTypeValue": 226 + }, + "fallback": "0x00", + "docs": [ + " Current slot paired with a number of authored blocks.", + "", + " Updated on each block initialization." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 227 + }, + "fallback": "0x00", + "docs": [ + " Status of the inbound XCMP channels." + ] + }, + { + "name": "InboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 233, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Inbound aggregate XCMP messages. It can only be one per ParaId/block." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 234 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 237, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 42, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 238 + }, + "fallback": "0x020000000500000001000000821a06000008000700c817a80402000400", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32U32Vec", + "keys_id": 11, + "value_id": 239 + } + }, + "fallback": "0x00", + "docs": [ + " The messages that exceeded max individual message weight budget.", + "", + " These message stay in this storage map until they are manually dispatched via", + " `service_overweight`." + ] + }, + { + "name": "CounterForOverweight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + "Counter for the related counted storage map" + ] + }, + { + "name": "OverweightCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The number of overweight messages ever recorded in `Overweight`. Also doubles as the next", + " available free overweight index." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + }, + { + "name": "DeliveryFeeFactor", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U128", + "keys_id": 42, + "value_id": 176 + } + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": [ + " The factor to multiply the base delivery fee by." + ] + } + ], + "calls": [ + { + "lookup": "1e00", + "name": "service_overweight", + "docs": [ + "See [`Pallet::service_overweight`]." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "See [`Pallet::suspend_xcm_execution`]." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "See [`Pallet::resume_xcm_execution`]." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "See [`Pallet::update_suspend_threshold`]." + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "See [`Pallet::update_drop_threshold`]." + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "See [`Pallet::update_resume_threshold`]." + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e06", + "name": "update_threshold_weight", + "docs": [ + "See [`Pallet::update_threshold_weight`]." + ], + "args": [ + { + "name": "new", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e07", + "name": "update_weight_restrict_decay", + "docs": [ + "See [`Pallet::update_weight_restrict_decay`]." + ], + "args": [ + { + "name": "new", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e08", + "name": "update_xcmp_max_individual_weight", + "docs": [ + "See [`Pallet::update_xcmp_max_individual_weight`]." + ], + "args": [ + { + "name": "new", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 240 + }, + "events": [ + { + "lookup": "1e00", + "name": "Success", + "docs": [ + "Some XCM was executed ok." + ], + "args": [ + "[U8; 32]", + "[U8; 32]", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "message_id", + "weight" + ], + "args_type_name": [ + "XcmHash", + "XcmHash", + "Weight" + ] + }, + { + "lookup": "1e01", + "name": "Fail", + "docs": [ + "Some XCM failed." + ], + "args": [ + "[U8; 32]", + "[U8; 32]", + "xcm:v3:traits:Error", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "message_id", + "error", + "weight" + ], + "args_type_name": [ + "XcmHash", + "XcmHash", + "XcmError", + "Weight" + ] + }, + { + "lookup": "1e02", + "name": "BadVersion", + "docs": [ + "Bad XCM version used." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "XcmHash" + ] + }, + { + "lookup": "1e03", + "name": "BadFormat", + "docs": [ + "Bad XCM format used." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "XcmHash" + ] + }, + { + "lookup": "1e04", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "XcmHash" + ] + }, + { + "lookup": "1e05", + "name": "OverweightEnqueued", + "docs": [ + "An XCM exceeded the individual message weight budget." + ], + "args": [ + "U32", + "U32", + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "sender", + "sent_at", + "index", + "required" + ], + "args_type_name": [ + "ParaId", + "RelayBlockNumber", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "1e06", + "name": "OverweightServiced", + "docs": [ + "An XCM from the overweight queue was executed with the given actual weight used." + ], + "args": [ + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "index", + "used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 40 + }, + "errors": [ + { + "name": "FailedToSend", + "doc": [ + "Failed to send XCM message." + ] + }, + { + "name": "BadXcmOrigin", + "doc": [ + "Bad XCM origin." + ] + }, + { + "name": "BadXcm", + "doc": [ + "Bad XCM data." + ] + }, + { + "name": "BadOverweightIndex", + "doc": [ + "Bad overweight index." + ] + }, + { + "name": "WeightOverLimit", + "doc": [ + "Provided weight is possibly not enough to execute the message." + ] + } + ], + "errors_value": { + "type": 241 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 11, + "value_id": 242 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 12, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U32", + "keys_id": 251, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U64", + "keys_id": 251, + "value_id": 11 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "Tuple:U64sp_weights:weight_v2:WeightU32", + "keys_id": 251, + "value_id": 252 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 253 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 256 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + }, + { + "name": "RemoteLockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "xcm:VersionedAssetId" + ], + "value": "pallet_xcm:pallet:RemoteLockedFungibleRecord", + "keys_id": 258, + "value_id": 260 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on a remote chain." + ] + }, + { + "name": "LockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 264 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on this chain." + ] + }, + { + "name": "XcmExecutionSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " Global suspension state of the XCM executor." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": [ + "See [`Pallet::send`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@268", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "See [`Pallet::teleport_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "See [`Pallet::reserve_transfer_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "See [`Pallet::execute`]." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@276", + "type_name": "Box::RuntimeCall>>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "See [`Pallet::force_xcm_version`]." + ], + "args": [ + { + "name": "location", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "See [`Pallet::force_default_xcm_version`]." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "See [`Pallet::force_subscribe_version_notify`]." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "See [`Pallet::force_unsubscribe_version_notify`]." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "See [`Pallet::limited_reserve_transfer_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "See [`Pallet::limited_teleport_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f0a", + "name": "force_suspension", + "docs": [ + "See [`Pallet::force_suspension`]." + ], + "args": [ + { + "name": "suspended", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 267 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted." + ], + "args": [ + "xcm:v3:traits:Outcome" + ], + "args_name": [ + "outcome" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "staging_xcm:v3:multilocation:MultiLocation", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "origin", + "destination", + "message", + "message_id" + ], + "args_type_name": [ + "MultiLocation", + "MultiLocation", + "Xcm<()>", + "XcmHash" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call." + ], + "args": [ + "U64", + "xcm:v3:Response" + ], + "args_name": [ + "query_id", + "response" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification", + "could not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result." + ], + "args": [ + "U64", + "U8", + "U8", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index", + "actual_weight", + "max_budgeted_weight" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U64", + "option" + ], + "args_name": [ + "origin", + "query_id", + "expected_location" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed." + ], + "args": [ + "U64" + ], + "args_name": [ + "query_id" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap." + ], + "args": [ + "H256", + "staging_xcm:v3:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "hash", + "origin", + "assets" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "The cost of sending it (borne by the chain) is included." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "result", + "cost", + "message_id" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion", + "MultiAssets", + "XcmHash" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "location", + "version" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U64", + "xcm:v3:traits:Error" + ], + "args_name": [ + "location", + "query_id", + "error" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format." + ], + "args": [ + "xcm:VersionedMultiLocation", + "U64" + ], + "args_name": [ + "location", + "query_id" + ], + "args_type_name": [ + "VersionedMultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f10", + "name": "InvalidQuerierVersion", + "docs": [ + "Expected query response has been received but the expected querier location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f11", + "name": "InvalidQuerier", + "docs": [ + "Expected query response has been received but the querier location of the response does", + "not match the expected. The query remains registered for a later, valid, response to", + "be received and acted upon." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U64", + "staging_xcm:v3:multilocation:MultiLocation", + "option" + ], + "args_name": [ + "origin", + "query_id", + "expected_querier", + "maybe_actual_querier" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "MultiLocation", + "Option" + ] + }, + { + "lookup": "1f12", + "name": "VersionNotifyStarted", + "docs": [ + "A remote has requested XCM version change notification from us and we have honored it.", + "A version information message is sent to them and its cost is included." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "MultiLocation", + "MultiAssets", + "XcmHash" + ] + }, + { + "lookup": "1f13", + "name": "VersionNotifyRequested", + "docs": [ + "We have requested that a remote chain send us XCM version change notifications." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "MultiLocation", + "MultiAssets", + "XcmHash" + ] + }, + { + "lookup": "1f14", + "name": "VersionNotifyUnrequested", + "docs": [ + "We have requested that a remote chain stops sending us XCM version change", + "notifications." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "MultiLocation", + "MultiAssets", + "XcmHash" + ] + }, + { + "lookup": "1f15", + "name": "FeesPaid", + "docs": [ + "Fees were paid from a location for an operation (often for using `SendXcm`)." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "paying", + "fees" + ], + "args_type_name": [ + "MultiLocation", + "MultiAssets" + ] + }, + { + "lookup": "1f16", + "name": "AssetsClaimed", + "docs": [ + "Some assets have been claimed from an asset trap" + ], + "args": [ + "H256", + "staging_xcm:v3:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "hash", + "origin", + "assets" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + } + ], + "events_value": { + "type": 43 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message.", + "Perhaps a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `MultiLocation` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + }, + { + "name": "InvalidAsset", + "doc": [ + "Invalid asset for the operation." + ] + }, + { + "name": "LowBalance", + "doc": [ + "The owner does not own (all) of the asset that they wish to do the operation on." + ] + }, + { + "name": "TooManyLocks", + "doc": [ + "The asset owner has too many locks on the asset." + ] + }, + { + "name": "AccountNotSovereign", + "doc": [ + "The given account is not an identifiable sovereign account for any location." + ] + }, + { + "name": "FeesNotMet", + "doc": [ + "The operation required fees to be paid which the initiator could not meet." + ] + }, + { + "name": "LockNotFound", + "doc": [ + "A remote lock with the corresponding data could not be found." + ] + }, + { + "name": "InUse", + "doc": [ + "The unlock operation cannot succeed because there are still consumers of the lock." + ] + } + ], + "errors_value": { + "type": 284 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 32]", + "xcm:v3:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 32]", + "Outcome" + ] + } + ], + "events_value": { + "type": 99 + }, + "errors": null, + "errors_value": { + "type": 285 + }, + "index": 32 + }, + { + "name": "DmpQueue", + "prefix": "DmpQueue", + "storage": [ + { + "name": "Configuration", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 286 + }, + "fallback": "0x0700e40b540202000400", + "docs": [ + " The configuration." + ] + }, + { + "name": "PageIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_dmp_queue:PageIndexData", + "PlainTypeValue": 287 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The page index." + ] + }, + { + "name": "Pages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec>", + "keys_id": 4, + "value_id": 288 + } + }, + "fallback": "0x00", + "docs": [ + " The queue pages." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32Vec", + "keys_id": 11, + "value_id": 289 + } + }, + "fallback": "0x00", + "docs": [ + " The overweight messages." + ] + }, + { + "name": "CounterForOverweight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + "Counter for the related counted storage map" + ] + } + ], + "calls": [ + { + "lookup": "2100", + "name": "service_overweight", + "docs": [ + "See [`Pallet::service_overweight`]." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 290 + }, + "events": [ + { + "lookup": "2100", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "XcmHash" + ] + }, + { + "lookup": "2101", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "XcmHash" + ] + }, + { + "lookup": "2102", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome." + ], + "args": [ + "[U8; 32]", + "[U8; 32]", + "xcm:v3:traits:Outcome" + ], + "args_name": [ + "message_hash", + "message_id", + "outcome" + ], + "args_type_name": [ + "XcmHash", + "XcmHash", + "Outcome" + ] + }, + { + "lookup": "2103", + "name": "WeightExhausted", + "docs": [ + "The weight limit for handling downward messages was reached." + ], + "args": [ + "[U8; 32]", + "[U8; 32]", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "message_id", + "remaining_weight", + "required_weight" + ], + "args_type_name": [ + "XcmHash", + "XcmHash", + "Weight", + "Weight" + ] + }, + { + "lookup": "2104", + "name": "OverweightEnqueued", + "docs": [ + "Downward message is overweight and was placed in the overweight queue." + ], + "args": [ + "[U8; 32]", + "[U8; 32]", + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "message_id", + "overweight_index", + "required_weight" + ], + "args_type_name": [ + "XcmHash", + "XcmHash", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "2105", + "name": "OverweightServiced", + "docs": [ + "Downward message from the overweight queue was executed." + ], + "args": [ + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "overweight_index", + "weight_used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "2106", + "name": "MaxMessagesExhausted", + "docs": [ + "The maximum number of downward messages was reached." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "XcmHash" + ] + } + ], + "events_value": { + "type": 100 + }, + "errors": [ + { + "name": "Unknown", + "doc": [ + "The message index given is unknown." + ] + }, + { + "name": "OverLimit", + "doc": [ + "The amount of weight given is possibly not enough for executing the message." + ] + } + ], + "errors_value": { + "type": 291 + }, + "index": 33 + }, + { + "name": "ToKusamaXcmRouter", + "prefix": "ToKusamaXcmRouter", + "storage": [ + { + "name": "Bridge", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "bp_xcm_bridge_hub_router:BridgeState", + "PlainTypeValue": 292 + }, + "fallback": "0x000064a7b3b6e00d000000000000000000", + "docs": [ + " Bridge that we are using.", + "", + " **bridges-v1** assumptions: all outbound messages through this router are using single lane", + " and to single remote consensus. If there is some other remote consensus that uses the same", + " bridge hub, the separate pallet instance shall be used, In `v2` we'll have all required", + " primitives (lane-id aka bridge-id, derived from XCM locations) to support multiple bridges", + " by the same pallet instance." + ] + } + ], + "calls": [ + { + "lookup": "2200", + "name": "report_bridge_status", + "docs": [ + "See [`Pallet::report_bridge_status`]." + ], + "args": [ + { + "name": "bridge_id", + "type": "H256", + "type_name": "H256" + }, + { + "name": "is_congested", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 293 + }, + "errors": null, + "errors_value": null, + "index": 34 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "See [`Pallet::batch`]." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "See [`Pallet::as_derivative`]." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "See [`Pallet::batch_all`]." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "See [`Pallet::dispatch_as`]." + ], + "args": [ + { + "name": "as_origin", + "type": "asset_hub_polkadot_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2804", + "name": "force_batch", + "docs": [ + "See [`Pallet::force_batch`]." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2805", + "name": "with_weight", + "docs": [ + "See [`Pallet::with_weight`]." + ], + "args": [ + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 294 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "BatchCompletedWithErrors", + "docs": [ + "Batch of dispatches completed but has errors." + ], + "args": null + }, + { + "lookup": "2803", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2804", + "name": "ItemFailed", + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ], + "args": [ + "sp_runtime:DispatchError" + ], + "args_name": [ + "error" + ], + "args_type_name": [ + "DispatchError" + ] + }, + { + "lookup": "2805", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 101 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 336 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 337, + "value_id": 338 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "See [`Pallet::as_multi_threshold_1`]." + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "See [`Pallet::as_multi`]." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "See [`Pallet::approve_as_multi`]." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "See [`Pallet::cancel_as_multi`]." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 297 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 104 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00dbbb77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "00d43000000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U32", + "type_value": 4, + "constants_value": "64000000", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 340 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@342U128", + "keys_id": 0, + "value_id": 341 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@346U128", + "keys_id": 0, + "value_id": 345 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "See [`Pallet::proxy`]." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "See [`Pallet::add_proxy`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "See [`Pallet::remove_proxy`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "See [`Pallet::remove_proxies`]." + ], + "args": null + }, + { + "lookup": "2a04", + "name": "create_pure", + "docs": [ + "See [`Pallet::create_pure`]." + ], + "args": [ + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_pure", + "docs": [ + "See [`Pallet::kill_pure`]." + ], + "args": [ + { + "name": "spawner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumberFor" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "See [`Pallet::announce`]." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "See [`Pallet::remove_announcement`]." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "See [`Pallet::reject_announcement`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "See [`Pallet::proxy_announced`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + } + ], + "calls_value": { + "type": 299 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "PureCreated", + "docs": [ + "A pure account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U16" + ], + "args_name": [ + "pure", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumberFor" + ] + }, + { + "lookup": "2a04", + "name": "ProxyRemoved", + "docs": [ + "A proxy was removed." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumberFor" + ] + } + ], + "events_value": { + "type": 106 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "009d7277000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "a05a3200000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00d27e77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "40b56400000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 349 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 350 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 352, + "value_id": 353 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 356, + "value_id": 357 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata@358", + "keys_id": 4, + "value_id": 358 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "start_destroy", + "docs": [ + "See [`Pallet::start_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3203", + "name": "destroy_accounts", + "docs": [ + "See [`Pallet::destroy_accounts`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3204", + "name": "destroy_approvals", + "docs": [ + "See [`Pallet::destroy_approvals`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3205", + "name": "finish_destroy", + "docs": [ + "See [`Pallet::finish_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3206", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3209", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320a", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320b", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320c", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320d", + "name": "freeze_asset", + "docs": [ + "See [`Pallet::freeze_asset`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320e", + "name": "thaw_asset", + "docs": [ + "See [`Pallet::thaw_asset`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320f", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3210", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3211", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3212", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3213", + "name": "force_set_metadata", + "docs": [ + "See [`Pallet::force_set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3214", + "name": "force_clear_metadata", + "docs": [ + "See [`Pallet::force_clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3215", + "name": "force_asset_status", + "docs": [ + "See [`Pallet::force_asset_status`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3216", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3218", + "name": "force_cancel_approval", + "docs": [ + "See [`Pallet::force_cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3219", + "name": "transfer_approved", + "docs": [ + "See [`Pallet::transfer_approved`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321a", + "name": "touch", + "docs": [ + "See [`Pallet::touch`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "321b", + "name": "refund", + "docs": [ + "See [`Pallet::refund`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "321c", + "name": "set_min_balance", + "docs": [ + "See [`Pallet::set_min_balance`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321d", + "name": "touch_other", + "docs": [ + "See [`Pallet::touch_other`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "321e", + "name": "refund_other", + "docs": [ + "See [`Pallet::refund_other`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "321f", + "name": "block", + "docs": [ + "See [`Pallet::block`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 301 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3210", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3211", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3212", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3213", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3214", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3215", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "U32", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3216", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3217", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + } + ], + "events_value": { + "type": 109 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + } + ], + "errors_value": { + "type": 360 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionDetails", + "keys_id": 4, + "value_id": 361 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 362, + "value_id": 103 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 363, + "value_id": 103 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemDetails", + "keys_id": 127, + "value_id": 364 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionMetadata", + "keys_id": 4, + "value_id": 365 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemMetadata", + "keys_id": 127, + "value_id": 366 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 367, + "value_id": 368 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 127, + "value_id": 369 + } + }, + "fallback": "0x00", + "docs": [ + " Price of an asset instance." + ] + }, + { + "name": "CollectionMaxSupply", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U32", + "keys_id": 4, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " Keeps track of the number of items a collection might have." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "See [`Pallet::destroy`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "See [`Pallet::redeposit`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_collection", + "docs": [ + "See [`Pallet::freeze_collection`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_collection", + "docs": [ + "See [`Pallet::thaw_collection`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "330f", + "name": "force_item_status", + "docs": [ + "See [`Pallet::force_item_status`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "See [`Pallet::set_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "See [`Pallet::clear_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3314", + "name": "set_collection_metadata", + "docs": [ + "See [`Pallet::set_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_collection_metadata", + "docs": [ + "See [`Pallet::clear_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "3316", + "name": "set_accept_ownership", + "docs": [ + "See [`Pallet::set_accept_ownership`]." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3317", + "name": "set_collection_max_supply", + "docs": [ + "See [`Pallet::set_collection_max_supply`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "3318", + "name": "set_price", + "docs": [ + "See [`Pallet::set_price`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3319", + "name": "buy_item", + "docs": [ + "See [`Pallet::buy_item`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + } + ], + "calls_value": { + "type": 302 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some `item` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some `item` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3308", + "name": "CollectionFrozen", + "docs": [ + "Some `collection` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3309", + "name": "CollectionThawed", + "docs": [ + "Some `collection` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "ItemStatusChanged", + "docs": [ + "A `collection` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330f", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "item", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec" + ] + }, + { + "lookup": "3316", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "3317", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "3318", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the instance." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "3319", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the instance was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "331a", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + } + ], + "events_value": { + "type": 110 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The item ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The item or collection is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership of the collection is acceptable." + ] + }, + { + "name": "Locked", + "doc": [ + "The item is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyAlreadySet", + "doc": [ + "The max supply has already been set." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less to the amount of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + } + ], + "errors_value": { + "type": 370 + }, + "index": 51 + }, + { + "name": "Nfts", + "prefix": "Nfts", + "storage": [ + { + "name": "Collection", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionDetails", + "keys_id": 4, + "value_id": 371 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 362, + "value_id": 103 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "CollectionAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 363, + "value_id": 103 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "CollectionRoleOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "U8", + "keys_id": 352, + "value_id": 372 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details.", + " Stores collection roles as per account." + ] + }, + { + "name": "Item", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:ItemDetails", + "keys_id": 127, + "value_id": 374 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "CollectionMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionMetadata", + "keys_id": 4, + "value_id": 380 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "ItemMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:ItemMetadata", + "keys_id": 127, + "value_id": 381 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "pallet_nfts:types:AttributeNamespace", + "Vec" + ], + "value": "Tuple:Vecpallet_nfts:types:AttributeDeposit", + "keys_id": 383, + "value_id": 384 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 127, + "value_id": 369 + } + }, + "fallback": "0x00", + "docs": [ + " A price of an item." + ] + }, + { + "name": "ItemAttributesApprovalsOf", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 127, + "value_id": 386 + } + }, + "fallback": "0x00", + "docs": [ + " Item attribute approvals." + ] + }, + { + "name": "NextCollectionId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Stores the `CollectionId` that is going to be used for the next collection.", + " This gets incremented whenever a new collection is created." + ] + }, + { + "name": "PendingSwapOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:PendingSwap", + "keys_id": 127, + "value_id": 388 + } + }, + "fallback": "0x00", + "docs": [ + " Handles all the pending swaps." + ] + }, + { + "name": "CollectionConfigOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionConfig", + "keys_id": 4, + "value_id": 307 + } + }, + "fallback": "0x00", + "docs": [ + " Config of a collection." + ] + }, + { + "name": "ItemConfigOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "U64", + "keys_id": 127, + "value_id": 317 + } + }, + "fallback": "0x00", + "docs": [ + " Config of an item." + ] + } + ], + "calls": [ + { + "lookup": "3400", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "3401", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "3402", + "name": "destroy", + "docs": [ + "See [`Pallet::destroy`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_nfts:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3403", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "mint_to", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "witness_data", + "type": "option", + "type_name": "Option>" + } + ] + }, + { + "lookup": "3404", + "name": "force_mint", + "docs": [ + "See [`Pallet::force_mint`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "mint_to", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "item_config", + "type": "U64", + "type_name": "ItemConfig" + } + ] + }, + { + "lookup": "3405", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3406", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3407", + "name": "redeposit", + "docs": [ + "See [`Pallet::redeposit`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3408", + "name": "lock_item_transfer", + "docs": [ + "See [`Pallet::lock_item_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3409", + "name": "unlock_item_transfer", + "docs": [ + "See [`Pallet::unlock_item_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "340a", + "name": "lock_collection", + "docs": [ + "See [`Pallet::lock_collection`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "lock_settings", + "type": "U64", + "type_name": "CollectionSettings" + } + ] + }, + { + "lookup": "340b", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "340c", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "option", + "type_name": "Option" + }, + { + "name": "admin", + "type": "option", + "type_name": "Option" + }, + { + "name": "freezer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "340d", + "name": "force_collection_owner", + "docs": [ + "See [`Pallet::force_collection_owner`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "340e", + "name": "force_collection_config", + "docs": [ + "See [`Pallet::force_collection_config`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "340f", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "maybe_deadline", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3410", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3411", + "name": "clear_all_transfer_approvals", + "docs": [ + "See [`Pallet::clear_all_transfer_approvals`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3412", + "name": "lock_item_properties", + "docs": [ + "See [`Pallet::lock_item_properties`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "lock_metadata", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "lock_attributes", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3413", + "name": "set_attribute", + "docs": [ + "See [`Pallet::set_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3414", + "name": "force_set_attribute", + "docs": [ + "See [`Pallet::force_set_attribute`]." + ], + "args": [ + { + "name": "set_as", + "type": "option", + "type_name": "Option" + }, + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3415", + "name": "clear_attribute", + "docs": [ + "See [`Pallet::clear_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3416", + "name": "approve_item_attributes", + "docs": [ + "See [`Pallet::approve_item_attributes`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3417", + "name": "cancel_item_attributes_approval", + "docs": [ + "See [`Pallet::cancel_item_attributes_approval`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "witness", + "type": "U32", + "type_name": "CancelAttributesApprovalWitness" + } + ] + }, + { + "lookup": "3418", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3419", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "341a", + "name": "set_collection_metadata", + "docs": [ + "See [`Pallet::set_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "341b", + "name": "clear_collection_metadata", + "docs": [ + "See [`Pallet::clear_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "341c", + "name": "set_accept_ownership", + "docs": [ + "See [`Pallet::set_accept_ownership`]." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "341d", + "name": "set_collection_max_supply", + "docs": [ + "See [`Pallet::set_collection_max_supply`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "341e", + "name": "update_mint_settings", + "docs": [ + "See [`Pallet::update_mint_settings`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "mint_settings", + "type": "pallet_nfts:types:MintSettings", + "type_name": "MintSettings" + } + ] + }, + { + "lookup": "341f", + "name": "set_price", + "docs": [ + "See [`Pallet::set_price`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3420", + "name": "buy_item", + "docs": [ + "See [`Pallet::buy_item`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + }, + { + "lookup": "3421", + "name": "pay_tips", + "docs": [ + "See [`Pallet::pay_tips`]." + ], + "args": [ + { + "name": "tips", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3422", + "name": "create_swap", + "docs": [ + "See [`Pallet::create_swap`]." + ], + "args": [ + { + "name": "offered_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "offered_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "desired_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_desired_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "maybe_price", + "type": "option", + "type_name": "Option>" + }, + { + "name": "duration", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "3423", + "name": "cancel_swap", + "docs": [ + "See [`Pallet::cancel_swap`]." + ], + "args": [ + { + "name": "offered_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "offered_item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3424", + "name": "claim_swap", + "docs": [ + "See [`Pallet::claim_swap`]." + ], + "args": [ + { + "name": "send_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "send_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "receive_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "receive_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "witness_price", + "type": "option", + "type_name": "Option>" + } + ] + }, + { + "lookup": "3425", + "name": "mint_pre_signed", + "docs": [ + "See [`Pallet::mint_pre_signed`]." + ], + "args": [ + { + "name": "mint_data", + "type": "pallet_nfts:types:PreSignedMint", + "type_name": "Box" + }, + { + "name": "signature", + "type": "sp_runtime:MultiSignature", + "type_name": "OffchainSignature" + }, + { + "name": "signer", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3426", + "name": "set_attributes_pre_signed", + "docs": [ + "See [`Pallet::set_attributes_pre_signed`]." + ], + "args": [ + { + "name": "data", + "type": "pallet_nfts:types:PreSignedAttributes", + "type_name": "PreSignedAttributesOf" + }, + { + "name": "signature", + "type": "sp_runtime:MultiSignature", + "type_name": "OffchainSignature" + }, + { + "name": "signer", + "type": "AccountId", + "type_name": "AccountId" + } + ] + } + ], + "calls_value": { + "type": 306 + }, + "events": [ + { + "lookup": "3400", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3401", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3402", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3403", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3404", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3405", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3406", + "name": "ItemTransferLocked", + "docs": [ + "An `item` became non-transferable." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3407", + "name": "ItemTransferUnlocked", + "docs": [ + "An `item` became transferable." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3408", + "name": "ItemPropertiesLocked", + "docs": [ + "`item` metadata or attributes were locked." + ], + "args": [ + "U32", + "U32", + "Bool", + "Bool" + ], + "args_name": [ + "collection", + "item", + "lock_metadata", + "lock_attributes" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "bool", + "bool" + ] + }, + { + "lookup": "3409", + "name": "CollectionLocked", + "docs": [ + "Some `collection` was locked." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "340a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "340b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "option", + "option", + "option" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "Option", + "Option", + "Option" + ] + }, + { + "lookup": "340c", + "name": "TransferApproved", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId", + "option" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId", + "Option" + ] + }, + { + "lookup": "340d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "340e", + "name": "AllApprovalsCancelled", + "docs": [ + "All approvals of an item got cancelled." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "340f", + "name": "CollectionConfigChanged", + "docs": [ + "A `collection` has had its config changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3410", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "data" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec" + ] + }, + { + "lookup": "3411", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3412", + "name": "ItemMetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec" + ], + "args_name": [ + "collection", + "item", + "data" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec" + ] + }, + { + "lookup": "3413", + "name": "ItemMetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3414", + "name": "Redeposited", + "docs": [ + "The deposit for a set of `item`s within a `collection` has been updated." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3415", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec", + "AttributeNamespace" + ] + }, + { + "lookup": "3416", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "AttributeNamespace" + ] + }, + { + "lookup": "3417", + "name": "ItemAttributesApprovalAdded", + "docs": [ + "A new approval to modify item attributes was added." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3418", + "name": "ItemAttributesApprovalRemoved", + "docs": [ + "A new approval to modify item attributes was removed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3419", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "341a", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "341b", + "name": "CollectionMintSettingsUpdated", + "docs": [ + "Mint settings for a collection had changed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "341c", + "name": "NextCollectionIdIncremented", + "docs": [ + "Event gets emitted when the `NextCollectionId` gets incremented." + ], + "args": [ + "option" + ], + "args_name": [ + "next_id" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "341d", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the item." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "341e", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the item was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "341f", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3420", + "name": "TipSent", + "docs": [ + "A tip was sent." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "collection", + "item", + "sender", + "receiver", + "amount" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId", + "DepositBalanceOf" + ] + }, + { + "lookup": "3421", + "name": "SwapCreated", + "docs": [ + "An `item` swap intent was created." + ], + "args": [ + "U32", + "U32", + "U32", + "option", + "option", + "U32" + ], + "args_name": [ + "offered_collection", + "offered_item", + "desired_collection", + "desired_item", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "CollectionId", + "Option", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3422", + "name": "SwapCancelled", + "docs": [ + "The swap was cancelled." + ], + "args": [ + "U32", + "U32", + "U32", + "option", + "option", + "U32" + ], + "args_name": [ + "offered_collection", + "offered_item", + "desired_collection", + "desired_item", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "CollectionId", + "Option", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3423", + "name": "SwapClaimed", + "docs": [ + "The swap has been claimed." + ], + "args": [ + "U32", + "U32", + "AccountId", + "U32", + "U32", + "AccountId", + "option", + "U32" + ], + "args_name": [ + "sent_collection", + "sent_item", + "sent_item_owner", + "received_collection", + "received_item", + "received_item_owner", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "CollectionId", + "ItemId", + "AccountId", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3424", + "name": "PreSignedAttributesSet", + "docs": [ + "New attributes have been set for an `item` of the `collection`." + ], + "args": [ + "U32", + "U32", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "item", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AttributeNamespace" + ] + }, + { + "lookup": "3425", + "name": "PalletAttributeSet", + "docs": [ + "A new attribute in the `Pallet` namespace was set for the `collection` or an `item`", + "within that `collection`." + ], + "args": [ + "U32", + "option", + "pallet_nfts:types:PalletAttributes", + "Vec" + ], + "args_name": [ + "collection", + "item", + "attribute", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "PalletAttributes", + "BoundedVec" + ] + } + ], + "events_value": { + "type": 116 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "00010000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "00010000", + "docs": [ + " The maximum length of an attribute value." + ] + }, + { + "name": "ApprovalsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "14000000", + "docs": [ + " The maximum approvals an item could have." + ] + }, + { + "name": "ItemAttributesApprovalsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "1e000000", + "docs": [ + " The maximum attributes approvals an item could have." + ] + }, + { + "name": "MaxTips", + "type": "U32", + "type_value": 4, + "constants_value": "0a000000", + "docs": [ + " The max number of tips a user could send." + ] + }, + { + "name": "MaxDeadlineDuration", + "type": "U32", + "type_value": 4, + "constants_value": "008d2700", + "docs": [ + " The max duration in blocks for deadlines." + ] + }, + { + "name": "MaxAttributesPerCall", + "type": "U32", + "type_value": 4, + "constants_value": "0a000000", + "docs": [ + " The max number of attributes a user could set per call." + ] + }, + { + "name": "Features", + "type": "U64", + "type_value": 389, + "constants_value": "0000000000000000", + "docs": [ + " Disables some of pallet's features." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "ApprovalExpired", + "doc": [ + "The approval had a deadline that expired, so the approval isn't valid anymore." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "The witness data given does not match the current state of the chain." + ] + }, + { + "name": "CollectionIdInUse", + "doc": [ + "Collection ID is already taken." + ] + }, + { + "name": "ItemsNonTransferable", + "doc": [ + "Items within that collection are non-transferable." + ] + }, + { + "name": "NotDelegate", + "doc": [ + "The provided account is not a delegate." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership acceptance of the collection." + ] + }, + { + "name": "ItemLocked", + "doc": [ + "The item is locked (non-transferable)." + ] + }, + { + "name": "LockedItemAttributes", + "doc": [ + "Item's attributes are locked." + ] + }, + { + "name": "LockedCollectionAttributes", + "doc": [ + "Collection's attributes are locked." + ] + }, + { + "name": "LockedItemMetadata", + "doc": [ + "Item's metadata is locked." + ] + }, + { + "name": "LockedCollectionMetadata", + "doc": [ + "Collection's metadata is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyLocked", + "doc": [ + "The max supply is locked and can't be changed." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less than the number of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "UnknownSwap", + "doc": [ + "Swap doesn't exist." + ] + }, + { + "name": "MetadataNotFound", + "doc": [ + "The given item has no metadata set." + ] + }, + { + "name": "AttributeNotFound", + "doc": [ + "The provided attribute can't be found." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + }, + { + "name": "ReachedApprovalLimit", + "doc": [ + "The item has reached its approval limit." + ] + }, + { + "name": "DeadlineExpired", + "doc": [ + "The deadline has already expired." + ] + }, + { + "name": "WrongDuration", + "doc": [ + "The duration provided should be less than or equal to `MaxDeadlineDuration`." + ] + }, + { + "name": "MethodDisabled", + "doc": [ + "The method is disabled by system settings." + ] + }, + { + "name": "WrongSetting", + "doc": [ + "The provided setting can't be set." + ] + }, + { + "name": "InconsistentItemConfig", + "doc": [ + "Item's config already exists and should be equal to the provided one." + ] + }, + { + "name": "NoConfig", + "doc": [ + "Config for a collection or an item can't be found." + ] + }, + { + "name": "RolesNotCleared", + "doc": [ + "Some roles were not cleared." + ] + }, + { + "name": "MintNotStarted", + "doc": [ + "Mint has not started yet." + ] + }, + { + "name": "MintEnded", + "doc": [ + "Mint has already ended." + ] + }, + { + "name": "AlreadyClaimed", + "doc": [ + "The provided Item was already used for claiming." + ] + }, + { + "name": "IncorrectData", + "doc": [ + "The provided data is incorrect." + ] + }, + { + "name": "WrongOrigin", + "doc": [ + "The extrinsic was sent by the wrong origin." + ] + }, + { + "name": "WrongSignature", + "doc": [ + "The provided signature is incorrect." + ] + }, + { + "name": "IncorrectMetadata", + "doc": [ + "The provided metadata might be too long." + ] + }, + { + "name": "MaxAttributesLimitReached", + "doc": [ + "Can't set more attributes per one call." + ] + }, + { + "name": "WrongNamespace", + "doc": [ + "The provided namespace isn't supported in this call." + ] + }, + { + "name": "CollectionNotEmpty", + "doc": [ + "Can't delete non-empty collections." + ] + }, + { + "name": "WitnessRequired", + "doc": [ + "The witness data should be provided." + ] + } + ], + "errors_value": { + "type": 391 + }, + "index": 52 + }, + { + "name": "ForeignAssets", + "prefix": "ForeignAssets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 45, + "value_id": 350 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 392, + "value_id": 353 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 393, + "value_id": 357 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "pallet_assets:types:AssetMetadata@394", + "keys_id": 45, + "value_id": 394 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3500", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3501", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3502", + "name": "start_destroy", + "docs": [ + "See [`Pallet::start_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3503", + "name": "destroy_accounts", + "docs": [ + "See [`Pallet::destroy_accounts`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3504", + "name": "destroy_approvals", + "docs": [ + "See [`Pallet::destroy_approvals`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3505", + "name": "finish_destroy", + "docs": [ + "See [`Pallet::finish_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3506", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3507", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3508", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3509", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "350a", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "350b", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "350c", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "350d", + "name": "freeze_asset", + "docs": [ + "See [`Pallet::freeze_asset`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "350e", + "name": "thaw_asset", + "docs": [ + "See [`Pallet::thaw_asset`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "350f", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3510", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3511", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3512", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3513", + "name": "force_set_metadata", + "docs": [ + "See [`Pallet::force_set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3514", + "name": "force_clear_metadata", + "docs": [ + "See [`Pallet::force_clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3515", + "name": "force_asset_status", + "docs": [ + "See [`Pallet::force_asset_status`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3516", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3517", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3518", + "name": "force_cancel_approval", + "docs": [ + "See [`Pallet::force_cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3519", + "name": "transfer_approved", + "docs": [ + "See [`Pallet::transfer_approved`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "351a", + "name": "touch", + "docs": [ + "See [`Pallet::touch`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "351b", + "name": "refund", + "docs": [ + "See [`Pallet::refund`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "351c", + "name": "set_min_balance", + "docs": [ + "See [`Pallet::set_min_balance`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "351d", + "name": "touch_other", + "docs": [ + "See [`Pallet::touch_other`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "351e", + "name": "refund_other", + "docs": [ + "See [`Pallet::refund_other`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "351f", + "name": "block", + "docs": [ + "See [`Pallet::block`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 330 + }, + "events": [ + { + "lookup": "3500", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3501", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3502", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3503", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3504", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3505", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3506", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3507", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3508", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3509", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "350b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "350c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "350f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3510", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3511", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3512", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3513", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3514", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3515", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3516", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3517", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + } + ], + "events_value": { + "type": 123 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + } + ], + "errors_value": { + "type": 396 + }, + "index": 53 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v1002000.json b/src/demo_substrate_events/abi/assethub/v1002000.json new file mode 100644 index 000000000..50b0ca243 --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v1002000.json @@ -0,0 +1,15631 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:dispatch:PerDispatchClass@8", + "PlainTypeValue": 8 + }, + "fallback": "0x000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 12 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 12 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 14 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 18 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: The item is unbound and should therefore never be read on chain.", + " It could otherwise inflate the PoV size of a block.", + "", + " Events have a large in-memory size. Box the events to not go out-of-memory", + " just in case someone still reads them from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 12, + "value_id": 154 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(BlockNumberFor, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 156 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 152 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:CodeUpgradeAuthorization", + "PlainTypeValue": 158 + }, + "fallback": "0x00", + "docs": [ + " `Some` if a code upgrade has been authorized." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "remark", + "docs": [ + "See [`Pallet::remark`]." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0001", + "name": "set_heap_pages", + "docs": [ + "See [`Pallet::set_heap_pages`]." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0002", + "name": "set_code", + "docs": [ + "See [`Pallet::set_code`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0003", + "name": "set_code_without_checks", + "docs": [ + "See [`Pallet::set_code_without_checks`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_storage", + "docs": [ + "See [`Pallet::set_storage`]." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0005", + "name": "kill_storage", + "docs": [ + "See [`Pallet::kill_storage`]." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_prefix", + "docs": [ + "See [`Pallet::kill_prefix`]." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0007", + "name": "remark_with_event", + "docs": [ + "See [`Pallet::remark_with_event`]." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0009", + "name": "authorize_upgrade", + "docs": [ + "See [`Pallet::authorize_upgrade`]." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "000a", + "name": "authorize_upgrade_without_checks", + "docs": [ + "See [`Pallet::authorize_upgrade_without_checks`]." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "000b", + "name": "apply_authorized_upgrade", + "docs": [ + "See [`Pallet::apply_authorized_upgrade`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 159 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + }, + { + "lookup": "0006", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade was authorized." + ], + "args": [ + "H256", + "Bool" + ], + "args_name": [ + "code_hash", + "check_version" + ], + "args_type_name": [ + "Hash", + "bool" + ] + } + ], + "events_value": { + "type": 21 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 163, + "constants_value": "0700f2052a0100070088526a74020040010265cd1d000107c0d22c76510200e000010700e6bd4f570200f0000100000265cd1d000107c074c1906e0200300101070088526a7402004001010700a2941a1d020050000265cd1d00000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:dispatch:PerDispatchClass@168", + "type_value": 167, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "00100000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "sp_weights:RuntimeDbWeight", + "type_value": 169, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 170, + "constants_value": "2473746174656d696e742473746174656d696e7401000000104a0f00000000003cdd718d5cc53262d401000000d7bdd8a272ca0d6501000000df6acb689907609b0400000037e397fc7c91f5e40200000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000f3ff14d5ab52705903000000de92b8a0426b9bf602000000ea93e3f16f3d696202000000fbc577b9d747efd6010000008a8047a53a8277ec010000000e00000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 129, + "constants_value": "0000", + "docs": [ + " The designated SS58 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No upgrade authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The submitted code is not authorized." + ] + } + ], + "errors_value": { + "type": 174 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "UnincludedSegment", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 175 + }, + "fallback": "0x00", + "docs": [ + " Latest included block descendants the runtime accepted. In other words, these are", + " ancestors of the currently executing block which have not been included in the observed", + " relay-chain state.", + "", + " The segment length is limited by the capacity returned from the [`ConsensusHook`] configured", + " in the pallet." + ] + }, + { + "name": "AggregatedUnincludedSegment", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:unincluded_segment:SegmentTracker", + "PlainTypeValue": 185 + }, + "fallback": "0x00", + "docs": [ + " Storage field that keeps track of bandwidth used by the unincluded segment along with the", + " latest HRMP watermark. Used for limiting the acceptance of new blocks with", + " respect to relay chain constraints." + ] + }, + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be", + " applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the", + " [`:code`][sp_core::storage::well_known_keys::CODE] which will result the next block process", + " with the new validation code. This concludes the upgrade process." + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v6:PersistedValidationData", + "PlainTypeValue": 186 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "LastRelayChainBlockNumber", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The relay chain block number associated with the last parachain block.", + "", + " This is updated in `on_finalize`." + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 188 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "UpgradeGoAhead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 183 + }, + "fallback": "0x00", + "docs": [ + " Optional upgrade go-ahead signal from the relay-chain.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelayStateProof", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 190 + }, + "fallback": "0x00", + "docs": [ + " The state proof for the last relay parent block.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 192 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v6:AbridgedHostConfiguration", + "PlainTypeValue": 197 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 199 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 200 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 203 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 162 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 162 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "UpwardDeliveryFeeFactor", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 205 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": [ + " The factor to multiply the base delivery fee by for UMP." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See `Pallet::set_custom_validation_head_data` for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "See [`Pallet::set_validation_data`]." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": [ + "See [`Pallet::sudo_send_upward_message`]." + ], + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": [ + "See [`Pallet::authorize_upgrade`]." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + }, + { + "name": "check_version", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": [ + "See [`Pallet::enact_authorized_upgrade`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 206 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "relay_chain_block_num" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed." + ], + "args": [ + "U32" + ], + "args_name": [ + "count" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight." + ], + "args": [ + "sp_weights:weight_v2:Weight", + "H256" + ], + "args_name": [ + "weight_used", + "dmq_head" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + }, + { + "lookup": "0105", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option<[U8; 32]>" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + } + ], + "events_value": { + "type": 31 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending." + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function." + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run." + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block." + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block." + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 215 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " Whether the timestamp has been updated in this block.", + "", + " This value is updated to `true` upon successful submission of a timestamp by a node.", + " It is then checked at the end of each block execution in the `on_finalize` hook." + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "See [`Pallet::set`]." + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 216 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 11, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks.", + "", + " Be aware that this is different to the *expected* period that the block production", + " apparatus provides. Your chosen consensus system will generally work with this to", + " determine a sensible block time. For example, in the Aura pallet it will be double this", + " period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 120 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "calls_value": { + "type": 217 + }, + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "InactiveIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units of outstanding deactivated balance in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:types:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 218 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 222 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances." + ] + }, + { + "name": "Holds", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 225 + } + }, + "fallback": "0x00", + "docs": [ + " Holds on account balances." + ] + }, + { + "name": "Freezes", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 229 + } + }, + "fallback": "0x00", + "docs": [ + " Freeze locks on account balances." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer_allow_death", + "docs": [ + "See [`Pallet::transfer_allow_death`]." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "See [`Pallet::transfer_all`]." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "See [`Pallet::force_unreserve`]." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a06", + "name": "upgrade_accounts", + "docs": [ + "See [`Pallet::upgrade_accounts`]." + ], + "args": [ + { + "name": "who", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0a08", + "name": "force_set_balance", + "docs": [ + "See [`Pallet::force_set_balance`]." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a09", + "name": "force_adjust_total_issuance", + "docs": [ + "See [`Pallet::force_adjust_total_issuance`]." + ], + "args": [ + { + "name": "direction", + "type": "pallet_balances:types:AdjustmentDirection", + "type_name": "AdjustmentDirection" + }, + { + "name": "delta", + "type": "compact", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 232 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "free" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0a", + "name": "Minted", + "docs": [ + "Some amount was minted into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0b", + "name": "Burned", + "docs": [ + "Some amount was burned from an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0c", + "name": "Suspended", + "docs": [ + "Some amount was suspended from an account (it can be restored later)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0d", + "name": "Restored", + "docs": [ + "Some amount was restored into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0e", + "name": "Upgraded", + "docs": [ + "An account was upgraded." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "who" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0a0f", + "name": "Issued", + "docs": [ + "Total issuance was increased by `amount`, creating a credit to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a10", + "name": "Rescinded", + "docs": [ + "Total issuance was decreased by `amount`, creating a debt to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a11", + "name": "Locked", + "docs": [ + "Some balance was locked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a12", + "name": "Unlocked", + "docs": [ + "Some balance was unlocked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a13", + "name": "Frozen", + "docs": [ + "Some balance was frozen." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a14", + "name": "Thawed", + "docs": [ + "Some balance was thawed." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a15", + "name": "TotalIssuanceForced", + "docs": [ + "The `TotalIssuance` was forcefully changed." + ], + "args": [ + "U128", + "U128" + ], + "args_name": [ + "old", + "new" + ], + "args_type_name": [ + "Balance", + "Balance" + ] + } + ], + "events_value": { + "type": 33 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!", + "", + " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for", + " this pallet. However, you do so at your own risk: this will open up a major DoS vector.", + " In case you have multiple sources of provider references, you may also get unexpected", + " behaviour if you set this to zero.", + "", + " Bottom line: Do yourself a favour and make it at least one!" + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + }, + { + "name": "MaxFreezes", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The maximum number of individual freeze locks that can exist on an account at any time." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value." + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal." + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value." + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit." + ] + }, + { + "name": "Expendability", + "doc": [ + "Transfer/payment would kill account." + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account." + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist." + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed `MaxReserves`." + ] + }, + { + "name": "TooManyHolds", + "doc": [ + "Number of holds exceed `VariantCountOf`." + ] + }, + { + "name": "TooManyFreezes", + "doc": [ + "Number of freezes exceed `MaxFreezes`." + ] + }, + { + "name": "IssuanceDeactivated", + "doc": [ + "The issuance cannot be modified since it is already deactivated." + ] + }, + { + "name": "DeltaZero", + "doc": [ + "The delta cannot be zero." + ] + } + ], + "errors_value": { + "type": 236 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 205 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 237 + }, + "fallback": "0x00", + "docs": null + } + ], + "events": [ + { + "lookup": "0b00", + "name": "TransactionFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who`." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "actual_fee", + "tip" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf" + ] + } + ], + "events_value": { + "type": 35 + }, + "constants": [ + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee multiplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multiplied by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "0d00", + "name": "AssetTxFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who` in an asset `asset_id`." + ], + "args": [ + "AccountId", + "U128", + "U128", + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "who", + "actual_fee", + "tip", + "asset_id" + ], + "args_type_name": [ + "AccountId", + "AssetBalanceOf", + "BalanceOf", + "ChargeAssetIdOf" + ] + }, + { + "lookup": "0d01", + "name": "AssetRefundFailed", + "docs": [ + "A swap of the refund in native currency back to asset failed." + ], + "args": [ + "U128" + ], + "args_name": [ + "native_amount_kept" + ], + "args_type_name": [ + "BalanceOf" + ] + } + ], + "events_value": { + "type": 36 + }, + "errors": null, + "errors_value": null, + "index": 13 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 238 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, permissioned collators. This list must be sorted." + ] + }, + { + "name": "CandidateList", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 239 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates. `Candidates` and `Invulnerables` should be", + " mutually exclusive.", + "", + " This list is sorted in ascending order by deposit and when the deposits are equal, the least", + " recently updated is considered greater." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "See [`Pallet::set_invulnerables`]." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "See [`Pallet::set_desired_candidates`]." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "See [`Pallet::set_candidacy_bond`]." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "See [`Pallet::register_as_candidate`]." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "See [`Pallet::leave_intent`]." + ], + "args": null + }, + { + "lookup": "1505", + "name": "add_invulnerable", + "docs": [ + "See [`Pallet::add_invulnerable`]." + ], + "args": [ + { + "name": "who", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "1506", + "name": "remove_invulnerable", + "docs": [ + "See [`Pallet::remove_invulnerable`]." + ], + "args": [ + { + "name": "who", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "1507", + "name": "update_bond", + "docs": [ + "See [`Pallet::update_bond`]." + ], + "args": [ + { + "name": "new_deposit", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1508", + "name": "take_candidate_slot", + "docs": [ + "See [`Pallet::take_candidate_slot`]." + ], + "args": [ + { + "name": "deposit", + "type": "U128", + "type_name": "BalanceOf" + }, + { + "name": "target", + "type": "AccountId", + "type_name": "AccountId" + } + ] + } + ], + "calls_value": { + "type": 242 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": [ + "New Invulnerables were set." + ], + "args": [ + "Vec" + ], + "args_name": [ + "invulnerables" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "InvulnerableAdded", + "docs": [ + "A new Invulnerable was added." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1502", + "name": "InvulnerableRemoved", + "docs": [ + "An Invulnerable was removed." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1503", + "name": "NewDesiredCandidates", + "docs": [ + "The number of desired candidates was set." + ], + "args": [ + "U32" + ], + "args_name": [ + "desired_candidates" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1504", + "name": "NewCandidacyBond", + "docs": [ + "The candidacy bond was set." + ], + "args": [ + "U128" + ], + "args_name": [ + "bond_amount" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1505", + "name": "CandidateAdded", + "docs": [ + "A new candidate joined." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1506", + "name": "CandidateBondUpdated", + "docs": [ + "Bond of a candidate updated." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1507", + "name": "CandidateRemoved", + "docs": [ + "A candidate was removed." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1508", + "name": "CandidateReplaced", + "docs": [ + "An account was replaced in the candidate list by another one." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "old", + "new", + "deposit" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1509", + "name": "InvalidInvulnerableSkipped", + "docs": [ + "An account was unable to be added to the Invulnerables because they did not have keys", + "registered. Other Invulnerables may have been set." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 47 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "The pallet has too many candidates." + ] + }, + { + "name": "TooFewEligibleCollators", + "doc": [ + "Leaving would result in too few candidates." + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "Account is already a candidate." + ] + }, + { + "name": "NotCandidate", + "doc": [ + "Account is not a candidate." + ] + }, + { + "name": "TooManyInvulnerables", + "doc": [ + "There are too many Invulnerables." + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "Account is already an Invulnerable." + ] + }, + { + "name": "NotInvulnerable", + "doc": [ + "Account is not an Invulnerable." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID." + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered." + ] + }, + { + "name": "InsertToCandidateListFailed", + "doc": [ + "Could not insert in the candidate list." + ] + }, + { + "name": "RemoveFromCandidateListFailed", + "doc": [ + "Could not remove from the candidate list." + ] + }, + { + "name": "DepositTooLow", + "doc": [ + "New deposit amount would be below the minimum candidacy bond." + ] + }, + { + "name": "UpdateCandidateListFailed", + "doc": [ + "Could not update the candidate list." + ] + }, + { + "name": "InsufficientBond", + "doc": [ + "Deposit amount is too low to take the target's slot in the candidate list." + ] + }, + { + "name": "TargetIsNotCandidate", + "doc": [ + "The target account to be replaced in the candidate list is not a candidate." + ] + }, + { + "name": "IdenticalDeposit", + "doc": [ + "The updated deposit amount is equal to the amount already reserved." + ] + }, + { + "name": "InvalidUnreserve", + "doc": [ + "Cannot lower candidacy bond while occupying a future collator slot in the list." + ] + } + ], + "errors_value": { + "type": 243 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 48 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 244 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 133 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 246 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 249, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "See [`Pallet::set_keys`]." + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "See [`Pallet::purge_keys`]." + ], + "args": null + } + ], + "calls_value": { + "type": 251 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 49 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 252 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 253 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 255 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 253 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will", + " always be updated to the latest AuRa authorities in `on_finalize`." + ] + }, + { + "name": "SlotInfo", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Tuple:U64U32", + "PlainTypeValue": 256 + }, + "fallback": "0x00", + "docs": [ + " Current slot paired with a number of authored blocks.", + "", + " Updated on each block initialization." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 257 + }, + "fallback": "0x00", + "docs": [ + " The suspended inbound XCMP channels. All others are not suspended.", + "", + " This is a `StorageValue` instead of a `StorageMap` since we expect multiple reads per block", + " to different keys with a one byte payload. The access to `BoundedBTreeSet` will be cached", + " within the block and therefore only included once in the proof size.", + "", + " NOTE: The PoV benchmarking cannot know this and will over-estimate, but the actual proof", + " will be smaller." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 260 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 263, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 120, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 264 + }, + "fallback": "0x200000003000000008000000", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + }, + { + "name": "DeliveryFeeFactor", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U128", + "keys_id": 120, + "value_id": 205 + } + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": [ + " The factor to multiply the base delivery fee by." + ] + } + ], + "calls": [ + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "See [`Pallet::suspend_xcm_execution`]." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "See [`Pallet::resume_xcm_execution`]." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "See [`Pallet::update_suspend_threshold`]." + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "See [`Pallet::update_drop_threshold`]." + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "See [`Pallet::update_resume_threshold`]." + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + } + ], + "calls_value": { + "type": 265 + }, + "events": [ + { + "lookup": "1e00", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "XcmHash" + ] + } + ], + "events_value": { + "type": 50 + }, + "constants": [ + { + "name": "MaxInboundSuspended", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " The maximum number of inbound XCMP channels that can be suspended simultaneously.", + "", + " Any further channel suspensions will fail and messages may get dropped without further", + " notice. Choosing a high value (1000) is okay; the trade-off that is described in", + " [`InboundXcmpSuspended`] still applies at that scale." + ] + } + ], + "errors": [ + { + "name": "BadQueueConfig", + "doc": [ + "Setting the queue config failed since one of its values was invalid." + ] + }, + { + "name": "AlreadySuspended", + "doc": [ + "The execution is already suspended." + ] + }, + { + "name": "AlreadyResumed", + "doc": [ + "The execution is already resumed." + ] + } + ], + "errors_value": { + "type": 266 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 11, + "value_id": 267 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 12, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `Assets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedLocation" + ], + "value": "U32", + "keys_id": 281, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedLocation" + ], + "value": "U64", + "keys_id": 281, + "value_id": 11 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedLocation" + ], + "value": "Tuple:U64sp_weights:weight_v2:WeightU32", + "keys_id": 281, + "value_id": 282 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 283 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 286 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + }, + { + "name": "RemoteLockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "xcm:VersionedAssetId" + ], + "value": "pallet_xcm:pallet:RemoteLockedFungibleRecord", + "keys_id": 288, + "value_id": 290 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on a remote chain." + ] + }, + { + "name": "LockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 294 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on this chain." + ] + }, + { + "name": "XcmExecutionSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " Global suspension state of the XCM executor." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": [ + "See [`Pallet::send`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@298", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "See [`Pallet::teleport_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "See [`Pallet::reserve_transfer_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "See [`Pallet::execute`]." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@314", + "type_name": "Box::RuntimeCall>>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "See [`Pallet::force_xcm_version`]." + ], + "args": [ + { + "name": "location", + "type": "staging_xcm:v4:location:Location", + "type_name": "Box" + }, + { + "name": "version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "See [`Pallet::force_default_xcm_version`]." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "See [`Pallet::force_subscribe_version_notify`]." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "See [`Pallet::force_unsubscribe_version_notify`]." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "See [`Pallet::limited_reserve_transfer_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "See [`Pallet::limited_teleport_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f0a", + "name": "force_suspension", + "docs": [ + "See [`Pallet::force_suspension`]." + ], + "args": [ + { + "name": "suspended", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "1f0b", + "name": "transfer_assets", + "docs": [ + "See [`Pallet::transfer_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f0c", + "name": "claim_assets", + "docs": [ + "See [`Pallet::claim_assets`]." + ], + "args": [ + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + } + ] + } + ], + "calls_value": { + "type": 297 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted." + ], + "args": [ + "staging_xcm:v4:traits:Outcome" + ], + "args_name": [ + "outcome" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent." + ], + "args": [ + "staging_xcm:v4:location:Location", + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "origin", + "destination", + "message", + "message_id" + ], + "args_type_name": [ + "Location", + "Location", + "Xcm<()>", + "XcmHash" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "Location", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call." + ], + "args": [ + "U64", + "staging_xcm:v4:Response" + ], + "args_name": [ + "query_id", + "response" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification", + "could not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result." + ], + "args": [ + "U64", + "U8", + "U8", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index", + "actual_weight", + "max_budgeted_weight" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64", + "option" + ], + "args_name": [ + "origin", + "query_id", + "expected_location" + ], + "args_type_name": [ + "Location", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "Location", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed." + ], + "args": [ + "U64" + ], + "args_name": [ + "query_id" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap." + ], + "args": [ + "H256", + "staging_xcm:v4:location:Location", + "xcm:VersionedAssets" + ], + "args_name": [ + "hash", + "origin", + "assets" + ], + "args_type_name": [ + "H256", + "Location", + "VersionedAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "The cost of sending it (borne by the chain) is included." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U32", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "result", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "XcmVersion", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U32" + ], + "args_name": [ + "location", + "version" + ], + "args_type_name": [ + "Location", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64", + "xcm:v3:traits:Error" + ], + "args_name": [ + "location", + "query_id", + "error" + ], + "args_type_name": [ + "Location", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format." + ], + "args": [ + "xcm:VersionedLocation", + "U64" + ], + "args_name": [ + "location", + "query_id" + ], + "args_type_name": [ + "VersionedLocation", + "QueryId" + ] + }, + { + "lookup": "1f10", + "name": "InvalidQuerierVersion", + "docs": [ + "Expected query response has been received but the expected querier location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "Location", + "QueryId" + ] + }, + { + "lookup": "1f11", + "name": "InvalidQuerier", + "docs": [ + "Expected query response has been received but the querier location of the response does", + "not match the expected. The query remains registered for a later, valid, response to", + "be received and acted upon." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64", + "staging_xcm:v4:location:Location", + "option" + ], + "args_name": [ + "origin", + "query_id", + "expected_querier", + "maybe_actual_querier" + ], + "args_type_name": [ + "Location", + "QueryId", + "Location", + "Option" + ] + }, + { + "lookup": "1f12", + "name": "VersionNotifyStarted", + "docs": [ + "A remote has requested XCM version change notification from us and we have honored it.", + "A version information message is sent to them and its cost is included." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f13", + "name": "VersionNotifyRequested", + "docs": [ + "We have requested that a remote chain send us XCM version change notifications." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f14", + "name": "VersionNotifyUnrequested", + "docs": [ + "We have requested that a remote chain stops sending us XCM version change", + "notifications." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f15", + "name": "FeesPaid", + "docs": [ + "Fees were paid from a location for an operation (often for using `SendXcm`)." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec" + ], + "args_name": [ + "paying", + "fees" + ], + "args_type_name": [ + "Location", + "Assets" + ] + }, + { + "lookup": "1f16", + "name": "AssetsClaimed", + "docs": [ + "Some assets have been claimed from an asset trap" + ], + "args": [ + "H256", + "staging_xcm:v4:location:Location", + "xcm:VersionedAssets" + ], + "args_name": [ + "hash", + "origin", + "assets" + ], + "args_type_name": [ + "H256", + "Location", + "VersionedAssets" + ] + }, + { + "lookup": "1f17", + "name": "VersionMigrationFinished", + "docs": [ + "A XCM version migration finished." + ], + "args": [ + "U32" + ], + "args_name": [ + "version" + ], + "args_type_name": [ + "XcmVersion" + ] + } + ], + "events_value": { + "type": 51 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message.", + "Perhaps a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `Location` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + }, + { + "name": "CannotCheckOutTeleport", + "doc": [ + "Could not check-out the assets for teleportation to the destination chain." + ] + }, + { + "name": "LowBalance", + "doc": [ + "The owner does not own (all) of the asset that they wish to do the operation on." + ] + }, + { + "name": "TooManyLocks", + "doc": [ + "The asset owner has too many locks on the asset." + ] + }, + { + "name": "AccountNotSovereign", + "doc": [ + "The given account is not an identifiable sovereign account for any location." + ] + }, + { + "name": "FeesNotMet", + "doc": [ + "The operation required fees to be paid which the initiator could not meet." + ] + }, + { + "name": "LockNotFound", + "doc": [ + "A remote lock with the corresponding data could not be found." + ] + }, + { + "name": "InUse", + "doc": [ + "The unlock operation cannot succeed because there are still consumers of the lock." + ] + }, + { + "name": "InvalidAssetNotConcrete", + "doc": [ + "Invalid non-concrete asset." + ] + }, + { + "name": "InvalidAssetUnknownReserve", + "doc": [ + "Invalid asset, reserve chain could not be determined for it." + ] + }, + { + "name": "InvalidAssetUnsupportedReserve", + "doc": [ + "Invalid asset, do not support remote asset reserves with different fees reserves." + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Too many assets with different reserve locations have been attempted for transfer." + ] + }, + { + "name": "LocalExecutionIncomplete", + "doc": [ + "Local XCM execution incomplete." + ] + } + ], + "errors_value": { + "type": 325 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "calls_value": { + "type": 326 + }, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 32]", + "staging_xcm:v4:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 32]", + "Outcome" + ] + } + ], + "events_value": { + "type": 116 + }, + "errors": null, + "errors_value": null, + "index": 32 + }, + { + "name": "DmpQueue", + "prefix": "DmpQueue", + "storage": [ + { + "name": "MigrationStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_dmp_queue:pallet:MigrationState", + "PlainTypeValue": 327 + }, + "fallback": "0x00", + "docs": [ + " The migration state of this pallet." + ] + } + ], + "calls_value": { + "type": 330 + }, + "events": [ + { + "lookup": "2100", + "name": "StartedExport", + "docs": [ + "The export of pages started." + ], + "args": null + }, + { + "lookup": "2101", + "name": "Exported", + "docs": [ + "The export of a page completed." + ], + "args": [ + "U32" + ], + "args_name": [ + "page" + ], + "args_type_name": [ + "PageCounter" + ] + }, + { + "lookup": "2102", + "name": "ExportFailed", + "docs": [ + "The export of a page failed.", + "", + "This should never be emitted." + ], + "args": [ + "U32" + ], + "args_name": [ + "page" + ], + "args_type_name": [ + "PageCounter" + ] + }, + { + "lookup": "2103", + "name": "CompletedExport", + "docs": [ + "The export of pages completed." + ], + "args": null + }, + { + "lookup": "2104", + "name": "StartedOverweightExport", + "docs": [ + "The export of overweight messages started." + ], + "args": null + }, + { + "lookup": "2105", + "name": "ExportedOverweight", + "docs": [ + "The export of an overweight message completed." + ], + "args": [ + "U64" + ], + "args_name": [ + "index" + ], + "args_type_name": [ + "OverweightIndex" + ] + }, + { + "lookup": "2106", + "name": "ExportOverweightFailed", + "docs": [ + "The export of an overweight message failed.", + "", + "This should never be emitted." + ], + "args": [ + "U64" + ], + "args_name": [ + "index" + ], + "args_type_name": [ + "OverweightIndex" + ] + }, + { + "lookup": "2107", + "name": "CompletedOverweightExport", + "docs": [ + "The export of overweight messages completed." + ], + "args": null + }, + { + "lookup": "2108", + "name": "StartedCleanup", + "docs": [ + "The cleanup of remaining pallet storage started." + ], + "args": null + }, + { + "lookup": "2109", + "name": "CleanedSome", + "docs": [ + "Some debris was cleaned up." + ], + "args": [ + "U32" + ], + "args_name": [ + "keys_removed" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "210a", + "name": "Completed", + "docs": [ + "The cleanup of remaining pallet storage completed." + ], + "args": [ + "Bool" + ], + "args_name": [ + "error" + ], + "args_type_name": [ + "bool" + ] + } + ], + "events_value": { + "type": 117 + }, + "errors": null, + "errors_value": null, + "index": 33 + }, + { + "name": "ToKusamaXcmRouter", + "prefix": "ToKusamaXcmRouter", + "storage": [ + { + "name": "Bridge", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "bp_xcm_bridge_hub_router:BridgeState", + "PlainTypeValue": 331 + }, + "fallback": "0x000064a7b3b6e00d000000000000000000", + "docs": [ + " Bridge that we are using.", + "", + " **bridges-v1** assumptions: all outbound messages through this router are using single lane", + " and to single remote consensus. If there is some other remote consensus that uses the same", + " bridge hub, the separate pallet instance shall be used, In `v2` we'll have all required", + " primitives (lane-id aka bridge-id, derived from XCM locations) to support multiple bridges", + " by the same pallet instance." + ] + } + ], + "calls": [ + { + "lookup": "2200", + "name": "report_bridge_status", + "docs": [ + "See [`Pallet::report_bridge_status`]." + ], + "args": [ + { + "name": "bridge_id", + "type": "H256", + "type_name": "H256" + }, + { + "name": "is_congested", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 332 + }, + "errors": null, + "errors_value": null, + "index": 34 + }, + { + "name": "MessageQueue", + "prefix": "MessageQueue", + "storage": [ + { + "name": "BookStateFor", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "cumulus_primitives_core:AggregateMessageOrigin" + ], + "value": "pallet_message_queue:BookState", + "keys_id": 119, + "value_id": 333 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The index of the first and last (non-empty) pages." + ] + }, + { + "name": "ServiceHead", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_primitives_core:AggregateMessageOrigin", + "PlainTypeValue": 119 + }, + "fallback": "0x00", + "docs": [ + " The origin at which we should begin servicing." + ] + }, + { + "name": "Pages", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key_vec": [ + "cumulus_primitives_core:AggregateMessageOrigin", + "U32" + ], + "value": "pallet_message_queue:Page", + "keys_id": 336, + "value_id": 337 + } + }, + "fallback": "0x00", + "docs": [ + " The map of page indices to pages." + ] + } + ], + "calls": [ + { + "lookup": "2300", + "name": "reap_page", + "docs": [ + "See [`Pallet::reap_page`]." + ], + "args": [ + { + "name": "message_origin", + "type": "cumulus_primitives_core:AggregateMessageOrigin", + "type_name": "MessageOriginOf" + }, + { + "name": "page_index", + "type": "U32", + "type_name": "PageIndex" + } + ] + }, + { + "lookup": "2301", + "name": "execute_overweight", + "docs": [ + "See [`Pallet::execute_overweight`]." + ], + "args": [ + { + "name": "message_origin", + "type": "cumulus_primitives_core:AggregateMessageOrigin", + "type_name": "MessageOriginOf" + }, + { + "name": "page", + "type": "U32", + "type_name": "PageIndex" + }, + { + "name": "index", + "type": "U32", + "type_name": "Size" + }, + { + "name": "weight_limit", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 339 + }, + "events": [ + { + "lookup": "2300", + "name": "ProcessingFailed", + "docs": [ + "Message discarded due to an error in the `MessageProcessor` (usually a format error)." + ], + "args": [ + "H256", + "cumulus_primitives_core:AggregateMessageOrigin", + "frame_support:traits:messages:ProcessMessageError" + ], + "args_name": [ + "id", + "origin", + "error" + ], + "args_type_name": [ + "H256", + "MessageOriginOf", + "ProcessMessageError" + ] + }, + { + "lookup": "2301", + "name": "Processed", + "docs": [ + "Message is processed." + ], + "args": [ + "H256", + "cumulus_primitives_core:AggregateMessageOrigin", + "sp_weights:weight_v2:Weight", + "Bool" + ], + "args_name": [ + "id", + "origin", + "weight_used", + "success" + ], + "args_type_name": [ + "H256", + "MessageOriginOf", + "Weight", + "bool" + ] + }, + { + "lookup": "2302", + "name": "OverweightEnqueued", + "docs": [ + "Message placed in overweight queue." + ], + "args": [ + "[U8; 32]", + "cumulus_primitives_core:AggregateMessageOrigin", + "U32", + "U32" + ], + "args_name": [ + "id", + "origin", + "page_index", + "message_index" + ], + "args_type_name": [ + "[u8; 32]", + "MessageOriginOf", + "PageIndex", + "Size" + ] + }, + { + "lookup": "2303", + "name": "PageReaped", + "docs": [ + "This page was reaped." + ], + "args": [ + "cumulus_primitives_core:AggregateMessageOrigin", + "U32" + ], + "args_name": [ + "origin", + "index" + ], + "args_type_name": [ + "MessageOriginOf", + "PageIndex" + ] + } + ], + "events_value": { + "type": 118 + }, + "constants": [ + { + "name": "HeapSize", + "type": "U32", + "type_value": 4, + "constants_value": "00000100", + "docs": [ + " The size of the page; this implies the maximum message size which can be sent.", + "", + " A good value depends on the expected message sizes, their weights, the weight that is", + " available for processing them and the maximal needed message size. The maximal message", + " size is slightly lower than this as defined by [`MaxMessageLenOf`]." + ] + }, + { + "name": "MaxStale", + "type": "U32", + "type_value": 4, + "constants_value": "08000000", + "docs": [ + " The maximum number of stale pages (i.e. of overweight messages) allowed before culling", + " can happen. Once there are more stale pages than this, then historical pages may be", + " dropped, even if they contain unprocessed overweight messages." + ] + }, + { + "name": "ServiceWeight", + "type": "option", + "type_value": 166, + "constants_value": "01070016d0be2802007000", + "docs": [ + " The amount of weight (if any) which should be provided to the message queue for", + " servicing enqueued items.", + "", + " This may be legitimately `None` in the case that you will call", + " `ServiceQueues::service_queues` manually." + ] + } + ], + "errors": [ + { + "name": "NotReapable", + "doc": [ + "Page is not reapable because it has items remaining to be processed and is not old", + "enough." + ] + }, + { + "name": "NoPage", + "doc": [ + "Page to be reaped does not exist." + ] + }, + { + "name": "NoMessage", + "doc": [ + "The referenced message could not be found." + ] + }, + { + "name": "AlreadyProcessed", + "doc": [ + "The message was already processed and cannot be processed again." + ] + }, + { + "name": "Queued", + "doc": [ + "The message is queued for future execution." + ] + }, + { + "name": "InsufficientWeight", + "doc": [ + "There is temporarily not enough weight to continue servicing messages." + ] + }, + { + "name": "TemporarilyUnprocessable", + "doc": [ + "This message is temporarily unprocessable.", + "", + "Such errors are expected, but not guaranteed, to resolve themselves eventually through", + "retrying." + ] + }, + { + "name": "QueuePaused", + "doc": [ + "The queue is paused and no message can be executed from it.", + "", + "This can change at any time and may resolve in the future by re-trying." + ] + }, + { + "name": "RecursiveDisallowed", + "doc": [ + "Another call is in progress and needs to finish before this call can happen." + ] + } + ], + "errors_value": { + "type": 340 + }, + "index": 35 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "See [`Pallet::batch`]." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "See [`Pallet::as_derivative`]." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "See [`Pallet::batch_all`]." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "See [`Pallet::dispatch_as`]." + ], + "args": [ + { + "name": "as_origin", + "type": "asset_hub_polkadot_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2804", + "name": "force_batch", + "docs": [ + "See [`Pallet::force_batch`]." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2805", + "name": "with_weight", + "docs": [ + "See [`Pallet::with_weight`]." + ], + "args": [ + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 341 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "BatchCompletedWithErrors", + "docs": [ + "Batch of dispatches completed but has errors." + ], + "args": null + }, + { + "lookup": "2803", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2804", + "name": "ItemFailed", + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ], + "args": [ + "sp_runtime:DispatchError" + ], + "args_name": [ + "error" + ], + "args_type_name": [ + "DispatchError" + ] + }, + { + "lookup": "2805", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 122 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 386 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 387, + "value_id": 388 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "See [`Pallet::as_multi_threshold_1`]." + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "See [`Pallet::as_multi`]." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "See [`Pallet::approve_as_multi`]." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "See [`Pallet::cancel_as_multi`]." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 344 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 125 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00dbbb77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "00d43000000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U32", + "type_value": 4, + "constants_value": "64000000", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 390 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@392U128", + "keys_id": 0, + "value_id": 391 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@396U128", + "keys_id": 0, + "value_id": 395 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "See [`Pallet::proxy`]." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "See [`Pallet::add_proxy`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "See [`Pallet::remove_proxy`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "See [`Pallet::remove_proxies`]." + ], + "args": null + }, + { + "lookup": "2a04", + "name": "create_pure", + "docs": [ + "See [`Pallet::create_pure`]." + ], + "args": [ + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_pure", + "docs": [ + "See [`Pallet::kill_pure`]." + ], + "args": [ + { + "name": "spawner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumberFor" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "See [`Pallet::announce`]." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "See [`Pallet::remove_announcement`]." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "See [`Pallet::reject_announcement`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "See [`Pallet::proxy_announced`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + } + ], + "calls_value": { + "type": 346 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "PureCreated", + "docs": [ + "A pure account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U16" + ], + "args_name": [ + "pure", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumberFor" + ] + }, + { + "lookup": "2a04", + "name": "ProxyRemoved", + "docs": [ + "A proxy was removed." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumberFor" + ] + } + ], + "events_value": { + "type": 127 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "009d7277000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "a05a3200000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00d27e77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "40b56400000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 399 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 400 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 402, + "value_id": 403 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 406, + "value_id": 407 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata@408", + "keys_id": 4, + "value_id": 408 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "start_destroy", + "docs": [ + "See [`Pallet::start_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3203", + "name": "destroy_accounts", + "docs": [ + "See [`Pallet::destroy_accounts`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3204", + "name": "destroy_approvals", + "docs": [ + "See [`Pallet::destroy_approvals`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3205", + "name": "finish_destroy", + "docs": [ + "See [`Pallet::finish_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3206", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3209", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320a", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320b", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320c", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320d", + "name": "freeze_asset", + "docs": [ + "See [`Pallet::freeze_asset`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320e", + "name": "thaw_asset", + "docs": [ + "See [`Pallet::thaw_asset`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320f", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3210", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3211", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3212", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3213", + "name": "force_set_metadata", + "docs": [ + "See [`Pallet::force_set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3214", + "name": "force_clear_metadata", + "docs": [ + "See [`Pallet::force_clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3215", + "name": "force_asset_status", + "docs": [ + "See [`Pallet::force_asset_status`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3216", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3218", + "name": "force_cancel_approval", + "docs": [ + "See [`Pallet::force_cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3219", + "name": "transfer_approved", + "docs": [ + "See [`Pallet::transfer_approved`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321a", + "name": "touch", + "docs": [ + "See [`Pallet::touch`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "321b", + "name": "refund", + "docs": [ + "See [`Pallet::refund`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "321c", + "name": "set_min_balance", + "docs": [ + "See [`Pallet::set_min_balance`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321d", + "name": "touch_other", + "docs": [ + "See [`Pallet::touch_other`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "321e", + "name": "refund_other", + "docs": [ + "See [`Pallet::refund_other`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "321f", + "name": "block", + "docs": [ + "See [`Pallet::block`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 348 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3210", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3211", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3212", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3213", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3214", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3215", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "U32", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3216", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3217", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + } + ], + "events_value": { + "type": 130 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "c07e5778000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + } + ], + "errors_value": { + "type": 410 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionDetails", + "keys_id": 4, + "value_id": 411 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 412, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 413, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemDetails", + "keys_id": 155, + "value_id": 414 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionMetadata", + "keys_id": 4, + "value_id": 415 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemMetadata", + "keys_id": 155, + "value_id": 416 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 417, + "value_id": 418 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 155, + "value_id": 419 + } + }, + "fallback": "0x00", + "docs": [ + " Price of an asset instance." + ] + }, + { + "name": "CollectionMaxSupply", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U32", + "keys_id": 4, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " Keeps track of the number of items a collection might have." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "See [`Pallet::destroy`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "See [`Pallet::redeposit`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_collection", + "docs": [ + "See [`Pallet::freeze_collection`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_collection", + "docs": [ + "See [`Pallet::thaw_collection`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "new_owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "330f", + "name": "force_item_status", + "docs": [ + "See [`Pallet::force_item_status`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "See [`Pallet::set_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "See [`Pallet::clear_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3314", + "name": "set_collection_metadata", + "docs": [ + "See [`Pallet::set_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_collection_metadata", + "docs": [ + "See [`Pallet::clear_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "3316", + "name": "set_accept_ownership", + "docs": [ + "See [`Pallet::set_accept_ownership`]." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3317", + "name": "set_collection_max_supply", + "docs": [ + "See [`Pallet::set_collection_max_supply`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "3318", + "name": "set_price", + "docs": [ + "See [`Pallet::set_price`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3319", + "name": "buy_item", + "docs": [ + "See [`Pallet::buy_item`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + } + ], + "calls_value": { + "type": 349 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some `item` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some `item` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3308", + "name": "CollectionFrozen", + "docs": [ + "Some `collection` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3309", + "name": "CollectionThawed", + "docs": [ + "Some `collection` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "ItemStatusChanged", + "docs": [ + "A `collection` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330f", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "item", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec" + ] + }, + { + "lookup": "3316", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "3317", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "3318", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the instance." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "3319", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the instance was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "331a", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + } + ], + "events_value": { + "type": 131 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The item ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The item or collection is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership of the collection is acceptable." + ] + }, + { + "name": "Locked", + "doc": [ + "The item is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyAlreadySet", + "doc": [ + "The max supply has already been set." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less to the amount of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + } + ], + "errors_value": { + "type": 420 + }, + "index": 51 + }, + { + "name": "Nfts", + "prefix": "Nfts", + "storage": [ + { + "name": "Collection", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionDetails", + "keys_id": 4, + "value_id": 421 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 412, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "CollectionAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 413, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "CollectionRoleOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "U8", + "keys_id": 402, + "value_id": 422 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details.", + " Stores collection roles as per account." + ] + }, + { + "name": "Item", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:ItemDetails", + "keys_id": 155, + "value_id": 424 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "CollectionMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionMetadata", + "keys_id": 4, + "value_id": 430 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "ItemMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:ItemMetadata", + "keys_id": 155, + "value_id": 431 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "pallet_nfts:types:AttributeNamespace", + "Vec" + ], + "value": "Tuple:Vecpallet_nfts:types:AttributeDeposit", + "keys_id": 433, + "value_id": 434 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 155, + "value_id": 419 + } + }, + "fallback": "0x00", + "docs": [ + " A price of an item." + ] + }, + { + "name": "ItemAttributesApprovalsOf", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 155, + "value_id": 436 + } + }, + "fallback": "0x00", + "docs": [ + " Item attribute approvals." + ] + }, + { + "name": "NextCollectionId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Stores the `CollectionId` that is going to be used for the next collection.", + " This gets incremented whenever a new collection is created." + ] + }, + { + "name": "PendingSwapOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:PendingSwap", + "keys_id": 155, + "value_id": 438 + } + }, + "fallback": "0x00", + "docs": [ + " Handles all the pending swaps." + ] + }, + { + "name": "CollectionConfigOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionConfig", + "keys_id": 4, + "value_id": 354 + } + }, + "fallback": "0x00", + "docs": [ + " Config of a collection." + ] + }, + { + "name": "ItemConfigOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "U64", + "keys_id": 155, + "value_id": 364 + } + }, + "fallback": "0x00", + "docs": [ + " Config of an item." + ] + } + ], + "calls": [ + { + "lookup": "3400", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "3401", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "3402", + "name": "destroy", + "docs": [ + "See [`Pallet::destroy`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_nfts:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3403", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "mint_to", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "witness_data", + "type": "option", + "type_name": "Option>" + } + ] + }, + { + "lookup": "3404", + "name": "force_mint", + "docs": [ + "See [`Pallet::force_mint`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "mint_to", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "item_config", + "type": "U64", + "type_name": "ItemConfig" + } + ] + }, + { + "lookup": "3405", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3406", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3407", + "name": "redeposit", + "docs": [ + "See [`Pallet::redeposit`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3408", + "name": "lock_item_transfer", + "docs": [ + "See [`Pallet::lock_item_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3409", + "name": "unlock_item_transfer", + "docs": [ + "See [`Pallet::unlock_item_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "340a", + "name": "lock_collection", + "docs": [ + "See [`Pallet::lock_collection`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "lock_settings", + "type": "U64", + "type_name": "CollectionSettings" + } + ] + }, + { + "lookup": "340b", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "new_owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "340c", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "option", + "type_name": "Option" + }, + { + "name": "admin", + "type": "option", + "type_name": "Option" + }, + { + "name": "freezer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "340d", + "name": "force_collection_owner", + "docs": [ + "See [`Pallet::force_collection_owner`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "340e", + "name": "force_collection_config", + "docs": [ + "See [`Pallet::force_collection_config`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "340f", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "maybe_deadline", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3410", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3411", + "name": "clear_all_transfer_approvals", + "docs": [ + "See [`Pallet::clear_all_transfer_approvals`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3412", + "name": "lock_item_properties", + "docs": [ + "See [`Pallet::lock_item_properties`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "lock_metadata", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "lock_attributes", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3413", + "name": "set_attribute", + "docs": [ + "See [`Pallet::set_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3414", + "name": "force_set_attribute", + "docs": [ + "See [`Pallet::force_set_attribute`]." + ], + "args": [ + { + "name": "set_as", + "type": "option", + "type_name": "Option" + }, + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3415", + "name": "clear_attribute", + "docs": [ + "See [`Pallet::clear_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3416", + "name": "approve_item_attributes", + "docs": [ + "See [`Pallet::approve_item_attributes`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3417", + "name": "cancel_item_attributes_approval", + "docs": [ + "See [`Pallet::cancel_item_attributes_approval`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "witness", + "type": "U32", + "type_name": "CancelAttributesApprovalWitness" + } + ] + }, + { + "lookup": "3418", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3419", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "341a", + "name": "set_collection_metadata", + "docs": [ + "See [`Pallet::set_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "341b", + "name": "clear_collection_metadata", + "docs": [ + "See [`Pallet::clear_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "341c", + "name": "set_accept_ownership", + "docs": [ + "See [`Pallet::set_accept_ownership`]." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "341d", + "name": "set_collection_max_supply", + "docs": [ + "See [`Pallet::set_collection_max_supply`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "341e", + "name": "update_mint_settings", + "docs": [ + "See [`Pallet::update_mint_settings`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "mint_settings", + "type": "pallet_nfts:types:MintSettings", + "type_name": "MintSettings" + } + ] + }, + { + "lookup": "341f", + "name": "set_price", + "docs": [ + "See [`Pallet::set_price`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3420", + "name": "buy_item", + "docs": [ + "See [`Pallet::buy_item`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + }, + { + "lookup": "3421", + "name": "pay_tips", + "docs": [ + "See [`Pallet::pay_tips`]." + ], + "args": [ + { + "name": "tips", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3422", + "name": "create_swap", + "docs": [ + "See [`Pallet::create_swap`]." + ], + "args": [ + { + "name": "offered_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "offered_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "desired_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_desired_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "maybe_price", + "type": "option", + "type_name": "Option>" + }, + { + "name": "duration", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "3423", + "name": "cancel_swap", + "docs": [ + "See [`Pallet::cancel_swap`]." + ], + "args": [ + { + "name": "offered_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "offered_item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3424", + "name": "claim_swap", + "docs": [ + "See [`Pallet::claim_swap`]." + ], + "args": [ + { + "name": "send_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "send_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "receive_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "receive_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "witness_price", + "type": "option", + "type_name": "Option>" + } + ] + }, + { + "lookup": "3425", + "name": "mint_pre_signed", + "docs": [ + "See [`Pallet::mint_pre_signed`]." + ], + "args": [ + { + "name": "mint_data", + "type": "pallet_nfts:types:PreSignedMint", + "type_name": "Box" + }, + { + "name": "signature", + "type": "sp_runtime:MultiSignature", + "type_name": "OffchainSignature" + }, + { + "name": "signer", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3426", + "name": "set_attributes_pre_signed", + "docs": [ + "See [`Pallet::set_attributes_pre_signed`]." + ], + "args": [ + { + "name": "data", + "type": "pallet_nfts:types:PreSignedAttributes", + "type_name": "PreSignedAttributesOf" + }, + { + "name": "signature", + "type": "sp_runtime:MultiSignature", + "type_name": "OffchainSignature" + }, + { + "name": "signer", + "type": "AccountId", + "type_name": "AccountId" + } + ] + } + ], + "calls_value": { + "type": 353 + }, + "events": [ + { + "lookup": "3400", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3401", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3402", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3403", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3404", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3405", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3406", + "name": "ItemTransferLocked", + "docs": [ + "An `item` became non-transferable." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3407", + "name": "ItemTransferUnlocked", + "docs": [ + "An `item` became transferable." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3408", + "name": "ItemPropertiesLocked", + "docs": [ + "`item` metadata or attributes were locked." + ], + "args": [ + "U32", + "U32", + "Bool", + "Bool" + ], + "args_name": [ + "collection", + "item", + "lock_metadata", + "lock_attributes" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "bool", + "bool" + ] + }, + { + "lookup": "3409", + "name": "CollectionLocked", + "docs": [ + "Some `collection` was locked." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "340a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "340b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "option", + "option", + "option" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "Option", + "Option", + "Option" + ] + }, + { + "lookup": "340c", + "name": "TransferApproved", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId", + "option" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId", + "Option" + ] + }, + { + "lookup": "340d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "340e", + "name": "AllApprovalsCancelled", + "docs": [ + "All approvals of an item got cancelled." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "340f", + "name": "CollectionConfigChanged", + "docs": [ + "A `collection` has had its config changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3410", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "data" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec" + ] + }, + { + "lookup": "3411", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3412", + "name": "ItemMetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec" + ], + "args_name": [ + "collection", + "item", + "data" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec" + ] + }, + { + "lookup": "3413", + "name": "ItemMetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3414", + "name": "Redeposited", + "docs": [ + "The deposit for a set of `item`s within a `collection` has been updated." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3415", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec", + "AttributeNamespace" + ] + }, + { + "lookup": "3416", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "AttributeNamespace" + ] + }, + { + "lookup": "3417", + "name": "ItemAttributesApprovalAdded", + "docs": [ + "A new approval to modify item attributes was added." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3418", + "name": "ItemAttributesApprovalRemoved", + "docs": [ + "A new approval to modify item attributes was removed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3419", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "341a", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "341b", + "name": "CollectionMintSettingsUpdated", + "docs": [ + "Mint settings for a collection had changed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "341c", + "name": "NextCollectionIdIncremented", + "docs": [ + "Event gets emitted when the `NextCollectionId` gets incremented." + ], + "args": [ + "option" + ], + "args_name": [ + "next_id" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "341d", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the item." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "341e", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the item was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "341f", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3420", + "name": "TipSent", + "docs": [ + "A tip was sent." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "collection", + "item", + "sender", + "receiver", + "amount" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId", + "DepositBalanceOf" + ] + }, + { + "lookup": "3421", + "name": "SwapCreated", + "docs": [ + "An `item` swap intent was created." + ], + "args": [ + "U32", + "U32", + "U32", + "option", + "option", + "U32" + ], + "args_name": [ + "offered_collection", + "offered_item", + "desired_collection", + "desired_item", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "CollectionId", + "Option", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3422", + "name": "SwapCancelled", + "docs": [ + "The swap was cancelled." + ], + "args": [ + "U32", + "U32", + "U32", + "option", + "option", + "U32" + ], + "args_name": [ + "offered_collection", + "offered_item", + "desired_collection", + "desired_item", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "CollectionId", + "Option", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3423", + "name": "SwapClaimed", + "docs": [ + "The swap has been claimed." + ], + "args": [ + "U32", + "U32", + "AccountId", + "U32", + "U32", + "AccountId", + "option", + "U32" + ], + "args_name": [ + "sent_collection", + "sent_item", + "sent_item_owner", + "received_collection", + "received_item", + "received_item_owner", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "CollectionId", + "ItemId", + "AccountId", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3424", + "name": "PreSignedAttributesSet", + "docs": [ + "New attributes have been set for an `item` of the `collection`." + ], + "args": [ + "U32", + "U32", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "item", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AttributeNamespace" + ] + }, + { + "lookup": "3425", + "name": "PalletAttributeSet", + "docs": [ + "A new attribute in the `Pallet` namespace was set for the `collection` or an `item`", + "within that `collection`." + ], + "args": [ + "U32", + "option", + "pallet_nfts:types:PalletAttributes", + "Vec" + ], + "args_name": [ + "collection", + "item", + "attribute", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "PalletAttributes", + "BoundedVec" + ] + } + ], + "events_value": { + "type": 138 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "40f1fb77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "10320103000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "1071ff0b000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00c2eb0b000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "00010000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "00010000", + "docs": [ + " The maximum length of an attribute value." + ] + }, + { + "name": "ApprovalsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "14000000", + "docs": [ + " The maximum approvals an item could have." + ] + }, + { + "name": "ItemAttributesApprovalsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "1e000000", + "docs": [ + " The maximum attributes approvals an item could have." + ] + }, + { + "name": "MaxTips", + "type": "U32", + "type_value": 4, + "constants_value": "0a000000", + "docs": [ + " The max number of tips a user could send." + ] + }, + { + "name": "MaxDeadlineDuration", + "type": "U32", + "type_value": 4, + "constants_value": "008d2700", + "docs": [ + " The max duration in blocks for deadlines." + ] + }, + { + "name": "MaxAttributesPerCall", + "type": "U32", + "type_value": 4, + "constants_value": "0a000000", + "docs": [ + " The max number of attributes a user could set per call." + ] + }, + { + "name": "Features", + "type": "U64", + "type_value": 439, + "constants_value": "0000000000000000", + "docs": [ + " Disables some of pallet's features." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "ApprovalExpired", + "doc": [ + "The approval had a deadline that expired, so the approval isn't valid anymore." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "The witness data given does not match the current state of the chain." + ] + }, + { + "name": "CollectionIdInUse", + "doc": [ + "Collection ID is already taken." + ] + }, + { + "name": "ItemsNonTransferable", + "doc": [ + "Items within that collection are non-transferable." + ] + }, + { + "name": "NotDelegate", + "doc": [ + "The provided account is not a delegate." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership acceptance of the collection." + ] + }, + { + "name": "ItemLocked", + "doc": [ + "The item is locked (non-transferable)." + ] + }, + { + "name": "LockedItemAttributes", + "doc": [ + "Item's attributes are locked." + ] + }, + { + "name": "LockedCollectionAttributes", + "doc": [ + "Collection's attributes are locked." + ] + }, + { + "name": "LockedItemMetadata", + "doc": [ + "Item's metadata is locked." + ] + }, + { + "name": "LockedCollectionMetadata", + "doc": [ + "Collection's metadata is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyLocked", + "doc": [ + "The max supply is locked and can't be changed." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less than the number of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "UnknownSwap", + "doc": [ + "Swap doesn't exist." + ] + }, + { + "name": "MetadataNotFound", + "doc": [ + "The given item has no metadata set." + ] + }, + { + "name": "AttributeNotFound", + "doc": [ + "The provided attribute can't be found." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + }, + { + "name": "ReachedApprovalLimit", + "doc": [ + "The item has reached its approval limit." + ] + }, + { + "name": "DeadlineExpired", + "doc": [ + "The deadline has already expired." + ] + }, + { + "name": "WrongDuration", + "doc": [ + "The duration provided should be less than or equal to `MaxDeadlineDuration`." + ] + }, + { + "name": "MethodDisabled", + "doc": [ + "The method is disabled by system settings." + ] + }, + { + "name": "WrongSetting", + "doc": [ + "The provided setting can't be set." + ] + }, + { + "name": "InconsistentItemConfig", + "doc": [ + "Item's config already exists and should be equal to the provided one." + ] + }, + { + "name": "NoConfig", + "doc": [ + "Config for a collection or an item can't be found." + ] + }, + { + "name": "RolesNotCleared", + "doc": [ + "Some roles were not cleared." + ] + }, + { + "name": "MintNotStarted", + "doc": [ + "Mint has not started yet." + ] + }, + { + "name": "MintEnded", + "doc": [ + "Mint has already ended." + ] + }, + { + "name": "AlreadyClaimed", + "doc": [ + "The provided Item was already used for claiming." + ] + }, + { + "name": "IncorrectData", + "doc": [ + "The provided data is incorrect." + ] + }, + { + "name": "WrongOrigin", + "doc": [ + "The extrinsic was sent by the wrong origin." + ] + }, + { + "name": "WrongSignature", + "doc": [ + "The provided signature is incorrect." + ] + }, + { + "name": "IncorrectMetadata", + "doc": [ + "The provided metadata might be too long." + ] + }, + { + "name": "MaxAttributesLimitReached", + "doc": [ + "Can't set more attributes per one call." + ] + }, + { + "name": "WrongNamespace", + "doc": [ + "The provided namespace isn't supported in this call." + ] + }, + { + "name": "CollectionNotEmpty", + "doc": [ + "Can't delete non-empty collections." + ] + }, + { + "name": "WitnessRequired", + "doc": [ + "The witness data should be provided." + ] + } + ], + "errors_value": { + "type": 441 + }, + "index": 52 + }, + { + "name": "ForeignAssets", + "prefix": "ForeignAssets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 37, + "value_id": 400 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 442, + "value_id": 403 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 443, + "value_id": 407 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "pallet_assets:types:AssetMetadata@444", + "keys_id": 37, + "value_id": 444 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3500", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3501", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3502", + "name": "start_destroy", + "docs": [ + "See [`Pallet::start_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3503", + "name": "destroy_accounts", + "docs": [ + "See [`Pallet::destroy_accounts`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3504", + "name": "destroy_approvals", + "docs": [ + "See [`Pallet::destroy_approvals`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3505", + "name": "finish_destroy", + "docs": [ + "See [`Pallet::finish_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3506", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3507", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3508", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3509", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "350a", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "350b", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "350c", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "350d", + "name": "freeze_asset", + "docs": [ + "See [`Pallet::freeze_asset`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "350e", + "name": "thaw_asset", + "docs": [ + "See [`Pallet::thaw_asset`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "350f", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3510", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3511", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3512", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3513", + "name": "force_set_metadata", + "docs": [ + "See [`Pallet::force_set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3514", + "name": "force_clear_metadata", + "docs": [ + "See [`Pallet::force_clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3515", + "name": "force_asset_status", + "docs": [ + "See [`Pallet::force_asset_status`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3516", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3517", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3518", + "name": "force_cancel_approval", + "docs": [ + "See [`Pallet::force_cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3519", + "name": "transfer_approved", + "docs": [ + "See [`Pallet::transfer_approved`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "351a", + "name": "touch", + "docs": [ + "See [`Pallet::touch`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "351b", + "name": "refund", + "docs": [ + "See [`Pallet::refund`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "351c", + "name": "set_min_balance", + "docs": [ + "See [`Pallet::set_min_balance`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "351d", + "name": "touch_other", + "docs": [ + "See [`Pallet::touch_other`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "351e", + "name": "refund_other", + "docs": [ + "See [`Pallet::refund_other`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "351f", + "name": "block", + "docs": [ + "See [`Pallet::block`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 377 + }, + "events": [ + { + "lookup": "3500", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3501", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3502", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3503", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3504", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3505", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3506", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3507", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3508", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3509", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "350b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "350c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "350f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3510", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3511", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3512", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3513", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3514", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3515", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3516", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3517", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + } + ], + "events_value": { + "type": 145 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "c07e5778000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + } + ], + "errors_value": { + "type": 446 + }, + "index": 53 + }, + { + "name": "PoolAssets", + "prefix": "PoolAssets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 400 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 402, + "value_id": 403 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 406, + "value_id": 407 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata@447", + "keys_id": 4, + "value_id": 447 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3600", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3601", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3602", + "name": "start_destroy", + "docs": [ + "See [`Pallet::start_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3603", + "name": "destroy_accounts", + "docs": [ + "See [`Pallet::destroy_accounts`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3604", + "name": "destroy_approvals", + "docs": [ + "See [`Pallet::destroy_approvals`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3605", + "name": "finish_destroy", + "docs": [ + "See [`Pallet::finish_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3606", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3607", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3608", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3609", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "360a", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "360b", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "360c", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "360d", + "name": "freeze_asset", + "docs": [ + "See [`Pallet::freeze_asset`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "360e", + "name": "thaw_asset", + "docs": [ + "See [`Pallet::thaw_asset`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "360f", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3610", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3611", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3612", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3613", + "name": "force_set_metadata", + "docs": [ + "See [`Pallet::force_set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3614", + "name": "force_clear_metadata", + "docs": [ + "See [`Pallet::force_clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3615", + "name": "force_asset_status", + "docs": [ + "See [`Pallet::force_asset_status`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3616", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3617", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3618", + "name": "force_cancel_approval", + "docs": [ + "See [`Pallet::force_cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3619", + "name": "transfer_approved", + "docs": [ + "See [`Pallet::transfer_approved`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "361a", + "name": "touch", + "docs": [ + "See [`Pallet::touch`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "361b", + "name": "refund", + "docs": [ + "See [`Pallet::refund`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "361c", + "name": "set_min_balance", + "docs": [ + "See [`Pallet::set_min_balance`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "361d", + "name": "touch_other", + "docs": [ + "See [`Pallet::touch_other`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "361e", + "name": "refund_other", + "docs": [ + "See [`Pallet::refund_other`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "361f", + "name": "block", + "docs": [ + "See [`Pallet::block`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 378 + }, + "events": [ + { + "lookup": "3600", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3601", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3602", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3603", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3604", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3605", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3606", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3607", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3608", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3609", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "360a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "360b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "360c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "360d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "360e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "360f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3610", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3611", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3612", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3613", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3614", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3615", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "U32", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3616", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3617", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + } + ], + "events_value": { + "type": 146 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00000000000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00000000000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "00000000000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + } + ], + "errors_value": { + "type": 449 + }, + "index": 54 + }, + { + "name": "AssetConversion", + "prefix": "AssetConversion", + "storage": [ + { + "name": "Pools", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "U32", + "keys_id": 148, + "value_id": 450 + } + }, + "fallback": "0x00", + "docs": [ + " Map from `PoolAssetId` to `PoolInfo`. This establishes whether a pool has been officially", + " created rather than people sending tokens directly to a pool's public account." + ] + }, + { + "name": "NextPoolAssetId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Stores the `PoolAssetId` that is going to be used for the next lp token.", + " This gets incremented whenever a new lp pool is created." + ] + } + ], + "calls": [ + { + "lookup": "3700", + "name": "create_pool", + "docs": [ + "See [`Pallet::create_pool`]." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "3701", + "name": "add_liquidity", + "docs": [ + "See [`Pallet::add_liquidity`]." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "amount1_desired", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount2_desired", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount1_min", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount2_min", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "mint_to", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3702", + "name": "remove_liquidity", + "docs": [ + "See [`Pallet::remove_liquidity`]." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "lp_token_burn", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount1_min_receive", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount2_min_receive", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "withdraw_to", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3703", + "name": "swap_exact_tokens_for_tokens", + "docs": [ + "See [`Pallet::swap_exact_tokens_for_tokens`]." + ], + "args": [ + { + "name": "path", + "type": "Vec", + "type_name": "Vec>" + }, + { + "name": "amount_in", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount_out_min", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "send_to", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3704", + "name": "swap_tokens_for_exact_tokens", + "docs": [ + "See [`Pallet::swap_tokens_for_exact_tokens`]." + ], + "args": [ + { + "name": "path", + "type": "Vec", + "type_name": "Vec>" + }, + { + "name": "amount_out", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount_in_max", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "send_to", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 379 + }, + "events": [ + { + "lookup": "3700", + "name": "PoolCreated", + "docs": [ + "A successful call of the `CretaPool` extrinsic will create this event." + ], + "args": [ + "AccountId", + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U32" + ], + "args_name": [ + "creator", + "pool_id", + "pool_account", + "lp_token" + ], + "args_type_name": [ + "AccountId", + "PoolId", + "AccountId", + "PoolAssetId" + ] + }, + { + "lookup": "3701", + "name": "LiquidityAdded", + "docs": [ + "A successful call of the `AddLiquidity` extrinsic will create this event." + ], + "args": [ + "AccountId", + "AccountId", + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "U128", + "U128", + "U32", + "U128" + ], + "args_name": [ + "who", + "mint_to", + "pool_id", + "amount1_provided", + "amount2_provided", + "lp_token", + "lp_token_minted" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "PoolId", + "Balance", + "Balance", + "PoolAssetId", + "Balance" + ] + }, + { + "lookup": "3702", + "name": "LiquidityRemoved", + "docs": [ + "A successful call of the `RemoveLiquidity` extrinsic will create this event." + ], + "args": [ + "AccountId", + "AccountId", + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "U128", + "U128", + "U32", + "U128", + "U32" + ], + "args_name": [ + "who", + "withdraw_to", + "pool_id", + "amount1", + "amount2", + "lp_token", + "lp_token_burned", + "withdrawal_fee" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "PoolId", + "Balance", + "Balance", + "PoolAssetId", + "Balance", + "Permill" + ] + }, + { + "lookup": "3703", + "name": "SwapExecuted", + "docs": [ + "Assets have been converted from one to another. Both `SwapExactTokenForToken`", + "and `SwapTokenForExactToken` will generate this event." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "U128", + "Vec" + ], + "args_name": [ + "who", + "send_to", + "amount_in", + "amount_out", + "path" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Balance", + "BalancePath" + ] + }, + { + "lookup": "3704", + "name": "SwapCreditExecuted", + "docs": [ + "Assets have been converted from one to another." + ], + "args": [ + "U128", + "U128", + "Vec" + ], + "args_name": [ + "amount_in", + "amount_out", + "path" + ], + "args_type_name": [ + "Balance", + "Balance", + "BalancePath" + ] + } + ], + "events_value": { + "type": 147 + }, + "constants": [ + { + "name": "LPFee", + "type": "U32", + "type_value": 4, + "constants_value": "03000000", + "docs": [ + " A % the liquidity providers will take of every swap. Represents 10ths of a percent." + ] + }, + { + "name": "PoolSetupFee", + "type": "U128", + "type_value": 6, + "constants_value": "402d93ef000000000000000000000000", + "docs": [ + " A one-time fee to setup the pool." + ] + }, + { + "name": "PoolSetupFeeAsset", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_value": 37, + "constants_value": "0100", + "docs": [ + " Asset class from [`Config::Assets`] used to pay the [`Config::PoolSetupFee`]." + ] + }, + { + "name": "LiquidityWithdrawalFee", + "type": "U32", + "type_value": 149, + "constants_value": "00000000", + "docs": [ + " A fee to withdraw the liquidity." + ] + }, + { + "name": "MintMinLiquidity", + "type": "U128", + "type_value": 6, + "constants_value": "64000000000000000000000000000000", + "docs": [ + " The minimum LP token amount that could be minted. Ameliorates rounding errors." + ] + }, + { + "name": "MaxSwapPathLength", + "type": "U32", + "type_value": 4, + "constants_value": "03000000", + "docs": [ + " The max number of hops in a swap." + ] + }, + { + "name": "PalletId", + "type": "[U8; 8]", + "type_value": 451, + "constants_value": "70792f6173636f6e", + "docs": [ + " The pallet's id, used for deriving its sovereign account ID." + ] + } + ], + "errors": [ + { + "name": "InvalidAssetPair", + "doc": [ + "Provided asset pair is not supported for pool." + ] + }, + { + "name": "PoolExists", + "doc": [ + "Pool already exists." + ] + }, + { + "name": "WrongDesiredAmount", + "doc": [ + "Desired amount can't be zero." + ] + }, + { + "name": "AmountOneLessThanMinimal", + "doc": [ + "Provided amount should be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "AmountTwoLessThanMinimal", + "doc": [ + "Provided amount should be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "ReserveLeftLessThanMinimal", + "doc": [ + "Reserve needs to always be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "AmountOutTooHigh", + "doc": [ + "Desired amount can't be equal to the pool reserve." + ] + }, + { + "name": "PoolNotFound", + "doc": [ + "The pool doesn't exist." + ] + }, + { + "name": "Overflow", + "doc": [ + "An overflow happened." + ] + }, + { + "name": "AssetOneDepositDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the first token in the pair wasn't met." + ] + }, + { + "name": "AssetTwoDepositDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the second token in the pair wasn't met." + ] + }, + { + "name": "AssetOneWithdrawalDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the first token in the pair wasn't met." + ] + }, + { + "name": "AssetTwoWithdrawalDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the second token in the pair wasn't met." + ] + }, + { + "name": "OptimalAmountLessThanDesired", + "doc": [ + "Optimal calculated amount is less than desired." + ] + }, + { + "name": "InsufficientLiquidityMinted", + "doc": [ + "Insufficient liquidity minted." + ] + }, + { + "name": "ZeroLiquidity", + "doc": [ + "Requested liquidity can't be zero." + ] + }, + { + "name": "ZeroAmount", + "doc": [ + "Amount can't be zero." + ] + }, + { + "name": "ProvidedMinimumNotSufficientForSwap", + "doc": [ + "Calculated amount out is less than provided minimum amount." + ] + }, + { + "name": "ProvidedMaximumNotSufficientForSwap", + "doc": [ + "Provided maximum amount is not sufficient for swap." + ] + }, + { + "name": "InvalidPath", + "doc": [ + "The provided path must consists of 2 assets at least." + ] + }, + { + "name": "NonUniquePath", + "doc": [ + "The provided path must consists of unique assets." + ] + }, + { + "name": "IncorrectPoolAssetId", + "doc": [ + "It was not possible to get or increment the Id of the pool." + ] + }, + { + "name": "BelowMinimum", + "doc": [ + "The destination account cannot exist with the swapped funds." + ] + } + ], + "errors_value": { + "type": 452 + }, + "index": 55 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v1002004.json b/src/demo_substrate_events/abi/assethub/v1002004.json new file mode 100644 index 000000000..57f8b6332 --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v1002004.json @@ -0,0 +1,15752 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:dispatch:PerDispatchClass@8", + "PlainTypeValue": 8 + }, + "fallback": "0x000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 12 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 12 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 14 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 18 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: The item is unbound and should therefore never be read on chain.", + " It could otherwise inflate the PoV size of a block.", + "", + " Events have a large in-memory size. Box the events to not go out-of-memory", + " just in case someone still reads them from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 12, + "value_id": 154 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(BlockNumberFor, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 156 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 152 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:CodeUpgradeAuthorization", + "PlainTypeValue": 158 + }, + "fallback": "0x00", + "docs": [ + " `Some` if a code upgrade has been authorized." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "remark", + "docs": [ + "See [`Pallet::remark`]." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0001", + "name": "set_heap_pages", + "docs": [ + "See [`Pallet::set_heap_pages`]." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0002", + "name": "set_code", + "docs": [ + "See [`Pallet::set_code`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0003", + "name": "set_code_without_checks", + "docs": [ + "See [`Pallet::set_code_without_checks`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_storage", + "docs": [ + "See [`Pallet::set_storage`]." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0005", + "name": "kill_storage", + "docs": [ + "See [`Pallet::kill_storage`]." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_prefix", + "docs": [ + "See [`Pallet::kill_prefix`]." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0007", + "name": "remark_with_event", + "docs": [ + "See [`Pallet::remark_with_event`]." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0009", + "name": "authorize_upgrade", + "docs": [ + "See [`Pallet::authorize_upgrade`]." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "000a", + "name": "authorize_upgrade_without_checks", + "docs": [ + "See [`Pallet::authorize_upgrade_without_checks`]." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "000b", + "name": "apply_authorized_upgrade", + "docs": [ + "See [`Pallet::apply_authorized_upgrade`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 159 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + }, + { + "lookup": "0006", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade was authorized." + ], + "args": [ + "H256", + "Bool" + ], + "args_name": [ + "code_hash", + "check_version" + ], + "args_type_name": [ + "Hash", + "bool" + ] + } + ], + "events_value": { + "type": 21 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 163, + "constants_value": "0700f2052a0100070088526a74020040010265cd1d000107c0d22c76510200e000010700e6bd4f570200f0000100000265cd1d000107c074c1906e0200300101070088526a7402004001010700a2941a1d020050000265cd1d00000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:dispatch:PerDispatchClass@168", + "type_value": 167, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "00100000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "sp_weights:RuntimeDbWeight", + "type_value": 169, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 170, + "constants_value": "2473746174656d696e742473746174656d696e7401000000144a0f00000000003cdd718d5cc53262d401000000d7bdd8a272ca0d6501000000df6acb689907609b0400000037e397fc7c91f5e40200000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000f3ff14d5ab52705903000000de92b8a0426b9bf602000000ea93e3f16f3d696202000000fbc577b9d747efd6010000008a8047a53a8277ec010000000e00000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 129, + "constants_value": "0000", + "docs": [ + " The designated SS58 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No upgrade authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The submitted code is not authorized." + ] + } + ], + "errors_value": { + "type": 174 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "UnincludedSegment", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 175 + }, + "fallback": "0x00", + "docs": [ + " Latest included block descendants the runtime accepted. In other words, these are", + " ancestors of the currently executing block which have not been included in the observed", + " relay-chain state.", + "", + " The segment length is limited by the capacity returned from the [`ConsensusHook`] configured", + " in the pallet." + ] + }, + { + "name": "AggregatedUnincludedSegment", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:unincluded_segment:SegmentTracker", + "PlainTypeValue": 185 + }, + "fallback": "0x00", + "docs": [ + " Storage field that keeps track of bandwidth used by the unincluded segment along with the", + " latest HRMP watermark. Used for limiting the acceptance of new blocks with", + " respect to relay chain constraints." + ] + }, + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be", + " applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the", + " [`:code`][sp_core::storage::well_known_keys::CODE] which will result the next block process", + " with the new validation code. This concludes the upgrade process." + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v6:PersistedValidationData", + "PlainTypeValue": 186 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "LastRelayChainBlockNumber", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The relay chain block number associated with the last parachain block.", + "", + " This is updated in `on_finalize`." + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 188 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "UpgradeGoAhead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 183 + }, + "fallback": "0x00", + "docs": [ + " Optional upgrade go-ahead signal from the relay-chain.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelayStateProof", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 190 + }, + "fallback": "0x00", + "docs": [ + " The state proof for the last relay parent block.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 192 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v6:AbridgedHostConfiguration", + "PlainTypeValue": 197 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 199 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 200 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 203 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 162 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 162 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "UpwardDeliveryFeeFactor", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 205 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": [ + " The factor to multiply the base delivery fee by for UMP." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See `Pallet::set_custom_validation_head_data` for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "See [`Pallet::set_validation_data`]." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": [ + "See [`Pallet::sudo_send_upward_message`]." + ], + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": [ + "See [`Pallet::authorize_upgrade`]." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + }, + { + "name": "check_version", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": [ + "See [`Pallet::enact_authorized_upgrade`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 206 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "relay_chain_block_num" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed." + ], + "args": [ + "U32" + ], + "args_name": [ + "count" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight." + ], + "args": [ + "sp_weights:weight_v2:Weight", + "H256" + ], + "args_name": [ + "weight_used", + "dmq_head" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + }, + { + "lookup": "0105", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option<[U8; 32]>" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + } + ], + "events_value": { + "type": 31 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending." + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function." + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run." + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block." + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block." + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 215 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " Whether the timestamp has been updated in this block.", + "", + " This value is updated to `true` upon successful submission of a timestamp by a node.", + " It is then checked at the end of each block execution in the `on_finalize` hook." + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "See [`Pallet::set`]." + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 216 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 11, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks.", + "", + " Be aware that this is different to the *expected* period that the block production", + " apparatus provides. Your chosen consensus system will generally work with this to", + " determine a sensible block time. For example, in the Aura pallet it will be double this", + " period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 120 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "calls_value": { + "type": 217 + }, + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "InactiveIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units of outstanding deactivated balance in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:types:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 218 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 222 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances." + ] + }, + { + "name": "Holds", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 225 + } + }, + "fallback": "0x00", + "docs": [ + " Holds on account balances." + ] + }, + { + "name": "Freezes", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 229 + } + }, + "fallback": "0x00", + "docs": [ + " Freeze locks on account balances." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer_allow_death", + "docs": [ + "See [`Pallet::transfer_allow_death`]." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "See [`Pallet::transfer_all`]." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "See [`Pallet::force_unreserve`]." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a06", + "name": "upgrade_accounts", + "docs": [ + "See [`Pallet::upgrade_accounts`]." + ], + "args": [ + { + "name": "who", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0a08", + "name": "force_set_balance", + "docs": [ + "See [`Pallet::force_set_balance`]." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a09", + "name": "force_adjust_total_issuance", + "docs": [ + "See [`Pallet::force_adjust_total_issuance`]." + ], + "args": [ + { + "name": "direction", + "type": "pallet_balances:types:AdjustmentDirection", + "type_name": "AdjustmentDirection" + }, + { + "name": "delta", + "type": "compact", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 232 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "free" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0a", + "name": "Minted", + "docs": [ + "Some amount was minted into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0b", + "name": "Burned", + "docs": [ + "Some amount was burned from an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0c", + "name": "Suspended", + "docs": [ + "Some amount was suspended from an account (it can be restored later)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0d", + "name": "Restored", + "docs": [ + "Some amount was restored into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0e", + "name": "Upgraded", + "docs": [ + "An account was upgraded." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "who" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0a0f", + "name": "Issued", + "docs": [ + "Total issuance was increased by `amount`, creating a credit to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a10", + "name": "Rescinded", + "docs": [ + "Total issuance was decreased by `amount`, creating a debt to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a11", + "name": "Locked", + "docs": [ + "Some balance was locked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a12", + "name": "Unlocked", + "docs": [ + "Some balance was unlocked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a13", + "name": "Frozen", + "docs": [ + "Some balance was frozen." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a14", + "name": "Thawed", + "docs": [ + "Some balance was thawed." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a15", + "name": "TotalIssuanceForced", + "docs": [ + "The `TotalIssuance` was forcefully changed." + ], + "args": [ + "U128", + "U128" + ], + "args_name": [ + "old", + "new" + ], + "args_type_name": [ + "Balance", + "Balance" + ] + } + ], + "events_value": { + "type": 33 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!", + "", + " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for", + " this pallet. However, you do so at your own risk: this will open up a major DoS vector.", + " In case you have multiple sources of provider references, you may also get unexpected", + " behaviour if you set this to zero.", + "", + " Bottom line: Do yourself a favour and make it at least one!" + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + }, + { + "name": "MaxFreezes", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The maximum number of individual freeze locks that can exist on an account at any time." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value." + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal." + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value." + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit." + ] + }, + { + "name": "Expendability", + "doc": [ + "Transfer/payment would kill account." + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account." + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist." + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed `MaxReserves`." + ] + }, + { + "name": "TooManyHolds", + "doc": [ + "Number of holds exceed `VariantCountOf`." + ] + }, + { + "name": "TooManyFreezes", + "doc": [ + "Number of freezes exceed `MaxFreezes`." + ] + }, + { + "name": "IssuanceDeactivated", + "doc": [ + "The issuance cannot be modified since it is already deactivated." + ] + }, + { + "name": "DeltaZero", + "doc": [ + "The delta cannot be zero." + ] + } + ], + "errors_value": { + "type": 236 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 205 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 237 + }, + "fallback": "0x00", + "docs": null + } + ], + "events": [ + { + "lookup": "0b00", + "name": "TransactionFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who`." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "actual_fee", + "tip" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf" + ] + } + ], + "events_value": { + "type": 35 + }, + "constants": [ + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee multiplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multiplied by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "0d00", + "name": "AssetTxFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who` in an asset `asset_id`." + ], + "args": [ + "AccountId", + "U128", + "U128", + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "who", + "actual_fee", + "tip", + "asset_id" + ], + "args_type_name": [ + "AccountId", + "AssetBalanceOf", + "BalanceOf", + "ChargeAssetIdOf" + ] + }, + { + "lookup": "0d01", + "name": "AssetRefundFailed", + "docs": [ + "A swap of the refund in native currency back to asset failed." + ], + "args": [ + "U128" + ], + "args_name": [ + "native_amount_kept" + ], + "args_type_name": [ + "BalanceOf" + ] + } + ], + "events_value": { + "type": 36 + }, + "errors": null, + "errors_value": null, + "index": 13 + }, + { + "name": "Vesting", + "prefix": "Vesting", + "storage": [ + { + "name": "Vesting", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 238 + } + }, + "fallback": "0x00", + "docs": [ + " Information regarding the vesting of a given account." + ] + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_vesting:Releases", + "PlainTypeValue": 241 + }, + "fallback": "0x00", + "docs": [ + " Storage version of the pallet.", + "", + " New networks start with latest version, as determined by the genesis build." + ] + } + ], + "calls": [ + { + "lookup": "0e00", + "name": "vest", + "docs": [ + "See [`Pallet::vest`]." + ], + "args": null + }, + { + "lookup": "0e01", + "name": "vest_other", + "docs": [ + "See [`Pallet::vest_other`]." + ], + "args": [ + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "0e02", + "name": "vested_transfer", + "docs": [ + "See [`Pallet::vested_transfer`]." + ], + "args": [ + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "schedule", + "type": "pallet_vesting:vesting_info:VestingInfo", + "type_name": "VestingInfo" + } + ] + }, + { + "lookup": "0e03", + "name": "force_vested_transfer", + "docs": [ + "See [`Pallet::force_vested_transfer`]." + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "schedule", + "type": "pallet_vesting:vesting_info:VestingInfo", + "type_name": "VestingInfo" + } + ] + }, + { + "lookup": "0e04", + "name": "merge_schedules", + "docs": [ + "See [`Pallet::merge_schedules`]." + ], + "args": [ + { + "name": "schedule1_index", + "type": "U32", + "type_name": "u32" + }, + { + "name": "schedule2_index", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0e05", + "name": "force_remove_vesting_schedule", + "docs": [ + "See [`Pallet::force_remove_vesting_schedule`]." + ], + "args": [ + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "schedule_index", + "type": "U32", + "type_name": "u32" + } + ] + } + ], + "calls_value": { + "type": 242 + }, + "events": [ + { + "lookup": "0e00", + "name": "VestingUpdated", + "docs": [ + "The amount vested has been updated. This could indicate a change in funds available.", + "The balance given is the amount which is left unvested (and thus locked)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "unvested" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "0e01", + "name": "VestingCompleted", + "docs": [ + "An \\[account\\] has become fully vested." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 47 + }, + "constants": [ + { + "name": "MinVestedTransfer", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The minimum amount transferred to call `vested_transfer`." + ] + }, + { + "name": "MaxVestingSchedules", + "type": "U32", + "type_value": 4, + "constants_value": "1c000000", + "docs": null + } + ], + "errors": [ + { + "name": "NotVesting", + "doc": [ + "The account given is not vesting." + ] + }, + { + "name": "AtMaxVestingSchedules", + "doc": [ + "The account already has `MaxVestingSchedules` count of schedules and thus", + "cannot add another one. Consider merging existing schedules in order to add another." + ] + }, + { + "name": "AmountLow", + "doc": [ + "Amount being transferred is too low to create a vesting schedule." + ] + }, + { + "name": "ScheduleIndexOutOfBounds", + "doc": [ + "An index was out of bounds of the vesting schedules." + ] + }, + { + "name": "InvalidScheduleParams", + "doc": [ + "Failed to create a new schedule because some parameter was invalid." + ] + } + ], + "errors_value": { + "type": 243 + }, + "index": 14 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 244 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, permissioned collators. This list must be sorted." + ] + }, + { + "name": "CandidateList", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 245 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates. `Candidates` and `Invulnerables` should be", + " mutually exclusive.", + "", + " This list is sorted in ascending order by deposit and when the deposits are equal, the least", + " recently updated is considered greater." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "See [`Pallet::set_invulnerables`]." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "See [`Pallet::set_desired_candidates`]." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "See [`Pallet::set_candidacy_bond`]." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "See [`Pallet::register_as_candidate`]." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "See [`Pallet::leave_intent`]." + ], + "args": null + }, + { + "lookup": "1505", + "name": "add_invulnerable", + "docs": [ + "See [`Pallet::add_invulnerable`]." + ], + "args": [ + { + "name": "who", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "1506", + "name": "remove_invulnerable", + "docs": [ + "See [`Pallet::remove_invulnerable`]." + ], + "args": [ + { + "name": "who", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "1507", + "name": "update_bond", + "docs": [ + "See [`Pallet::update_bond`]." + ], + "args": [ + { + "name": "new_deposit", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1508", + "name": "take_candidate_slot", + "docs": [ + "See [`Pallet::take_candidate_slot`]." + ], + "args": [ + { + "name": "deposit", + "type": "U128", + "type_name": "BalanceOf" + }, + { + "name": "target", + "type": "AccountId", + "type_name": "AccountId" + } + ] + } + ], + "calls_value": { + "type": 248 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": [ + "New Invulnerables were set." + ], + "args": [ + "Vec" + ], + "args_name": [ + "invulnerables" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "InvulnerableAdded", + "docs": [ + "A new Invulnerable was added." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1502", + "name": "InvulnerableRemoved", + "docs": [ + "An Invulnerable was removed." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1503", + "name": "NewDesiredCandidates", + "docs": [ + "The number of desired candidates was set." + ], + "args": [ + "U32" + ], + "args_name": [ + "desired_candidates" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1504", + "name": "NewCandidacyBond", + "docs": [ + "The candidacy bond was set." + ], + "args": [ + "U128" + ], + "args_name": [ + "bond_amount" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1505", + "name": "CandidateAdded", + "docs": [ + "A new candidate joined." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1506", + "name": "CandidateBondUpdated", + "docs": [ + "Bond of a candidate updated." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1507", + "name": "CandidateRemoved", + "docs": [ + "A candidate was removed." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1508", + "name": "CandidateReplaced", + "docs": [ + "An account was replaced in the candidate list by another one." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "old", + "new", + "deposit" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1509", + "name": "InvalidInvulnerableSkipped", + "docs": [ + "An account was unable to be added to the Invulnerables because they did not have keys", + "registered. Other Invulnerables may have been set." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 48 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "The pallet has too many candidates." + ] + }, + { + "name": "TooFewEligibleCollators", + "doc": [ + "Leaving would result in too few candidates." + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "Account is already a candidate." + ] + }, + { + "name": "NotCandidate", + "doc": [ + "Account is not a candidate." + ] + }, + { + "name": "TooManyInvulnerables", + "doc": [ + "There are too many Invulnerables." + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "Account is already an Invulnerable." + ] + }, + { + "name": "NotInvulnerable", + "doc": [ + "Account is not an Invulnerable." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID." + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered." + ] + }, + { + "name": "InsertToCandidateListFailed", + "doc": [ + "Could not insert in the candidate list." + ] + }, + { + "name": "RemoveFromCandidateListFailed", + "doc": [ + "Could not remove from the candidate list." + ] + }, + { + "name": "DepositTooLow", + "doc": [ + "New deposit amount would be below the minimum candidacy bond." + ] + }, + { + "name": "UpdateCandidateListFailed", + "doc": [ + "Could not update the candidate list." + ] + }, + { + "name": "InsufficientBond", + "doc": [ + "Deposit amount is too low to take the target's slot in the candidate list." + ] + }, + { + "name": "TargetIsNotCandidate", + "doc": [ + "The target account to be replaced in the candidate list is not a candidate." + ] + }, + { + "name": "IdenticalDeposit", + "doc": [ + "The updated deposit amount is equal to the amount already reserved." + ] + }, + { + "name": "InvalidUnreserve", + "doc": [ + "Cannot lower candidacy bond while occupying a future collator slot in the list." + ] + } + ], + "errors_value": { + "type": 249 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 49 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 250 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 133 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 252 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 255, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "See [`Pallet::set_keys`]." + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "See [`Pallet::purge_keys`]." + ], + "args": null + } + ], + "calls_value": { + "type": 257 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 50 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 258 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 259 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 261 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 259 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will", + " always be updated to the latest AuRa authorities in `on_finalize`." + ] + }, + { + "name": "SlotInfo", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Tuple:U64U32", + "PlainTypeValue": 262 + }, + "fallback": "0x00", + "docs": [ + " Current slot paired with a number of authored blocks.", + "", + " Updated on each block initialization." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 263 + }, + "fallback": "0x00", + "docs": [ + " The suspended inbound XCMP channels. All others are not suspended.", + "", + " This is a `StorageValue` instead of a `StorageMap` since we expect multiple reads per block", + " to different keys with a one byte payload. The access to `BoundedBTreeSet` will be cached", + " within the block and therefore only included once in the proof size.", + "", + " NOTE: The PoV benchmarking cannot know this and will over-estimate, but the actual proof", + " will be smaller." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 266 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 269, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 120, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 270 + }, + "fallback": "0x200000003000000008000000", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + }, + { + "name": "DeliveryFeeFactor", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U128", + "keys_id": 120, + "value_id": 205 + } + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": [ + " The factor to multiply the base delivery fee by." + ] + } + ], + "calls": [ + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "See [`Pallet::suspend_xcm_execution`]." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "See [`Pallet::resume_xcm_execution`]." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "See [`Pallet::update_suspend_threshold`]." + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "See [`Pallet::update_drop_threshold`]." + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "See [`Pallet::update_resume_threshold`]." + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + } + ], + "calls_value": { + "type": 271 + }, + "events": [ + { + "lookup": "1e00", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "XcmHash" + ] + } + ], + "events_value": { + "type": 51 + }, + "constants": [ + { + "name": "MaxInboundSuspended", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " The maximum number of inbound XCMP channels that can be suspended simultaneously.", + "", + " Any further channel suspensions will fail and messages may get dropped without further", + " notice. Choosing a high value (1000) is okay; the trade-off that is described in", + " [`InboundXcmpSuspended`] still applies at that scale." + ] + } + ], + "errors": [ + { + "name": "BadQueueConfig", + "doc": [ + "Setting the queue config failed since one of its values was invalid." + ] + }, + { + "name": "AlreadySuspended", + "doc": [ + "The execution is already suspended." + ] + }, + { + "name": "AlreadyResumed", + "doc": [ + "The execution is already resumed." + ] + } + ], + "errors_value": { + "type": 272 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 11, + "value_id": 273 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 12, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `Assets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedLocation" + ], + "value": "U32", + "keys_id": 287, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedLocation" + ], + "value": "U64", + "keys_id": 287, + "value_id": 11 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedLocation" + ], + "value": "Tuple:U64sp_weights:weight_v2:WeightU32", + "keys_id": 287, + "value_id": 288 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 289 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 292 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + }, + { + "name": "RemoteLockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "xcm:VersionedAssetId" + ], + "value": "pallet_xcm:pallet:RemoteLockedFungibleRecord", + "keys_id": 294, + "value_id": 296 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on a remote chain." + ] + }, + { + "name": "LockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 300 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on this chain." + ] + }, + { + "name": "XcmExecutionSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " Global suspension state of the XCM executor." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": [ + "See [`Pallet::send`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@304", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "See [`Pallet::teleport_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "See [`Pallet::reserve_transfer_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "See [`Pallet::execute`]." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@320", + "type_name": "Box::RuntimeCall>>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "See [`Pallet::force_xcm_version`]." + ], + "args": [ + { + "name": "location", + "type": "staging_xcm:v4:location:Location", + "type_name": "Box" + }, + { + "name": "version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "See [`Pallet::force_default_xcm_version`]." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "See [`Pallet::force_subscribe_version_notify`]." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "See [`Pallet::force_unsubscribe_version_notify`]." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "See [`Pallet::limited_reserve_transfer_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "See [`Pallet::limited_teleport_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f0a", + "name": "force_suspension", + "docs": [ + "See [`Pallet::force_suspension`]." + ], + "args": [ + { + "name": "suspended", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "1f0b", + "name": "transfer_assets", + "docs": [ + "See [`Pallet::transfer_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f0c", + "name": "claim_assets", + "docs": [ + "See [`Pallet::claim_assets`]." + ], + "args": [ + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f0d", + "name": "transfer_assets_using_type_and_then", + "docs": [ + "See [`Pallet::transfer_assets_using_type_and_then`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "assets_transfer_type", + "type": "staging_xcm_executor:traits:asset_transfer:TransferType", + "type_name": "Box" + }, + { + "name": "remote_fees_id", + "type": "xcm:VersionedAssetId", + "type_name": "Box" + }, + { + "name": "fees_transfer_type", + "type": "staging_xcm_executor:traits:asset_transfer:TransferType", + "type_name": "Box" + }, + { + "name": "custom_xcm_on_dest", + "type": "xcm:VersionedXcm@304", + "type_name": "Box>" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + } + ], + "calls_value": { + "type": 303 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted." + ], + "args": [ + "staging_xcm:v4:traits:Outcome" + ], + "args_name": [ + "outcome" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent." + ], + "args": [ + "staging_xcm:v4:location:Location", + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "origin", + "destination", + "message", + "message_id" + ], + "args_type_name": [ + "Location", + "Location", + "Xcm<()>", + "XcmHash" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "Location", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call." + ], + "args": [ + "U64", + "staging_xcm:v4:Response" + ], + "args_name": [ + "query_id", + "response" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification", + "could not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result." + ], + "args": [ + "U64", + "U8", + "U8", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index", + "actual_weight", + "max_budgeted_weight" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64", + "option" + ], + "args_name": [ + "origin", + "query_id", + "expected_location" + ], + "args_type_name": [ + "Location", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "Location", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed." + ], + "args": [ + "U64" + ], + "args_name": [ + "query_id" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap." + ], + "args": [ + "H256", + "staging_xcm:v4:location:Location", + "xcm:VersionedAssets" + ], + "args_name": [ + "hash", + "origin", + "assets" + ], + "args_type_name": [ + "H256", + "Location", + "VersionedAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "The cost of sending it (borne by the chain) is included." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U32", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "result", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "XcmVersion", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U32" + ], + "args_name": [ + "location", + "version" + ], + "args_type_name": [ + "Location", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64", + "xcm:v3:traits:Error" + ], + "args_name": [ + "location", + "query_id", + "error" + ], + "args_type_name": [ + "Location", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format." + ], + "args": [ + "xcm:VersionedLocation", + "U64" + ], + "args_name": [ + "location", + "query_id" + ], + "args_type_name": [ + "VersionedLocation", + "QueryId" + ] + }, + { + "lookup": "1f10", + "name": "InvalidQuerierVersion", + "docs": [ + "Expected query response has been received but the expected querier location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "Location", + "QueryId" + ] + }, + { + "lookup": "1f11", + "name": "InvalidQuerier", + "docs": [ + "Expected query response has been received but the querier location of the response does", + "not match the expected. The query remains registered for a later, valid, response to", + "be received and acted upon." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64", + "staging_xcm:v4:location:Location", + "option" + ], + "args_name": [ + "origin", + "query_id", + "expected_querier", + "maybe_actual_querier" + ], + "args_type_name": [ + "Location", + "QueryId", + "Location", + "Option" + ] + }, + { + "lookup": "1f12", + "name": "VersionNotifyStarted", + "docs": [ + "A remote has requested XCM version change notification from us and we have honored it.", + "A version information message is sent to them and its cost is included." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f13", + "name": "VersionNotifyRequested", + "docs": [ + "We have requested that a remote chain send us XCM version change notifications." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f14", + "name": "VersionNotifyUnrequested", + "docs": [ + "We have requested that a remote chain stops sending us XCM version change", + "notifications." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f15", + "name": "FeesPaid", + "docs": [ + "Fees were paid from a location for an operation (often for using `SendXcm`)." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec" + ], + "args_name": [ + "paying", + "fees" + ], + "args_type_name": [ + "Location", + "Assets" + ] + }, + { + "lookup": "1f16", + "name": "AssetsClaimed", + "docs": [ + "Some assets have been claimed from an asset trap" + ], + "args": [ + "H256", + "staging_xcm:v4:location:Location", + "xcm:VersionedAssets" + ], + "args_name": [ + "hash", + "origin", + "assets" + ], + "args_type_name": [ + "H256", + "Location", + "VersionedAssets" + ] + }, + { + "lookup": "1f17", + "name": "VersionMigrationFinished", + "docs": [ + "A XCM version migration finished." + ], + "args": [ + "U32" + ], + "args_name": [ + "version" + ], + "args_type_name": [ + "XcmVersion" + ] + } + ], + "events_value": { + "type": 52 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message.", + "Perhaps a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `Location` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + }, + { + "name": "CannotCheckOutTeleport", + "doc": [ + "Could not check-out the assets for teleportation to the destination chain." + ] + }, + { + "name": "LowBalance", + "doc": [ + "The owner does not own (all) of the asset that they wish to do the operation on." + ] + }, + { + "name": "TooManyLocks", + "doc": [ + "The asset owner has too many locks on the asset." + ] + }, + { + "name": "AccountNotSovereign", + "doc": [ + "The given account is not an identifiable sovereign account for any location." + ] + }, + { + "name": "FeesNotMet", + "doc": [ + "The operation required fees to be paid which the initiator could not meet." + ] + }, + { + "name": "LockNotFound", + "doc": [ + "A remote lock with the corresponding data could not be found." + ] + }, + { + "name": "InUse", + "doc": [ + "The unlock operation cannot succeed because there are still consumers of the lock." + ] + }, + { + "name": "InvalidAssetNotConcrete", + "doc": [ + "Invalid non-concrete asset." + ] + }, + { + "name": "InvalidAssetUnknownReserve", + "doc": [ + "Invalid asset, reserve chain could not be determined for it." + ] + }, + { + "name": "InvalidAssetUnsupportedReserve", + "doc": [ + "Invalid asset, do not support remote asset reserves with different fees reserves." + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Too many assets with different reserve locations have been attempted for transfer." + ] + }, + { + "name": "LocalExecutionIncomplete", + "doc": [ + "Local XCM execution incomplete." + ] + } + ], + "errors_value": { + "type": 332 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "calls_value": { + "type": 333 + }, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 32]", + "staging_xcm:v4:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 32]", + "Outcome" + ] + } + ], + "events_value": { + "type": 117 + }, + "errors": null, + "errors_value": null, + "index": 32 + }, + { + "name": "ToKusamaXcmRouter", + "prefix": "ToKusamaXcmRouter", + "storage": [ + { + "name": "Bridge", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "bp_xcm_bridge_hub_router:BridgeState", + "PlainTypeValue": 334 + }, + "fallback": "0x000064a7b3b6e00d000000000000000000", + "docs": [ + " Bridge that we are using.", + "", + " **bridges-v1** assumptions: all outbound messages through this router are using single lane", + " and to single remote consensus. If there is some other remote consensus that uses the same", + " bridge hub, the separate pallet instance shall be used, In `v2` we'll have all required", + " primitives (lane-id aka bridge-id, derived from XCM locations) to support multiple bridges", + " by the same pallet instance." + ] + } + ], + "calls": [ + { + "lookup": "2200", + "name": "report_bridge_status", + "docs": [ + "See [`Pallet::report_bridge_status`]." + ], + "args": [ + { + "name": "bridge_id", + "type": "H256", + "type_name": "H256" + }, + { + "name": "is_congested", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 335 + }, + "errors": null, + "errors_value": null, + "index": 34 + }, + { + "name": "MessageQueue", + "prefix": "MessageQueue", + "storage": [ + { + "name": "BookStateFor", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "cumulus_primitives_core:AggregateMessageOrigin" + ], + "value": "pallet_message_queue:BookState", + "keys_id": 119, + "value_id": 336 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The index of the first and last (non-empty) pages." + ] + }, + { + "name": "ServiceHead", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_primitives_core:AggregateMessageOrigin", + "PlainTypeValue": 119 + }, + "fallback": "0x00", + "docs": [ + " The origin at which we should begin servicing." + ] + }, + { + "name": "Pages", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key_vec": [ + "cumulus_primitives_core:AggregateMessageOrigin", + "U32" + ], + "value": "pallet_message_queue:Page", + "keys_id": 339, + "value_id": 340 + } + }, + "fallback": "0x00", + "docs": [ + " The map of page indices to pages." + ] + } + ], + "calls": [ + { + "lookup": "2300", + "name": "reap_page", + "docs": [ + "See [`Pallet::reap_page`]." + ], + "args": [ + { + "name": "message_origin", + "type": "cumulus_primitives_core:AggregateMessageOrigin", + "type_name": "MessageOriginOf" + }, + { + "name": "page_index", + "type": "U32", + "type_name": "PageIndex" + } + ] + }, + { + "lookup": "2301", + "name": "execute_overweight", + "docs": [ + "See [`Pallet::execute_overweight`]." + ], + "args": [ + { + "name": "message_origin", + "type": "cumulus_primitives_core:AggregateMessageOrigin", + "type_name": "MessageOriginOf" + }, + { + "name": "page", + "type": "U32", + "type_name": "PageIndex" + }, + { + "name": "index", + "type": "U32", + "type_name": "Size" + }, + { + "name": "weight_limit", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 342 + }, + "events": [ + { + "lookup": "2300", + "name": "ProcessingFailed", + "docs": [ + "Message discarded due to an error in the `MessageProcessor` (usually a format error)." + ], + "args": [ + "H256", + "cumulus_primitives_core:AggregateMessageOrigin", + "frame_support:traits:messages:ProcessMessageError" + ], + "args_name": [ + "id", + "origin", + "error" + ], + "args_type_name": [ + "H256", + "MessageOriginOf", + "ProcessMessageError" + ] + }, + { + "lookup": "2301", + "name": "Processed", + "docs": [ + "Message is processed." + ], + "args": [ + "H256", + "cumulus_primitives_core:AggregateMessageOrigin", + "sp_weights:weight_v2:Weight", + "Bool" + ], + "args_name": [ + "id", + "origin", + "weight_used", + "success" + ], + "args_type_name": [ + "H256", + "MessageOriginOf", + "Weight", + "bool" + ] + }, + { + "lookup": "2302", + "name": "OverweightEnqueued", + "docs": [ + "Message placed in overweight queue." + ], + "args": [ + "[U8; 32]", + "cumulus_primitives_core:AggregateMessageOrigin", + "U32", + "U32" + ], + "args_name": [ + "id", + "origin", + "page_index", + "message_index" + ], + "args_type_name": [ + "[u8; 32]", + "MessageOriginOf", + "PageIndex", + "Size" + ] + }, + { + "lookup": "2303", + "name": "PageReaped", + "docs": [ + "This page was reaped." + ], + "args": [ + "cumulus_primitives_core:AggregateMessageOrigin", + "U32" + ], + "args_name": [ + "origin", + "index" + ], + "args_type_name": [ + "MessageOriginOf", + "PageIndex" + ] + } + ], + "events_value": { + "type": 118 + }, + "constants": [ + { + "name": "HeapSize", + "type": "U32", + "type_value": 4, + "constants_value": "00000100", + "docs": [ + " The size of the page; this implies the maximum message size which can be sent.", + "", + " A good value depends on the expected message sizes, their weights, the weight that is", + " available for processing them and the maximal needed message size. The maximal message", + " size is slightly lower than this as defined by [`MaxMessageLenOf`]." + ] + }, + { + "name": "MaxStale", + "type": "U32", + "type_value": 4, + "constants_value": "08000000", + "docs": [ + " The maximum number of stale pages (i.e. of overweight messages) allowed before culling", + " can happen. Once there are more stale pages than this, then historical pages may be", + " dropped, even if they contain unprocessed overweight messages." + ] + }, + { + "name": "ServiceWeight", + "type": "option", + "type_value": 166, + "constants_value": "01070016d0be2802007000", + "docs": [ + " The amount of weight (if any) which should be provided to the message queue for", + " servicing enqueued items.", + "", + " This may be legitimately `None` in the case that you will call", + " `ServiceQueues::service_queues` manually." + ] + } + ], + "errors": [ + { + "name": "NotReapable", + "doc": [ + "Page is not reapable because it has items remaining to be processed and is not old", + "enough." + ] + }, + { + "name": "NoPage", + "doc": [ + "Page to be reaped does not exist." + ] + }, + { + "name": "NoMessage", + "doc": [ + "The referenced message could not be found." + ] + }, + { + "name": "AlreadyProcessed", + "doc": [ + "The message was already processed and cannot be processed again." + ] + }, + { + "name": "Queued", + "doc": [ + "The message is queued for future execution." + ] + }, + { + "name": "InsufficientWeight", + "doc": [ + "There is temporarily not enough weight to continue servicing messages." + ] + }, + { + "name": "TemporarilyUnprocessable", + "doc": [ + "This message is temporarily unprocessable.", + "", + "Such errors are expected, but not guaranteed, to resolve themselves eventually through", + "retrying." + ] + }, + { + "name": "QueuePaused", + "doc": [ + "The queue is paused and no message can be executed from it.", + "", + "This can change at any time and may resolve in the future by re-trying." + ] + }, + { + "name": "RecursiveDisallowed", + "doc": [ + "Another call is in progress and needs to finish before this call can happen." + ] + } + ], + "errors_value": { + "type": 343 + }, + "index": 35 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "See [`Pallet::batch`]." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "See [`Pallet::as_derivative`]." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "See [`Pallet::batch_all`]." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "See [`Pallet::dispatch_as`]." + ], + "args": [ + { + "name": "as_origin", + "type": "asset_hub_polkadot_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2804", + "name": "force_batch", + "docs": [ + "See [`Pallet::force_batch`]." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2805", + "name": "with_weight", + "docs": [ + "See [`Pallet::with_weight`]." + ], + "args": [ + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 344 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "BatchCompletedWithErrors", + "docs": [ + "Batch of dispatches completed but has errors." + ], + "args": null + }, + { + "lookup": "2803", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2804", + "name": "ItemFailed", + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ], + "args": [ + "sp_runtime:DispatchError" + ], + "args_name": [ + "error" + ], + "args_type_name": [ + "DispatchError" + ] + }, + { + "lookup": "2805", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 122 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 389 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 390, + "value_id": 391 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "See [`Pallet::as_multi_threshold_1`]." + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "See [`Pallet::as_multi`]." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "See [`Pallet::approve_as_multi`]." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "See [`Pallet::cancel_as_multi`]." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 347 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 125 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00dbbb77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "00d43000000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U32", + "type_value": 4, + "constants_value": "64000000", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 393 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@395U128", + "keys_id": 0, + "value_id": 394 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@399U128", + "keys_id": 0, + "value_id": 398 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "See [`Pallet::proxy`]." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "See [`Pallet::add_proxy`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "See [`Pallet::remove_proxy`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "See [`Pallet::remove_proxies`]." + ], + "args": null + }, + { + "lookup": "2a04", + "name": "create_pure", + "docs": [ + "See [`Pallet::create_pure`]." + ], + "args": [ + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_pure", + "docs": [ + "See [`Pallet::kill_pure`]." + ], + "args": [ + { + "name": "spawner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumberFor" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "See [`Pallet::announce`]." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "See [`Pallet::remove_announcement`]." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "See [`Pallet::reject_announcement`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "See [`Pallet::proxy_announced`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + } + ], + "calls_value": { + "type": 349 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "PureCreated", + "docs": [ + "A pure account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U16" + ], + "args_name": [ + "pure", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumberFor" + ] + }, + { + "lookup": "2a04", + "name": "ProxyRemoved", + "docs": [ + "A proxy was removed." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumberFor" + ] + } + ], + "events_value": { + "type": 127 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "009d7277000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "a05a3200000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00d27e77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "40b56400000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 402 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 403 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 405, + "value_id": 406 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 409, + "value_id": 410 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata@411", + "keys_id": 4, + "value_id": 411 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "start_destroy", + "docs": [ + "See [`Pallet::start_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3203", + "name": "destroy_accounts", + "docs": [ + "See [`Pallet::destroy_accounts`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3204", + "name": "destroy_approvals", + "docs": [ + "See [`Pallet::destroy_approvals`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3205", + "name": "finish_destroy", + "docs": [ + "See [`Pallet::finish_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3206", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3209", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320a", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320b", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320c", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320d", + "name": "freeze_asset", + "docs": [ + "See [`Pallet::freeze_asset`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320e", + "name": "thaw_asset", + "docs": [ + "See [`Pallet::thaw_asset`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320f", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3210", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3211", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3212", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3213", + "name": "force_set_metadata", + "docs": [ + "See [`Pallet::force_set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3214", + "name": "force_clear_metadata", + "docs": [ + "See [`Pallet::force_clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3215", + "name": "force_asset_status", + "docs": [ + "See [`Pallet::force_asset_status`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3216", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3218", + "name": "force_cancel_approval", + "docs": [ + "See [`Pallet::force_cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3219", + "name": "transfer_approved", + "docs": [ + "See [`Pallet::transfer_approved`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321a", + "name": "touch", + "docs": [ + "See [`Pallet::touch`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "321b", + "name": "refund", + "docs": [ + "See [`Pallet::refund`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "321c", + "name": "set_min_balance", + "docs": [ + "See [`Pallet::set_min_balance`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321d", + "name": "touch_other", + "docs": [ + "See [`Pallet::touch_other`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "321e", + "name": "refund_other", + "docs": [ + "See [`Pallet::refund_other`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "321f", + "name": "block", + "docs": [ + "See [`Pallet::block`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 351 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3210", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3211", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3212", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3213", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3214", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3215", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "U32", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3216", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3217", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + } + ], + "events_value": { + "type": 130 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "c07e5778000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + } + ], + "errors_value": { + "type": 413 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionDetails", + "keys_id": 4, + "value_id": 414 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 415, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 416, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemDetails", + "keys_id": 155, + "value_id": 417 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionMetadata", + "keys_id": 4, + "value_id": 418 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemMetadata", + "keys_id": 155, + "value_id": 419 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 420, + "value_id": 421 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 155, + "value_id": 422 + } + }, + "fallback": "0x00", + "docs": [ + " Price of an asset instance." + ] + }, + { + "name": "CollectionMaxSupply", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U32", + "keys_id": 4, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " Keeps track of the number of items a collection might have." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "See [`Pallet::destroy`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "See [`Pallet::redeposit`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_collection", + "docs": [ + "See [`Pallet::freeze_collection`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_collection", + "docs": [ + "See [`Pallet::thaw_collection`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "new_owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "330f", + "name": "force_item_status", + "docs": [ + "See [`Pallet::force_item_status`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "See [`Pallet::set_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "See [`Pallet::clear_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3314", + "name": "set_collection_metadata", + "docs": [ + "See [`Pallet::set_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_collection_metadata", + "docs": [ + "See [`Pallet::clear_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "3316", + "name": "set_accept_ownership", + "docs": [ + "See [`Pallet::set_accept_ownership`]." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3317", + "name": "set_collection_max_supply", + "docs": [ + "See [`Pallet::set_collection_max_supply`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "3318", + "name": "set_price", + "docs": [ + "See [`Pallet::set_price`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3319", + "name": "buy_item", + "docs": [ + "See [`Pallet::buy_item`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + } + ], + "calls_value": { + "type": 352 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some `item` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some `item` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3308", + "name": "CollectionFrozen", + "docs": [ + "Some `collection` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3309", + "name": "CollectionThawed", + "docs": [ + "Some `collection` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "ItemStatusChanged", + "docs": [ + "A `collection` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330f", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "item", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec" + ] + }, + { + "lookup": "3316", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "3317", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "3318", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the instance." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "3319", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the instance was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "331a", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + } + ], + "events_value": { + "type": 131 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The item ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The item or collection is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership of the collection is acceptable." + ] + }, + { + "name": "Locked", + "doc": [ + "The item is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyAlreadySet", + "doc": [ + "The max supply has already been set." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less to the amount of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + } + ], + "errors_value": { + "type": 423 + }, + "index": 51 + }, + { + "name": "Nfts", + "prefix": "Nfts", + "storage": [ + { + "name": "Collection", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionDetails", + "keys_id": 4, + "value_id": 424 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 415, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "CollectionAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 416, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "CollectionRoleOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "U8", + "keys_id": 405, + "value_id": 425 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details.", + " Stores collection roles as per account." + ] + }, + { + "name": "Item", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:ItemDetails", + "keys_id": 155, + "value_id": 427 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "CollectionMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionMetadata", + "keys_id": 4, + "value_id": 433 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "ItemMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:ItemMetadata", + "keys_id": 155, + "value_id": 434 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "pallet_nfts:types:AttributeNamespace", + "Vec" + ], + "value": "Tuple:Vecpallet_nfts:types:AttributeDeposit", + "keys_id": 436, + "value_id": 437 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 155, + "value_id": 422 + } + }, + "fallback": "0x00", + "docs": [ + " A price of an item." + ] + }, + { + "name": "ItemAttributesApprovalsOf", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 155, + "value_id": 439 + } + }, + "fallback": "0x00", + "docs": [ + " Item attribute approvals." + ] + }, + { + "name": "NextCollectionId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Stores the `CollectionId` that is going to be used for the next collection.", + " This gets incremented whenever a new collection is created." + ] + }, + { + "name": "PendingSwapOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:PendingSwap", + "keys_id": 155, + "value_id": 441 + } + }, + "fallback": "0x00", + "docs": [ + " Handles all the pending swaps." + ] + }, + { + "name": "CollectionConfigOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionConfig", + "keys_id": 4, + "value_id": 357 + } + }, + "fallback": "0x00", + "docs": [ + " Config of a collection." + ] + }, + { + "name": "ItemConfigOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "U64", + "keys_id": 155, + "value_id": 367 + } + }, + "fallback": "0x00", + "docs": [ + " Config of an item." + ] + } + ], + "calls": [ + { + "lookup": "3400", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "3401", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "3402", + "name": "destroy", + "docs": [ + "See [`Pallet::destroy`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_nfts:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3403", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "mint_to", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "witness_data", + "type": "option", + "type_name": "Option>" + } + ] + }, + { + "lookup": "3404", + "name": "force_mint", + "docs": [ + "See [`Pallet::force_mint`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "mint_to", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "item_config", + "type": "U64", + "type_name": "ItemConfig" + } + ] + }, + { + "lookup": "3405", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3406", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3407", + "name": "redeposit", + "docs": [ + "See [`Pallet::redeposit`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3408", + "name": "lock_item_transfer", + "docs": [ + "See [`Pallet::lock_item_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3409", + "name": "unlock_item_transfer", + "docs": [ + "See [`Pallet::unlock_item_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "340a", + "name": "lock_collection", + "docs": [ + "See [`Pallet::lock_collection`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "lock_settings", + "type": "U64", + "type_name": "CollectionSettings" + } + ] + }, + { + "lookup": "340b", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "new_owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "340c", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "option", + "type_name": "Option" + }, + { + "name": "admin", + "type": "option", + "type_name": "Option" + }, + { + "name": "freezer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "340d", + "name": "force_collection_owner", + "docs": [ + "See [`Pallet::force_collection_owner`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "340e", + "name": "force_collection_config", + "docs": [ + "See [`Pallet::force_collection_config`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "340f", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "maybe_deadline", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3410", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3411", + "name": "clear_all_transfer_approvals", + "docs": [ + "See [`Pallet::clear_all_transfer_approvals`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3412", + "name": "lock_item_properties", + "docs": [ + "See [`Pallet::lock_item_properties`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "lock_metadata", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "lock_attributes", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3413", + "name": "set_attribute", + "docs": [ + "See [`Pallet::set_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3414", + "name": "force_set_attribute", + "docs": [ + "See [`Pallet::force_set_attribute`]." + ], + "args": [ + { + "name": "set_as", + "type": "option", + "type_name": "Option" + }, + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3415", + "name": "clear_attribute", + "docs": [ + "See [`Pallet::clear_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3416", + "name": "approve_item_attributes", + "docs": [ + "See [`Pallet::approve_item_attributes`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3417", + "name": "cancel_item_attributes_approval", + "docs": [ + "See [`Pallet::cancel_item_attributes_approval`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "witness", + "type": "U32", + "type_name": "CancelAttributesApprovalWitness" + } + ] + }, + { + "lookup": "3418", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3419", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "341a", + "name": "set_collection_metadata", + "docs": [ + "See [`Pallet::set_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "341b", + "name": "clear_collection_metadata", + "docs": [ + "See [`Pallet::clear_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "341c", + "name": "set_accept_ownership", + "docs": [ + "See [`Pallet::set_accept_ownership`]." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "341d", + "name": "set_collection_max_supply", + "docs": [ + "See [`Pallet::set_collection_max_supply`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "341e", + "name": "update_mint_settings", + "docs": [ + "See [`Pallet::update_mint_settings`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "mint_settings", + "type": "pallet_nfts:types:MintSettings", + "type_name": "MintSettings" + } + ] + }, + { + "lookup": "341f", + "name": "set_price", + "docs": [ + "See [`Pallet::set_price`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3420", + "name": "buy_item", + "docs": [ + "See [`Pallet::buy_item`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + }, + { + "lookup": "3421", + "name": "pay_tips", + "docs": [ + "See [`Pallet::pay_tips`]." + ], + "args": [ + { + "name": "tips", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3422", + "name": "create_swap", + "docs": [ + "See [`Pallet::create_swap`]." + ], + "args": [ + { + "name": "offered_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "offered_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "desired_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_desired_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "maybe_price", + "type": "option", + "type_name": "Option>" + }, + { + "name": "duration", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "3423", + "name": "cancel_swap", + "docs": [ + "See [`Pallet::cancel_swap`]." + ], + "args": [ + { + "name": "offered_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "offered_item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3424", + "name": "claim_swap", + "docs": [ + "See [`Pallet::claim_swap`]." + ], + "args": [ + { + "name": "send_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "send_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "receive_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "receive_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "witness_price", + "type": "option", + "type_name": "Option>" + } + ] + }, + { + "lookup": "3425", + "name": "mint_pre_signed", + "docs": [ + "See [`Pallet::mint_pre_signed`]." + ], + "args": [ + { + "name": "mint_data", + "type": "pallet_nfts:types:PreSignedMint", + "type_name": "Box" + }, + { + "name": "signature", + "type": "sp_runtime:MultiSignature", + "type_name": "OffchainSignature" + }, + { + "name": "signer", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3426", + "name": "set_attributes_pre_signed", + "docs": [ + "See [`Pallet::set_attributes_pre_signed`]." + ], + "args": [ + { + "name": "data", + "type": "pallet_nfts:types:PreSignedAttributes", + "type_name": "PreSignedAttributesOf" + }, + { + "name": "signature", + "type": "sp_runtime:MultiSignature", + "type_name": "OffchainSignature" + }, + { + "name": "signer", + "type": "AccountId", + "type_name": "AccountId" + } + ] + } + ], + "calls_value": { + "type": 356 + }, + "events": [ + { + "lookup": "3400", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3401", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3402", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3403", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3404", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3405", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3406", + "name": "ItemTransferLocked", + "docs": [ + "An `item` became non-transferable." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3407", + "name": "ItemTransferUnlocked", + "docs": [ + "An `item` became transferable." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3408", + "name": "ItemPropertiesLocked", + "docs": [ + "`item` metadata or attributes were locked." + ], + "args": [ + "U32", + "U32", + "Bool", + "Bool" + ], + "args_name": [ + "collection", + "item", + "lock_metadata", + "lock_attributes" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "bool", + "bool" + ] + }, + { + "lookup": "3409", + "name": "CollectionLocked", + "docs": [ + "Some `collection` was locked." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "340a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "340b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "option", + "option", + "option" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "Option", + "Option", + "Option" + ] + }, + { + "lookup": "340c", + "name": "TransferApproved", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId", + "option" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId", + "Option" + ] + }, + { + "lookup": "340d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "340e", + "name": "AllApprovalsCancelled", + "docs": [ + "All approvals of an item got cancelled." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "340f", + "name": "CollectionConfigChanged", + "docs": [ + "A `collection` has had its config changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3410", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "data" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec" + ] + }, + { + "lookup": "3411", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3412", + "name": "ItemMetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec" + ], + "args_name": [ + "collection", + "item", + "data" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec" + ] + }, + { + "lookup": "3413", + "name": "ItemMetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3414", + "name": "Redeposited", + "docs": [ + "The deposit for a set of `item`s within a `collection` has been updated." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3415", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec", + "AttributeNamespace" + ] + }, + { + "lookup": "3416", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "AttributeNamespace" + ] + }, + { + "lookup": "3417", + "name": "ItemAttributesApprovalAdded", + "docs": [ + "A new approval to modify item attributes was added." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3418", + "name": "ItemAttributesApprovalRemoved", + "docs": [ + "A new approval to modify item attributes was removed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3419", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "341a", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "341b", + "name": "CollectionMintSettingsUpdated", + "docs": [ + "Mint settings for a collection had changed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "341c", + "name": "NextCollectionIdIncremented", + "docs": [ + "Event gets emitted when the `NextCollectionId` gets incremented." + ], + "args": [ + "option" + ], + "args_name": [ + "next_id" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "341d", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the item." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "341e", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the item was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "341f", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3420", + "name": "TipSent", + "docs": [ + "A tip was sent." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "collection", + "item", + "sender", + "receiver", + "amount" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId", + "DepositBalanceOf" + ] + }, + { + "lookup": "3421", + "name": "SwapCreated", + "docs": [ + "An `item` swap intent was created." + ], + "args": [ + "U32", + "U32", + "U32", + "option", + "option", + "U32" + ], + "args_name": [ + "offered_collection", + "offered_item", + "desired_collection", + "desired_item", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "CollectionId", + "Option", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3422", + "name": "SwapCancelled", + "docs": [ + "The swap was cancelled." + ], + "args": [ + "U32", + "U32", + "U32", + "option", + "option", + "U32" + ], + "args_name": [ + "offered_collection", + "offered_item", + "desired_collection", + "desired_item", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "CollectionId", + "Option", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3423", + "name": "SwapClaimed", + "docs": [ + "The swap has been claimed." + ], + "args": [ + "U32", + "U32", + "AccountId", + "U32", + "U32", + "AccountId", + "option", + "U32" + ], + "args_name": [ + "sent_collection", + "sent_item", + "sent_item_owner", + "received_collection", + "received_item", + "received_item_owner", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "CollectionId", + "ItemId", + "AccountId", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3424", + "name": "PreSignedAttributesSet", + "docs": [ + "New attributes have been set for an `item` of the `collection`." + ], + "args": [ + "U32", + "U32", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "item", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AttributeNamespace" + ] + }, + { + "lookup": "3425", + "name": "PalletAttributeSet", + "docs": [ + "A new attribute in the `Pallet` namespace was set for the `collection` or an `item`", + "within that `collection`." + ], + "args": [ + "U32", + "option", + "pallet_nfts:types:PalletAttributes", + "Vec" + ], + "args_name": [ + "collection", + "item", + "attribute", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "PalletAttributes", + "BoundedVec" + ] + } + ], + "events_value": { + "type": 138 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "40f1fb77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "10320103000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "1071ff0b000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00c2eb0b000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "00010000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "00010000", + "docs": [ + " The maximum length of an attribute value." + ] + }, + { + "name": "ApprovalsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "14000000", + "docs": [ + " The maximum approvals an item could have." + ] + }, + { + "name": "ItemAttributesApprovalsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "1e000000", + "docs": [ + " The maximum attributes approvals an item could have." + ] + }, + { + "name": "MaxTips", + "type": "U32", + "type_value": 4, + "constants_value": "0a000000", + "docs": [ + " The max number of tips a user could send." + ] + }, + { + "name": "MaxDeadlineDuration", + "type": "U32", + "type_value": 4, + "constants_value": "008d2700", + "docs": [ + " The max duration in blocks for deadlines." + ] + }, + { + "name": "MaxAttributesPerCall", + "type": "U32", + "type_value": 4, + "constants_value": "0a000000", + "docs": [ + " The max number of attributes a user could set per call." + ] + }, + { + "name": "Features", + "type": "U64", + "type_value": 442, + "constants_value": "0000000000000000", + "docs": [ + " Disables some of pallet's features." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "ApprovalExpired", + "doc": [ + "The approval had a deadline that expired, so the approval isn't valid anymore." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "The witness data given does not match the current state of the chain." + ] + }, + { + "name": "CollectionIdInUse", + "doc": [ + "Collection ID is already taken." + ] + }, + { + "name": "ItemsNonTransferable", + "doc": [ + "Items within that collection are non-transferable." + ] + }, + { + "name": "NotDelegate", + "doc": [ + "The provided account is not a delegate." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership acceptance of the collection." + ] + }, + { + "name": "ItemLocked", + "doc": [ + "The item is locked (non-transferable)." + ] + }, + { + "name": "LockedItemAttributes", + "doc": [ + "Item's attributes are locked." + ] + }, + { + "name": "LockedCollectionAttributes", + "doc": [ + "Collection's attributes are locked." + ] + }, + { + "name": "LockedItemMetadata", + "doc": [ + "Item's metadata is locked." + ] + }, + { + "name": "LockedCollectionMetadata", + "doc": [ + "Collection's metadata is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyLocked", + "doc": [ + "The max supply is locked and can't be changed." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less than the number of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "UnknownSwap", + "doc": [ + "Swap doesn't exist." + ] + }, + { + "name": "MetadataNotFound", + "doc": [ + "The given item has no metadata set." + ] + }, + { + "name": "AttributeNotFound", + "doc": [ + "The provided attribute can't be found." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + }, + { + "name": "ReachedApprovalLimit", + "doc": [ + "The item has reached its approval limit." + ] + }, + { + "name": "DeadlineExpired", + "doc": [ + "The deadline has already expired." + ] + }, + { + "name": "WrongDuration", + "doc": [ + "The duration provided should be less than or equal to `MaxDeadlineDuration`." + ] + }, + { + "name": "MethodDisabled", + "doc": [ + "The method is disabled by system settings." + ] + }, + { + "name": "WrongSetting", + "doc": [ + "The provided setting can't be set." + ] + }, + { + "name": "InconsistentItemConfig", + "doc": [ + "Item's config already exists and should be equal to the provided one." + ] + }, + { + "name": "NoConfig", + "doc": [ + "Config for a collection or an item can't be found." + ] + }, + { + "name": "RolesNotCleared", + "doc": [ + "Some roles were not cleared." + ] + }, + { + "name": "MintNotStarted", + "doc": [ + "Mint has not started yet." + ] + }, + { + "name": "MintEnded", + "doc": [ + "Mint has already ended." + ] + }, + { + "name": "AlreadyClaimed", + "doc": [ + "The provided Item was already used for claiming." + ] + }, + { + "name": "IncorrectData", + "doc": [ + "The provided data is incorrect." + ] + }, + { + "name": "WrongOrigin", + "doc": [ + "The extrinsic was sent by the wrong origin." + ] + }, + { + "name": "WrongSignature", + "doc": [ + "The provided signature is incorrect." + ] + }, + { + "name": "IncorrectMetadata", + "doc": [ + "The provided metadata might be too long." + ] + }, + { + "name": "MaxAttributesLimitReached", + "doc": [ + "Can't set more attributes per one call." + ] + }, + { + "name": "WrongNamespace", + "doc": [ + "The provided namespace isn't supported in this call." + ] + }, + { + "name": "CollectionNotEmpty", + "doc": [ + "Can't delete non-empty collections." + ] + }, + { + "name": "WitnessRequired", + "doc": [ + "The witness data should be provided." + ] + } + ], + "errors_value": { + "type": 444 + }, + "index": 52 + }, + { + "name": "ForeignAssets", + "prefix": "ForeignAssets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 37, + "value_id": 403 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 445, + "value_id": 406 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 446, + "value_id": 410 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "pallet_assets:types:AssetMetadata@447", + "keys_id": 37, + "value_id": 447 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3500", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3501", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3502", + "name": "start_destroy", + "docs": [ + "See [`Pallet::start_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3503", + "name": "destroy_accounts", + "docs": [ + "See [`Pallet::destroy_accounts`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3504", + "name": "destroy_approvals", + "docs": [ + "See [`Pallet::destroy_approvals`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3505", + "name": "finish_destroy", + "docs": [ + "See [`Pallet::finish_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3506", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3507", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3508", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3509", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "350a", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "350b", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "350c", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "350d", + "name": "freeze_asset", + "docs": [ + "See [`Pallet::freeze_asset`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "350e", + "name": "thaw_asset", + "docs": [ + "See [`Pallet::thaw_asset`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "350f", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3510", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3511", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3512", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3513", + "name": "force_set_metadata", + "docs": [ + "See [`Pallet::force_set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3514", + "name": "force_clear_metadata", + "docs": [ + "See [`Pallet::force_clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3515", + "name": "force_asset_status", + "docs": [ + "See [`Pallet::force_asset_status`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3516", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3517", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3518", + "name": "force_cancel_approval", + "docs": [ + "See [`Pallet::force_cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3519", + "name": "transfer_approved", + "docs": [ + "See [`Pallet::transfer_approved`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "351a", + "name": "touch", + "docs": [ + "See [`Pallet::touch`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "351b", + "name": "refund", + "docs": [ + "See [`Pallet::refund`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "351c", + "name": "set_min_balance", + "docs": [ + "See [`Pallet::set_min_balance`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "351d", + "name": "touch_other", + "docs": [ + "See [`Pallet::touch_other`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "351e", + "name": "refund_other", + "docs": [ + "See [`Pallet::refund_other`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "351f", + "name": "block", + "docs": [ + "See [`Pallet::block`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 380 + }, + "events": [ + { + "lookup": "3500", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3501", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3502", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3503", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3504", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3505", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3506", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3507", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3508", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3509", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "350b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "350c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "350f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3510", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3511", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3512", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3513", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3514", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3515", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3516", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3517", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + } + ], + "events_value": { + "type": 145 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "c07e5778000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + } + ], + "errors_value": { + "type": 449 + }, + "index": 53 + }, + { + "name": "PoolAssets", + "prefix": "PoolAssets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 403 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 405, + "value_id": 406 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 409, + "value_id": 410 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata@450", + "keys_id": 4, + "value_id": 450 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3600", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3601", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3602", + "name": "start_destroy", + "docs": [ + "See [`Pallet::start_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3603", + "name": "destroy_accounts", + "docs": [ + "See [`Pallet::destroy_accounts`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3604", + "name": "destroy_approvals", + "docs": [ + "See [`Pallet::destroy_approvals`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3605", + "name": "finish_destroy", + "docs": [ + "See [`Pallet::finish_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3606", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3607", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3608", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3609", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "360a", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "360b", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "360c", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "360d", + "name": "freeze_asset", + "docs": [ + "See [`Pallet::freeze_asset`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "360e", + "name": "thaw_asset", + "docs": [ + "See [`Pallet::thaw_asset`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "360f", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3610", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3611", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3612", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3613", + "name": "force_set_metadata", + "docs": [ + "See [`Pallet::force_set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3614", + "name": "force_clear_metadata", + "docs": [ + "See [`Pallet::force_clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3615", + "name": "force_asset_status", + "docs": [ + "See [`Pallet::force_asset_status`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3616", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3617", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3618", + "name": "force_cancel_approval", + "docs": [ + "See [`Pallet::force_cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3619", + "name": "transfer_approved", + "docs": [ + "See [`Pallet::transfer_approved`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "361a", + "name": "touch", + "docs": [ + "See [`Pallet::touch`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "361b", + "name": "refund", + "docs": [ + "See [`Pallet::refund`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "361c", + "name": "set_min_balance", + "docs": [ + "See [`Pallet::set_min_balance`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "361d", + "name": "touch_other", + "docs": [ + "See [`Pallet::touch_other`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "361e", + "name": "refund_other", + "docs": [ + "See [`Pallet::refund_other`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "361f", + "name": "block", + "docs": [ + "See [`Pallet::block`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 381 + }, + "events": [ + { + "lookup": "3600", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3601", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3602", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3603", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3604", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3605", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3606", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3607", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3608", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3609", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "360a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "360b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "360c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "360d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "360e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "360f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3610", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3611", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3612", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3613", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3614", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3615", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "U32", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3616", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3617", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + } + ], + "events_value": { + "type": 146 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00000000000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00000000000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "00000000000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + } + ], + "errors_value": { + "type": 452 + }, + "index": 54 + }, + { + "name": "AssetConversion", + "prefix": "AssetConversion", + "storage": [ + { + "name": "Pools", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "U32", + "keys_id": 148, + "value_id": 453 + } + }, + "fallback": "0x00", + "docs": [ + " Map from `PoolAssetId` to `PoolInfo`. This establishes whether a pool has been officially", + " created rather than people sending tokens directly to a pool's public account." + ] + }, + { + "name": "NextPoolAssetId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Stores the `PoolAssetId` that is going to be used for the next lp token.", + " This gets incremented whenever a new lp pool is created." + ] + } + ], + "calls": [ + { + "lookup": "3700", + "name": "create_pool", + "docs": [ + "See [`Pallet::create_pool`]." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "3701", + "name": "add_liquidity", + "docs": [ + "See [`Pallet::add_liquidity`]." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "amount1_desired", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount2_desired", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount1_min", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount2_min", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "mint_to", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3702", + "name": "remove_liquidity", + "docs": [ + "See [`Pallet::remove_liquidity`]." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "lp_token_burn", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount1_min_receive", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount2_min_receive", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "withdraw_to", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3703", + "name": "swap_exact_tokens_for_tokens", + "docs": [ + "See [`Pallet::swap_exact_tokens_for_tokens`]." + ], + "args": [ + { + "name": "path", + "type": "Vec", + "type_name": "Vec>" + }, + { + "name": "amount_in", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount_out_min", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "send_to", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3704", + "name": "swap_tokens_for_exact_tokens", + "docs": [ + "See [`Pallet::swap_tokens_for_exact_tokens`]." + ], + "args": [ + { + "name": "path", + "type": "Vec", + "type_name": "Vec>" + }, + { + "name": "amount_out", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount_in_max", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "send_to", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 382 + }, + "events": [ + { + "lookup": "3700", + "name": "PoolCreated", + "docs": [ + "A successful call of the `CretaPool` extrinsic will create this event." + ], + "args": [ + "AccountId", + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U32" + ], + "args_name": [ + "creator", + "pool_id", + "pool_account", + "lp_token" + ], + "args_type_name": [ + "AccountId", + "PoolId", + "AccountId", + "PoolAssetId" + ] + }, + { + "lookup": "3701", + "name": "LiquidityAdded", + "docs": [ + "A successful call of the `AddLiquidity` extrinsic will create this event." + ], + "args": [ + "AccountId", + "AccountId", + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "U128", + "U128", + "U32", + "U128" + ], + "args_name": [ + "who", + "mint_to", + "pool_id", + "amount1_provided", + "amount2_provided", + "lp_token", + "lp_token_minted" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "PoolId", + "Balance", + "Balance", + "PoolAssetId", + "Balance" + ] + }, + { + "lookup": "3702", + "name": "LiquidityRemoved", + "docs": [ + "A successful call of the `RemoveLiquidity` extrinsic will create this event." + ], + "args": [ + "AccountId", + "AccountId", + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "U128", + "U128", + "U32", + "U128", + "U32" + ], + "args_name": [ + "who", + "withdraw_to", + "pool_id", + "amount1", + "amount2", + "lp_token", + "lp_token_burned", + "withdrawal_fee" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "PoolId", + "Balance", + "Balance", + "PoolAssetId", + "Balance", + "Permill" + ] + }, + { + "lookup": "3703", + "name": "SwapExecuted", + "docs": [ + "Assets have been converted from one to another. Both `SwapExactTokenForToken`", + "and `SwapTokenForExactToken` will generate this event." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "U128", + "Vec" + ], + "args_name": [ + "who", + "send_to", + "amount_in", + "amount_out", + "path" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Balance", + "BalancePath" + ] + }, + { + "lookup": "3704", + "name": "SwapCreditExecuted", + "docs": [ + "Assets have been converted from one to another." + ], + "args": [ + "U128", + "U128", + "Vec" + ], + "args_name": [ + "amount_in", + "amount_out", + "path" + ], + "args_type_name": [ + "Balance", + "Balance", + "BalancePath" + ] + } + ], + "events_value": { + "type": 147 + }, + "constants": [ + { + "name": "LPFee", + "type": "U32", + "type_value": 4, + "constants_value": "03000000", + "docs": [ + " A % the liquidity providers will take of every swap. Represents 10ths of a percent." + ] + }, + { + "name": "PoolSetupFee", + "type": "U128", + "type_value": 6, + "constants_value": "402d93ef000000000000000000000000", + "docs": [ + " A one-time fee to setup the pool." + ] + }, + { + "name": "PoolSetupFeeAsset", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_value": 37, + "constants_value": "0100", + "docs": [ + " Asset class from [`Config::Assets`] used to pay the [`Config::PoolSetupFee`]." + ] + }, + { + "name": "LiquidityWithdrawalFee", + "type": "U32", + "type_value": 149, + "constants_value": "00000000", + "docs": [ + " A fee to withdraw the liquidity." + ] + }, + { + "name": "MintMinLiquidity", + "type": "U128", + "type_value": 6, + "constants_value": "64000000000000000000000000000000", + "docs": [ + " The minimum LP token amount that could be minted. Ameliorates rounding errors." + ] + }, + { + "name": "MaxSwapPathLength", + "type": "U32", + "type_value": 4, + "constants_value": "03000000", + "docs": [ + " The max number of hops in a swap." + ] + }, + { + "name": "PalletId", + "type": "[U8; 8]", + "type_value": 454, + "constants_value": "70792f6173636f6e", + "docs": [ + " The pallet's id, used for deriving its sovereign account ID." + ] + } + ], + "errors": [ + { + "name": "InvalidAssetPair", + "doc": [ + "Provided asset pair is not supported for pool." + ] + }, + { + "name": "PoolExists", + "doc": [ + "Pool already exists." + ] + }, + { + "name": "WrongDesiredAmount", + "doc": [ + "Desired amount can't be zero." + ] + }, + { + "name": "AmountOneLessThanMinimal", + "doc": [ + "Provided amount should be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "AmountTwoLessThanMinimal", + "doc": [ + "Provided amount should be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "ReserveLeftLessThanMinimal", + "doc": [ + "Reserve needs to always be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "AmountOutTooHigh", + "doc": [ + "Desired amount can't be equal to the pool reserve." + ] + }, + { + "name": "PoolNotFound", + "doc": [ + "The pool doesn't exist." + ] + }, + { + "name": "Overflow", + "doc": [ + "An overflow happened." + ] + }, + { + "name": "AssetOneDepositDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the first token in the pair wasn't met." + ] + }, + { + "name": "AssetTwoDepositDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the second token in the pair wasn't met." + ] + }, + { + "name": "AssetOneWithdrawalDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the first token in the pair wasn't met." + ] + }, + { + "name": "AssetTwoWithdrawalDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the second token in the pair wasn't met." + ] + }, + { + "name": "OptimalAmountLessThanDesired", + "doc": [ + "Optimal calculated amount is less than desired." + ] + }, + { + "name": "InsufficientLiquidityMinted", + "doc": [ + "Insufficient liquidity minted." + ] + }, + { + "name": "ZeroLiquidity", + "doc": [ + "Requested liquidity can't be zero." + ] + }, + { + "name": "ZeroAmount", + "doc": [ + "Amount can't be zero." + ] + }, + { + "name": "ProvidedMinimumNotSufficientForSwap", + "doc": [ + "Calculated amount out is less than provided minimum amount." + ] + }, + { + "name": "ProvidedMaximumNotSufficientForSwap", + "doc": [ + "Provided maximum amount is not sufficient for swap." + ] + }, + { + "name": "InvalidPath", + "doc": [ + "The provided path must consists of 2 assets at least." + ] + }, + { + "name": "NonUniquePath", + "doc": [ + "The provided path must consists of unique assets." + ] + }, + { + "name": "IncorrectPoolAssetId", + "doc": [ + "It was not possible to get or increment the Id of the pool." + ] + }, + { + "name": "BelowMinimum", + "doc": [ + "The destination account cannot exist with the swapped funds." + ] + } + ], + "errors_value": { + "type": 455 + }, + "index": 55 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v1002005.json b/src/demo_substrate_events/abi/assethub/v1002005.json new file mode 100644 index 000000000..01ce119b9 --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v1002005.json @@ -0,0 +1,15752 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:dispatch:PerDispatchClass@8", + "PlainTypeValue": 8 + }, + "fallback": "0x000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 12 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 12 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 14 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 18 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: The item is unbound and should therefore never be read on chain.", + " It could otherwise inflate the PoV size of a block.", + "", + " Events have a large in-memory size. Box the events to not go out-of-memory", + " just in case someone still reads them from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 12, + "value_id": 154 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(BlockNumberFor, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 156 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 152 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:CodeUpgradeAuthorization", + "PlainTypeValue": 158 + }, + "fallback": "0x00", + "docs": [ + " `Some` if a code upgrade has been authorized." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "remark", + "docs": [ + "See [`Pallet::remark`]." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0001", + "name": "set_heap_pages", + "docs": [ + "See [`Pallet::set_heap_pages`]." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0002", + "name": "set_code", + "docs": [ + "See [`Pallet::set_code`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0003", + "name": "set_code_without_checks", + "docs": [ + "See [`Pallet::set_code_without_checks`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_storage", + "docs": [ + "See [`Pallet::set_storage`]." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0005", + "name": "kill_storage", + "docs": [ + "See [`Pallet::kill_storage`]." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_prefix", + "docs": [ + "See [`Pallet::kill_prefix`]." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0007", + "name": "remark_with_event", + "docs": [ + "See [`Pallet::remark_with_event`]." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0009", + "name": "authorize_upgrade", + "docs": [ + "See [`Pallet::authorize_upgrade`]." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "000a", + "name": "authorize_upgrade_without_checks", + "docs": [ + "See [`Pallet::authorize_upgrade_without_checks`]." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "000b", + "name": "apply_authorized_upgrade", + "docs": [ + "See [`Pallet::apply_authorized_upgrade`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 159 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + }, + { + "lookup": "0006", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade was authorized." + ], + "args": [ + "H256", + "Bool" + ], + "args_name": [ + "code_hash", + "check_version" + ], + "args_type_name": [ + "Hash", + "bool" + ] + } + ], + "events_value": { + "type": 21 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 163, + "constants_value": "0700f2052a0100070088526a74020040010265cd1d000107c0d22c76510200e000010700e6bd4f570200f0000100000265cd1d000107c074c1906e0200300101070088526a7402004001010700a2941a1d020050000265cd1d00000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:dispatch:PerDispatchClass@168", + "type_value": 167, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "00100000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "sp_weights:RuntimeDbWeight", + "type_value": 169, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 170, + "constants_value": "2473746174656d696e742473746174656d696e7401000000154a0f00000000003cdd718d5cc53262d401000000d7bdd8a272ca0d6501000000df6acb689907609b0400000037e397fc7c91f5e40200000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000f3ff14d5ab52705903000000de92b8a0426b9bf602000000ea93e3f16f3d696202000000fbc577b9d747efd6010000008a8047a53a8277ec010000000f00000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 129, + "constants_value": "0000", + "docs": [ + " The designated SS58 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No upgrade authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The submitted code is not authorized." + ] + } + ], + "errors_value": { + "type": 174 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "UnincludedSegment", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 175 + }, + "fallback": "0x00", + "docs": [ + " Latest included block descendants the runtime accepted. In other words, these are", + " ancestors of the currently executing block which have not been included in the observed", + " relay-chain state.", + "", + " The segment length is limited by the capacity returned from the [`ConsensusHook`] configured", + " in the pallet." + ] + }, + { + "name": "AggregatedUnincludedSegment", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:unincluded_segment:SegmentTracker", + "PlainTypeValue": 185 + }, + "fallback": "0x00", + "docs": [ + " Storage field that keeps track of bandwidth used by the unincluded segment along with the", + " latest HRMP watermark. Used for limiting the acceptance of new blocks with", + " respect to relay chain constraints." + ] + }, + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be", + " applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the", + " [`:code`][sp_core::storage::well_known_keys::CODE] which will result the next block process", + " with the new validation code. This concludes the upgrade process." + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v6:PersistedValidationData", + "PlainTypeValue": 186 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "LastRelayChainBlockNumber", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The relay chain block number associated with the last parachain block.", + "", + " This is updated in `on_finalize`." + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 188 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "UpgradeGoAhead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 183 + }, + "fallback": "0x00", + "docs": [ + " Optional upgrade go-ahead signal from the relay-chain.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelayStateProof", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 190 + }, + "fallback": "0x00", + "docs": [ + " The state proof for the last relay parent block.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 192 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v6:AbridgedHostConfiguration", + "PlainTypeValue": 197 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 199 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 200 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 203 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 162 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 162 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "UpwardDeliveryFeeFactor", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 205 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": [ + " The factor to multiply the base delivery fee by for UMP." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See `Pallet::set_custom_validation_head_data` for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "See [`Pallet::set_validation_data`]." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": [ + "See [`Pallet::sudo_send_upward_message`]." + ], + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": [ + "See [`Pallet::authorize_upgrade`]." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + }, + { + "name": "check_version", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": [ + "See [`Pallet::enact_authorized_upgrade`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 206 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "relay_chain_block_num" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed." + ], + "args": [ + "U32" + ], + "args_name": [ + "count" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight." + ], + "args": [ + "sp_weights:weight_v2:Weight", + "H256" + ], + "args_name": [ + "weight_used", + "dmq_head" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + }, + { + "lookup": "0105", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option<[U8; 32]>" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + } + ], + "events_value": { + "type": 31 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending." + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function." + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run." + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block." + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block." + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 215 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " Whether the timestamp has been updated in this block.", + "", + " This value is updated to `true` upon successful submission of a timestamp by a node.", + " It is then checked at the end of each block execution in the `on_finalize` hook." + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "See [`Pallet::set`]." + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 216 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 11, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks.", + "", + " Be aware that this is different to the *expected* period that the block production", + " apparatus provides. Your chosen consensus system will generally work with this to", + " determine a sensible block time. For example, in the Aura pallet it will be double this", + " period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 120 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "calls_value": { + "type": 217 + }, + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "InactiveIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units of outstanding deactivated balance in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:types:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 218 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 222 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances." + ] + }, + { + "name": "Holds", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 225 + } + }, + "fallback": "0x00", + "docs": [ + " Holds on account balances." + ] + }, + { + "name": "Freezes", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 229 + } + }, + "fallback": "0x00", + "docs": [ + " Freeze locks on account balances." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer_allow_death", + "docs": [ + "See [`Pallet::transfer_allow_death`]." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "See [`Pallet::transfer_all`]." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "See [`Pallet::force_unreserve`]." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a06", + "name": "upgrade_accounts", + "docs": [ + "See [`Pallet::upgrade_accounts`]." + ], + "args": [ + { + "name": "who", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0a08", + "name": "force_set_balance", + "docs": [ + "See [`Pallet::force_set_balance`]." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a09", + "name": "force_adjust_total_issuance", + "docs": [ + "See [`Pallet::force_adjust_total_issuance`]." + ], + "args": [ + { + "name": "direction", + "type": "pallet_balances:types:AdjustmentDirection", + "type_name": "AdjustmentDirection" + }, + { + "name": "delta", + "type": "compact", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 232 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "free" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0a", + "name": "Minted", + "docs": [ + "Some amount was minted into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0b", + "name": "Burned", + "docs": [ + "Some amount was burned from an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0c", + "name": "Suspended", + "docs": [ + "Some amount was suspended from an account (it can be restored later)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0d", + "name": "Restored", + "docs": [ + "Some amount was restored into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0e", + "name": "Upgraded", + "docs": [ + "An account was upgraded." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "who" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0a0f", + "name": "Issued", + "docs": [ + "Total issuance was increased by `amount`, creating a credit to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a10", + "name": "Rescinded", + "docs": [ + "Total issuance was decreased by `amount`, creating a debt to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a11", + "name": "Locked", + "docs": [ + "Some balance was locked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a12", + "name": "Unlocked", + "docs": [ + "Some balance was unlocked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a13", + "name": "Frozen", + "docs": [ + "Some balance was frozen." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a14", + "name": "Thawed", + "docs": [ + "Some balance was thawed." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a15", + "name": "TotalIssuanceForced", + "docs": [ + "The `TotalIssuance` was forcefully changed." + ], + "args": [ + "U128", + "U128" + ], + "args_name": [ + "old", + "new" + ], + "args_type_name": [ + "Balance", + "Balance" + ] + } + ], + "events_value": { + "type": 33 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!", + "", + " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for", + " this pallet. However, you do so at your own risk: this will open up a major DoS vector.", + " In case you have multiple sources of provider references, you may also get unexpected", + " behaviour if you set this to zero.", + "", + " Bottom line: Do yourself a favour and make it at least one!" + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + }, + { + "name": "MaxFreezes", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The maximum number of individual freeze locks that can exist on an account at any time." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value." + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal." + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value." + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit." + ] + }, + { + "name": "Expendability", + "doc": [ + "Transfer/payment would kill account." + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account." + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist." + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed `MaxReserves`." + ] + }, + { + "name": "TooManyHolds", + "doc": [ + "Number of holds exceed `VariantCountOf`." + ] + }, + { + "name": "TooManyFreezes", + "doc": [ + "Number of freezes exceed `MaxFreezes`." + ] + }, + { + "name": "IssuanceDeactivated", + "doc": [ + "The issuance cannot be modified since it is already deactivated." + ] + }, + { + "name": "DeltaZero", + "doc": [ + "The delta cannot be zero." + ] + } + ], + "errors_value": { + "type": 236 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 205 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 237 + }, + "fallback": "0x00", + "docs": null + } + ], + "events": [ + { + "lookup": "0b00", + "name": "TransactionFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who`." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "actual_fee", + "tip" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf" + ] + } + ], + "events_value": { + "type": 35 + }, + "constants": [ + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee multiplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multiplied by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "0d00", + "name": "AssetTxFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who` in an asset `asset_id`." + ], + "args": [ + "AccountId", + "U128", + "U128", + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "who", + "actual_fee", + "tip", + "asset_id" + ], + "args_type_name": [ + "AccountId", + "AssetBalanceOf", + "BalanceOf", + "ChargeAssetIdOf" + ] + }, + { + "lookup": "0d01", + "name": "AssetRefundFailed", + "docs": [ + "A swap of the refund in native currency back to asset failed." + ], + "args": [ + "U128" + ], + "args_name": [ + "native_amount_kept" + ], + "args_type_name": [ + "BalanceOf" + ] + } + ], + "events_value": { + "type": 36 + }, + "errors": null, + "errors_value": null, + "index": 13 + }, + { + "name": "Vesting", + "prefix": "Vesting", + "storage": [ + { + "name": "Vesting", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 238 + } + }, + "fallback": "0x00", + "docs": [ + " Information regarding the vesting of a given account." + ] + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_vesting:Releases", + "PlainTypeValue": 241 + }, + "fallback": "0x00", + "docs": [ + " Storage version of the pallet.", + "", + " New networks start with latest version, as determined by the genesis build." + ] + } + ], + "calls": [ + { + "lookup": "0e00", + "name": "vest", + "docs": [ + "See [`Pallet::vest`]." + ], + "args": null + }, + { + "lookup": "0e01", + "name": "vest_other", + "docs": [ + "See [`Pallet::vest_other`]." + ], + "args": [ + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "0e02", + "name": "vested_transfer", + "docs": [ + "See [`Pallet::vested_transfer`]." + ], + "args": [ + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "schedule", + "type": "pallet_vesting:vesting_info:VestingInfo", + "type_name": "VestingInfo" + } + ] + }, + { + "lookup": "0e03", + "name": "force_vested_transfer", + "docs": [ + "See [`Pallet::force_vested_transfer`]." + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "schedule", + "type": "pallet_vesting:vesting_info:VestingInfo", + "type_name": "VestingInfo" + } + ] + }, + { + "lookup": "0e04", + "name": "merge_schedules", + "docs": [ + "See [`Pallet::merge_schedules`]." + ], + "args": [ + { + "name": "schedule1_index", + "type": "U32", + "type_name": "u32" + }, + { + "name": "schedule2_index", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0e05", + "name": "force_remove_vesting_schedule", + "docs": [ + "See [`Pallet::force_remove_vesting_schedule`]." + ], + "args": [ + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "schedule_index", + "type": "U32", + "type_name": "u32" + } + ] + } + ], + "calls_value": { + "type": 242 + }, + "events": [ + { + "lookup": "0e00", + "name": "VestingUpdated", + "docs": [ + "The amount vested has been updated. This could indicate a change in funds available.", + "The balance given is the amount which is left unvested (and thus locked)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "unvested" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "0e01", + "name": "VestingCompleted", + "docs": [ + "An \\[account\\] has become fully vested." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 47 + }, + "constants": [ + { + "name": "MinVestedTransfer", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The minimum amount transferred to call `vested_transfer`." + ] + }, + { + "name": "MaxVestingSchedules", + "type": "U32", + "type_value": 4, + "constants_value": "1c000000", + "docs": null + } + ], + "errors": [ + { + "name": "NotVesting", + "doc": [ + "The account given is not vesting." + ] + }, + { + "name": "AtMaxVestingSchedules", + "doc": [ + "The account already has `MaxVestingSchedules` count of schedules and thus", + "cannot add another one. Consider merging existing schedules in order to add another." + ] + }, + { + "name": "AmountLow", + "doc": [ + "Amount being transferred is too low to create a vesting schedule." + ] + }, + { + "name": "ScheduleIndexOutOfBounds", + "doc": [ + "An index was out of bounds of the vesting schedules." + ] + }, + { + "name": "InvalidScheduleParams", + "doc": [ + "Failed to create a new schedule because some parameter was invalid." + ] + } + ], + "errors_value": { + "type": 243 + }, + "index": 14 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 244 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, permissioned collators. This list must be sorted." + ] + }, + { + "name": "CandidateList", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 245 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates. `Candidates` and `Invulnerables` should be", + " mutually exclusive.", + "", + " This list is sorted in ascending order by deposit and when the deposits are equal, the least", + " recently updated is considered greater." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "See [`Pallet::set_invulnerables`]." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "See [`Pallet::set_desired_candidates`]." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "See [`Pallet::set_candidacy_bond`]." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "See [`Pallet::register_as_candidate`]." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "See [`Pallet::leave_intent`]." + ], + "args": null + }, + { + "lookup": "1505", + "name": "add_invulnerable", + "docs": [ + "See [`Pallet::add_invulnerable`]." + ], + "args": [ + { + "name": "who", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "1506", + "name": "remove_invulnerable", + "docs": [ + "See [`Pallet::remove_invulnerable`]." + ], + "args": [ + { + "name": "who", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "1507", + "name": "update_bond", + "docs": [ + "See [`Pallet::update_bond`]." + ], + "args": [ + { + "name": "new_deposit", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1508", + "name": "take_candidate_slot", + "docs": [ + "See [`Pallet::take_candidate_slot`]." + ], + "args": [ + { + "name": "deposit", + "type": "U128", + "type_name": "BalanceOf" + }, + { + "name": "target", + "type": "AccountId", + "type_name": "AccountId" + } + ] + } + ], + "calls_value": { + "type": 248 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": [ + "New Invulnerables were set." + ], + "args": [ + "Vec" + ], + "args_name": [ + "invulnerables" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "InvulnerableAdded", + "docs": [ + "A new Invulnerable was added." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1502", + "name": "InvulnerableRemoved", + "docs": [ + "An Invulnerable was removed." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1503", + "name": "NewDesiredCandidates", + "docs": [ + "The number of desired candidates was set." + ], + "args": [ + "U32" + ], + "args_name": [ + "desired_candidates" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1504", + "name": "NewCandidacyBond", + "docs": [ + "The candidacy bond was set." + ], + "args": [ + "U128" + ], + "args_name": [ + "bond_amount" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1505", + "name": "CandidateAdded", + "docs": [ + "A new candidate joined." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1506", + "name": "CandidateBondUpdated", + "docs": [ + "Bond of a candidate updated." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1507", + "name": "CandidateRemoved", + "docs": [ + "A candidate was removed." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1508", + "name": "CandidateReplaced", + "docs": [ + "An account was replaced in the candidate list by another one." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "old", + "new", + "deposit" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1509", + "name": "InvalidInvulnerableSkipped", + "docs": [ + "An account was unable to be added to the Invulnerables because they did not have keys", + "registered. Other Invulnerables may have been set." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 48 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "The pallet has too many candidates." + ] + }, + { + "name": "TooFewEligibleCollators", + "doc": [ + "Leaving would result in too few candidates." + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "Account is already a candidate." + ] + }, + { + "name": "NotCandidate", + "doc": [ + "Account is not a candidate." + ] + }, + { + "name": "TooManyInvulnerables", + "doc": [ + "There are too many Invulnerables." + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "Account is already an Invulnerable." + ] + }, + { + "name": "NotInvulnerable", + "doc": [ + "Account is not an Invulnerable." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID." + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered." + ] + }, + { + "name": "InsertToCandidateListFailed", + "doc": [ + "Could not insert in the candidate list." + ] + }, + { + "name": "RemoveFromCandidateListFailed", + "doc": [ + "Could not remove from the candidate list." + ] + }, + { + "name": "DepositTooLow", + "doc": [ + "New deposit amount would be below the minimum candidacy bond." + ] + }, + { + "name": "UpdateCandidateListFailed", + "doc": [ + "Could not update the candidate list." + ] + }, + { + "name": "InsufficientBond", + "doc": [ + "Deposit amount is too low to take the target's slot in the candidate list." + ] + }, + { + "name": "TargetIsNotCandidate", + "doc": [ + "The target account to be replaced in the candidate list is not a candidate." + ] + }, + { + "name": "IdenticalDeposit", + "doc": [ + "The updated deposit amount is equal to the amount already reserved." + ] + }, + { + "name": "InvalidUnreserve", + "doc": [ + "Cannot lower candidacy bond while occupying a future collator slot in the list." + ] + } + ], + "errors_value": { + "type": 249 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 49 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 250 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 133 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 252 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 255, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "See [`Pallet::set_keys`]." + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "See [`Pallet::purge_keys`]." + ], + "args": null + } + ], + "calls_value": { + "type": 257 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 50 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 258 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 259 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 261 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 259 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will", + " always be updated to the latest AuRa authorities in `on_finalize`." + ] + }, + { + "name": "SlotInfo", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Tuple:U64U32", + "PlainTypeValue": 262 + }, + "fallback": "0x00", + "docs": [ + " Current slot paired with a number of authored blocks.", + "", + " Updated on each block initialization." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 263 + }, + "fallback": "0x00", + "docs": [ + " The suspended inbound XCMP channels. All others are not suspended.", + "", + " This is a `StorageValue` instead of a `StorageMap` since we expect multiple reads per block", + " to different keys with a one byte payload. The access to `BoundedBTreeSet` will be cached", + " within the block and therefore only included once in the proof size.", + "", + " NOTE: The PoV benchmarking cannot know this and will over-estimate, but the actual proof", + " will be smaller." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 266 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 269, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 120, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 270 + }, + "fallback": "0x200000003000000008000000", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + }, + { + "name": "DeliveryFeeFactor", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U128", + "keys_id": 120, + "value_id": 205 + } + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": [ + " The factor to multiply the base delivery fee by." + ] + } + ], + "calls": [ + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "See [`Pallet::suspend_xcm_execution`]." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "See [`Pallet::resume_xcm_execution`]." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "See [`Pallet::update_suspend_threshold`]." + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "See [`Pallet::update_drop_threshold`]." + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "See [`Pallet::update_resume_threshold`]." + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + } + ], + "calls_value": { + "type": 271 + }, + "events": [ + { + "lookup": "1e00", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "XcmHash" + ] + } + ], + "events_value": { + "type": 51 + }, + "constants": [ + { + "name": "MaxInboundSuspended", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " The maximum number of inbound XCMP channels that can be suspended simultaneously.", + "", + " Any further channel suspensions will fail and messages may get dropped without further", + " notice. Choosing a high value (1000) is okay; the trade-off that is described in", + " [`InboundXcmpSuspended`] still applies at that scale." + ] + } + ], + "errors": [ + { + "name": "BadQueueConfig", + "doc": [ + "Setting the queue config failed since one of its values was invalid." + ] + }, + { + "name": "AlreadySuspended", + "doc": [ + "The execution is already suspended." + ] + }, + { + "name": "AlreadyResumed", + "doc": [ + "The execution is already resumed." + ] + } + ], + "errors_value": { + "type": 272 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 11, + "value_id": 273 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 12, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `Assets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedLocation" + ], + "value": "U32", + "keys_id": 287, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedLocation" + ], + "value": "U64", + "keys_id": 287, + "value_id": 11 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedLocation" + ], + "value": "Tuple:U64sp_weights:weight_v2:WeightU32", + "keys_id": 287, + "value_id": 288 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 289 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 292 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + }, + { + "name": "RemoteLockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "xcm:VersionedAssetId" + ], + "value": "pallet_xcm:pallet:RemoteLockedFungibleRecord", + "keys_id": 294, + "value_id": 296 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on a remote chain." + ] + }, + { + "name": "LockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 300 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on this chain." + ] + }, + { + "name": "XcmExecutionSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " Global suspension state of the XCM executor." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": [ + "See [`Pallet::send`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@304", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "See [`Pallet::teleport_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "See [`Pallet::reserve_transfer_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "See [`Pallet::execute`]." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@320", + "type_name": "Box::RuntimeCall>>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "See [`Pallet::force_xcm_version`]." + ], + "args": [ + { + "name": "location", + "type": "staging_xcm:v4:location:Location", + "type_name": "Box" + }, + { + "name": "version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "See [`Pallet::force_default_xcm_version`]." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "See [`Pallet::force_subscribe_version_notify`]." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "See [`Pallet::force_unsubscribe_version_notify`]." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "See [`Pallet::limited_reserve_transfer_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "See [`Pallet::limited_teleport_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f0a", + "name": "force_suspension", + "docs": [ + "See [`Pallet::force_suspension`]." + ], + "args": [ + { + "name": "suspended", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "1f0b", + "name": "transfer_assets", + "docs": [ + "See [`Pallet::transfer_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f0c", + "name": "claim_assets", + "docs": [ + "See [`Pallet::claim_assets`]." + ], + "args": [ + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f0d", + "name": "transfer_assets_using_type_and_then", + "docs": [ + "See [`Pallet::transfer_assets_using_type_and_then`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "assets_transfer_type", + "type": "staging_xcm_executor:traits:asset_transfer:TransferType", + "type_name": "Box" + }, + { + "name": "remote_fees_id", + "type": "xcm:VersionedAssetId", + "type_name": "Box" + }, + { + "name": "fees_transfer_type", + "type": "staging_xcm_executor:traits:asset_transfer:TransferType", + "type_name": "Box" + }, + { + "name": "custom_xcm_on_dest", + "type": "xcm:VersionedXcm@304", + "type_name": "Box>" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + } + ], + "calls_value": { + "type": 303 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted." + ], + "args": [ + "staging_xcm:v4:traits:Outcome" + ], + "args_name": [ + "outcome" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent." + ], + "args": [ + "staging_xcm:v4:location:Location", + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "origin", + "destination", + "message", + "message_id" + ], + "args_type_name": [ + "Location", + "Location", + "Xcm<()>", + "XcmHash" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "Location", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call." + ], + "args": [ + "U64", + "staging_xcm:v4:Response" + ], + "args_name": [ + "query_id", + "response" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification", + "could not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result." + ], + "args": [ + "U64", + "U8", + "U8", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index", + "actual_weight", + "max_budgeted_weight" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64", + "option" + ], + "args_name": [ + "origin", + "query_id", + "expected_location" + ], + "args_type_name": [ + "Location", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "Location", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed." + ], + "args": [ + "U64" + ], + "args_name": [ + "query_id" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap." + ], + "args": [ + "H256", + "staging_xcm:v4:location:Location", + "xcm:VersionedAssets" + ], + "args_name": [ + "hash", + "origin", + "assets" + ], + "args_type_name": [ + "H256", + "Location", + "VersionedAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "The cost of sending it (borne by the chain) is included." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U32", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "result", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "XcmVersion", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U32" + ], + "args_name": [ + "location", + "version" + ], + "args_type_name": [ + "Location", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64", + "xcm:v3:traits:Error" + ], + "args_name": [ + "location", + "query_id", + "error" + ], + "args_type_name": [ + "Location", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format." + ], + "args": [ + "xcm:VersionedLocation", + "U64" + ], + "args_name": [ + "location", + "query_id" + ], + "args_type_name": [ + "VersionedLocation", + "QueryId" + ] + }, + { + "lookup": "1f10", + "name": "InvalidQuerierVersion", + "docs": [ + "Expected query response has been received but the expected querier location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "Location", + "QueryId" + ] + }, + { + "lookup": "1f11", + "name": "InvalidQuerier", + "docs": [ + "Expected query response has been received but the querier location of the response does", + "not match the expected. The query remains registered for a later, valid, response to", + "be received and acted upon." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64", + "staging_xcm:v4:location:Location", + "option" + ], + "args_name": [ + "origin", + "query_id", + "expected_querier", + "maybe_actual_querier" + ], + "args_type_name": [ + "Location", + "QueryId", + "Location", + "Option" + ] + }, + { + "lookup": "1f12", + "name": "VersionNotifyStarted", + "docs": [ + "A remote has requested XCM version change notification from us and we have honored it.", + "A version information message is sent to them and its cost is included." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f13", + "name": "VersionNotifyRequested", + "docs": [ + "We have requested that a remote chain send us XCM version change notifications." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f14", + "name": "VersionNotifyUnrequested", + "docs": [ + "We have requested that a remote chain stops sending us XCM version change", + "notifications." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f15", + "name": "FeesPaid", + "docs": [ + "Fees were paid from a location for an operation (often for using `SendXcm`)." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec" + ], + "args_name": [ + "paying", + "fees" + ], + "args_type_name": [ + "Location", + "Assets" + ] + }, + { + "lookup": "1f16", + "name": "AssetsClaimed", + "docs": [ + "Some assets have been claimed from an asset trap" + ], + "args": [ + "H256", + "staging_xcm:v4:location:Location", + "xcm:VersionedAssets" + ], + "args_name": [ + "hash", + "origin", + "assets" + ], + "args_type_name": [ + "H256", + "Location", + "VersionedAssets" + ] + }, + { + "lookup": "1f17", + "name": "VersionMigrationFinished", + "docs": [ + "A XCM version migration finished." + ], + "args": [ + "U32" + ], + "args_name": [ + "version" + ], + "args_type_name": [ + "XcmVersion" + ] + } + ], + "events_value": { + "type": 52 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message.", + "Perhaps a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `Location` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + }, + { + "name": "CannotCheckOutTeleport", + "doc": [ + "Could not check-out the assets for teleportation to the destination chain." + ] + }, + { + "name": "LowBalance", + "doc": [ + "The owner does not own (all) of the asset that they wish to do the operation on." + ] + }, + { + "name": "TooManyLocks", + "doc": [ + "The asset owner has too many locks on the asset." + ] + }, + { + "name": "AccountNotSovereign", + "doc": [ + "The given account is not an identifiable sovereign account for any location." + ] + }, + { + "name": "FeesNotMet", + "doc": [ + "The operation required fees to be paid which the initiator could not meet." + ] + }, + { + "name": "LockNotFound", + "doc": [ + "A remote lock with the corresponding data could not be found." + ] + }, + { + "name": "InUse", + "doc": [ + "The unlock operation cannot succeed because there are still consumers of the lock." + ] + }, + { + "name": "InvalidAssetNotConcrete", + "doc": [ + "Invalid non-concrete asset." + ] + }, + { + "name": "InvalidAssetUnknownReserve", + "doc": [ + "Invalid asset, reserve chain could not be determined for it." + ] + }, + { + "name": "InvalidAssetUnsupportedReserve", + "doc": [ + "Invalid asset, do not support remote asset reserves with different fees reserves." + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Too many assets with different reserve locations have been attempted for transfer." + ] + }, + { + "name": "LocalExecutionIncomplete", + "doc": [ + "Local XCM execution incomplete." + ] + } + ], + "errors_value": { + "type": 332 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "calls_value": { + "type": 333 + }, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 32]", + "staging_xcm:v4:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 32]", + "Outcome" + ] + } + ], + "events_value": { + "type": 117 + }, + "errors": null, + "errors_value": null, + "index": 32 + }, + { + "name": "ToKusamaXcmRouter", + "prefix": "ToKusamaXcmRouter", + "storage": [ + { + "name": "Bridge", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "bp_xcm_bridge_hub_router:BridgeState", + "PlainTypeValue": 334 + }, + "fallback": "0x000064a7b3b6e00d000000000000000000", + "docs": [ + " Bridge that we are using.", + "", + " **bridges-v1** assumptions: all outbound messages through this router are using single lane", + " and to single remote consensus. If there is some other remote consensus that uses the same", + " bridge hub, the separate pallet instance shall be used, In `v2` we'll have all required", + " primitives (lane-id aka bridge-id, derived from XCM locations) to support multiple bridges", + " by the same pallet instance." + ] + } + ], + "calls": [ + { + "lookup": "2200", + "name": "report_bridge_status", + "docs": [ + "See [`Pallet::report_bridge_status`]." + ], + "args": [ + { + "name": "bridge_id", + "type": "H256", + "type_name": "H256" + }, + { + "name": "is_congested", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 335 + }, + "errors": null, + "errors_value": null, + "index": 34 + }, + { + "name": "MessageQueue", + "prefix": "MessageQueue", + "storage": [ + { + "name": "BookStateFor", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "cumulus_primitives_core:AggregateMessageOrigin" + ], + "value": "pallet_message_queue:BookState", + "keys_id": 119, + "value_id": 336 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The index of the first and last (non-empty) pages." + ] + }, + { + "name": "ServiceHead", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_primitives_core:AggregateMessageOrigin", + "PlainTypeValue": 119 + }, + "fallback": "0x00", + "docs": [ + " The origin at which we should begin servicing." + ] + }, + { + "name": "Pages", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key_vec": [ + "cumulus_primitives_core:AggregateMessageOrigin", + "U32" + ], + "value": "pallet_message_queue:Page", + "keys_id": 339, + "value_id": 340 + } + }, + "fallback": "0x00", + "docs": [ + " The map of page indices to pages." + ] + } + ], + "calls": [ + { + "lookup": "2300", + "name": "reap_page", + "docs": [ + "See [`Pallet::reap_page`]." + ], + "args": [ + { + "name": "message_origin", + "type": "cumulus_primitives_core:AggregateMessageOrigin", + "type_name": "MessageOriginOf" + }, + { + "name": "page_index", + "type": "U32", + "type_name": "PageIndex" + } + ] + }, + { + "lookup": "2301", + "name": "execute_overweight", + "docs": [ + "See [`Pallet::execute_overweight`]." + ], + "args": [ + { + "name": "message_origin", + "type": "cumulus_primitives_core:AggregateMessageOrigin", + "type_name": "MessageOriginOf" + }, + { + "name": "page", + "type": "U32", + "type_name": "PageIndex" + }, + { + "name": "index", + "type": "U32", + "type_name": "Size" + }, + { + "name": "weight_limit", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 342 + }, + "events": [ + { + "lookup": "2300", + "name": "ProcessingFailed", + "docs": [ + "Message discarded due to an error in the `MessageProcessor` (usually a format error)." + ], + "args": [ + "H256", + "cumulus_primitives_core:AggregateMessageOrigin", + "frame_support:traits:messages:ProcessMessageError" + ], + "args_name": [ + "id", + "origin", + "error" + ], + "args_type_name": [ + "H256", + "MessageOriginOf", + "ProcessMessageError" + ] + }, + { + "lookup": "2301", + "name": "Processed", + "docs": [ + "Message is processed." + ], + "args": [ + "H256", + "cumulus_primitives_core:AggregateMessageOrigin", + "sp_weights:weight_v2:Weight", + "Bool" + ], + "args_name": [ + "id", + "origin", + "weight_used", + "success" + ], + "args_type_name": [ + "H256", + "MessageOriginOf", + "Weight", + "bool" + ] + }, + { + "lookup": "2302", + "name": "OverweightEnqueued", + "docs": [ + "Message placed in overweight queue." + ], + "args": [ + "[U8; 32]", + "cumulus_primitives_core:AggregateMessageOrigin", + "U32", + "U32" + ], + "args_name": [ + "id", + "origin", + "page_index", + "message_index" + ], + "args_type_name": [ + "[u8; 32]", + "MessageOriginOf", + "PageIndex", + "Size" + ] + }, + { + "lookup": "2303", + "name": "PageReaped", + "docs": [ + "This page was reaped." + ], + "args": [ + "cumulus_primitives_core:AggregateMessageOrigin", + "U32" + ], + "args_name": [ + "origin", + "index" + ], + "args_type_name": [ + "MessageOriginOf", + "PageIndex" + ] + } + ], + "events_value": { + "type": 118 + }, + "constants": [ + { + "name": "HeapSize", + "type": "U32", + "type_value": 4, + "constants_value": "00000100", + "docs": [ + " The size of the page; this implies the maximum message size which can be sent.", + "", + " A good value depends on the expected message sizes, their weights, the weight that is", + " available for processing them and the maximal needed message size. The maximal message", + " size is slightly lower than this as defined by [`MaxMessageLenOf`]." + ] + }, + { + "name": "MaxStale", + "type": "U32", + "type_value": 4, + "constants_value": "08000000", + "docs": [ + " The maximum number of stale pages (i.e. of overweight messages) allowed before culling", + " can happen. Once there are more stale pages than this, then historical pages may be", + " dropped, even if they contain unprocessed overweight messages." + ] + }, + { + "name": "ServiceWeight", + "type": "option", + "type_value": 166, + "constants_value": "01070016d0be2802007000", + "docs": [ + " The amount of weight (if any) which should be provided to the message queue for", + " servicing enqueued items.", + "", + " This may be legitimately `None` in the case that you will call", + " `ServiceQueues::service_queues` manually." + ] + } + ], + "errors": [ + { + "name": "NotReapable", + "doc": [ + "Page is not reapable because it has items remaining to be processed and is not old", + "enough." + ] + }, + { + "name": "NoPage", + "doc": [ + "Page to be reaped does not exist." + ] + }, + { + "name": "NoMessage", + "doc": [ + "The referenced message could not be found." + ] + }, + { + "name": "AlreadyProcessed", + "doc": [ + "The message was already processed and cannot be processed again." + ] + }, + { + "name": "Queued", + "doc": [ + "The message is queued for future execution." + ] + }, + { + "name": "InsufficientWeight", + "doc": [ + "There is temporarily not enough weight to continue servicing messages." + ] + }, + { + "name": "TemporarilyUnprocessable", + "doc": [ + "This message is temporarily unprocessable.", + "", + "Such errors are expected, but not guaranteed, to resolve themselves eventually through", + "retrying." + ] + }, + { + "name": "QueuePaused", + "doc": [ + "The queue is paused and no message can be executed from it.", + "", + "This can change at any time and may resolve in the future by re-trying." + ] + }, + { + "name": "RecursiveDisallowed", + "doc": [ + "Another call is in progress and needs to finish before this call can happen." + ] + } + ], + "errors_value": { + "type": 343 + }, + "index": 35 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "See [`Pallet::batch`]." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "See [`Pallet::as_derivative`]." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "See [`Pallet::batch_all`]." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "See [`Pallet::dispatch_as`]." + ], + "args": [ + { + "name": "as_origin", + "type": "asset_hub_polkadot_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2804", + "name": "force_batch", + "docs": [ + "See [`Pallet::force_batch`]." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2805", + "name": "with_weight", + "docs": [ + "See [`Pallet::with_weight`]." + ], + "args": [ + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 344 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "BatchCompletedWithErrors", + "docs": [ + "Batch of dispatches completed but has errors." + ], + "args": null + }, + { + "lookup": "2803", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2804", + "name": "ItemFailed", + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ], + "args": [ + "sp_runtime:DispatchError" + ], + "args_name": [ + "error" + ], + "args_type_name": [ + "DispatchError" + ] + }, + { + "lookup": "2805", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 122 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 389 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 390, + "value_id": 391 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "See [`Pallet::as_multi_threshold_1`]." + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "See [`Pallet::as_multi`]." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "See [`Pallet::approve_as_multi`]." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "See [`Pallet::cancel_as_multi`]." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 347 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 125 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00dbbb77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "00d43000000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U32", + "type_value": 4, + "constants_value": "64000000", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 393 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@395U128", + "keys_id": 0, + "value_id": 394 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@399U128", + "keys_id": 0, + "value_id": 398 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "See [`Pallet::proxy`]." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "See [`Pallet::add_proxy`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "See [`Pallet::remove_proxy`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "See [`Pallet::remove_proxies`]." + ], + "args": null + }, + { + "lookup": "2a04", + "name": "create_pure", + "docs": [ + "See [`Pallet::create_pure`]." + ], + "args": [ + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_pure", + "docs": [ + "See [`Pallet::kill_pure`]." + ], + "args": [ + { + "name": "spawner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumberFor" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "See [`Pallet::announce`]." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "See [`Pallet::remove_announcement`]." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "See [`Pallet::reject_announcement`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "See [`Pallet::proxy_announced`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + } + ], + "calls_value": { + "type": 349 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "PureCreated", + "docs": [ + "A pure account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U16" + ], + "args_name": [ + "pure", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumberFor" + ] + }, + { + "lookup": "2a04", + "name": "ProxyRemoved", + "docs": [ + "A proxy was removed." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumberFor" + ] + } + ], + "events_value": { + "type": 127 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "009d7277000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "a05a3200000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00d27e77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "40b56400000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 402 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 403 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 405, + "value_id": 406 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 409, + "value_id": 410 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata@411", + "keys_id": 4, + "value_id": 411 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "start_destroy", + "docs": [ + "See [`Pallet::start_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3203", + "name": "destroy_accounts", + "docs": [ + "See [`Pallet::destroy_accounts`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3204", + "name": "destroy_approvals", + "docs": [ + "See [`Pallet::destroy_approvals`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3205", + "name": "finish_destroy", + "docs": [ + "See [`Pallet::finish_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3206", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3209", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320a", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320b", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320c", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320d", + "name": "freeze_asset", + "docs": [ + "See [`Pallet::freeze_asset`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320e", + "name": "thaw_asset", + "docs": [ + "See [`Pallet::thaw_asset`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320f", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3210", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3211", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3212", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3213", + "name": "force_set_metadata", + "docs": [ + "See [`Pallet::force_set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3214", + "name": "force_clear_metadata", + "docs": [ + "See [`Pallet::force_clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3215", + "name": "force_asset_status", + "docs": [ + "See [`Pallet::force_asset_status`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3216", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3218", + "name": "force_cancel_approval", + "docs": [ + "See [`Pallet::force_cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3219", + "name": "transfer_approved", + "docs": [ + "See [`Pallet::transfer_approved`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321a", + "name": "touch", + "docs": [ + "See [`Pallet::touch`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "321b", + "name": "refund", + "docs": [ + "See [`Pallet::refund`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "321c", + "name": "set_min_balance", + "docs": [ + "See [`Pallet::set_min_balance`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321d", + "name": "touch_other", + "docs": [ + "See [`Pallet::touch_other`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "321e", + "name": "refund_other", + "docs": [ + "See [`Pallet::refund_other`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "321f", + "name": "block", + "docs": [ + "See [`Pallet::block`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 351 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3210", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3211", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3212", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3213", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3214", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3215", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "U32", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3216", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3217", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + } + ], + "events_value": { + "type": 130 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "c07e5778000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + } + ], + "errors_value": { + "type": 413 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionDetails", + "keys_id": 4, + "value_id": 414 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 415, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 416, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemDetails", + "keys_id": 155, + "value_id": 417 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionMetadata", + "keys_id": 4, + "value_id": 418 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemMetadata", + "keys_id": 155, + "value_id": 419 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 420, + "value_id": 421 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 155, + "value_id": 422 + } + }, + "fallback": "0x00", + "docs": [ + " Price of an asset instance." + ] + }, + { + "name": "CollectionMaxSupply", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U32", + "keys_id": 4, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " Keeps track of the number of items a collection might have." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "See [`Pallet::destroy`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "See [`Pallet::redeposit`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_collection", + "docs": [ + "See [`Pallet::freeze_collection`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_collection", + "docs": [ + "See [`Pallet::thaw_collection`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "new_owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "330f", + "name": "force_item_status", + "docs": [ + "See [`Pallet::force_item_status`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "See [`Pallet::set_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "See [`Pallet::clear_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3314", + "name": "set_collection_metadata", + "docs": [ + "See [`Pallet::set_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_collection_metadata", + "docs": [ + "See [`Pallet::clear_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "3316", + "name": "set_accept_ownership", + "docs": [ + "See [`Pallet::set_accept_ownership`]." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3317", + "name": "set_collection_max_supply", + "docs": [ + "See [`Pallet::set_collection_max_supply`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "3318", + "name": "set_price", + "docs": [ + "See [`Pallet::set_price`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3319", + "name": "buy_item", + "docs": [ + "See [`Pallet::buy_item`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + } + ], + "calls_value": { + "type": 352 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some `item` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some `item` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3308", + "name": "CollectionFrozen", + "docs": [ + "Some `collection` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3309", + "name": "CollectionThawed", + "docs": [ + "Some `collection` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "ItemStatusChanged", + "docs": [ + "A `collection` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330f", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "item", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec" + ] + }, + { + "lookup": "3316", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "3317", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "3318", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the instance." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "3319", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the instance was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "331a", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + } + ], + "events_value": { + "type": 131 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The item ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The item or collection is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership of the collection is acceptable." + ] + }, + { + "name": "Locked", + "doc": [ + "The item is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyAlreadySet", + "doc": [ + "The max supply has already been set." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less to the amount of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + } + ], + "errors_value": { + "type": 423 + }, + "index": 51 + }, + { + "name": "Nfts", + "prefix": "Nfts", + "storage": [ + { + "name": "Collection", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionDetails", + "keys_id": 4, + "value_id": 424 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 415, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "CollectionAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 416, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "CollectionRoleOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "U8", + "keys_id": 405, + "value_id": 425 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details.", + " Stores collection roles as per account." + ] + }, + { + "name": "Item", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:ItemDetails", + "keys_id": 155, + "value_id": 427 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "CollectionMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionMetadata", + "keys_id": 4, + "value_id": 433 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "ItemMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:ItemMetadata", + "keys_id": 155, + "value_id": 434 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "pallet_nfts:types:AttributeNamespace", + "Vec" + ], + "value": "Tuple:Vecpallet_nfts:types:AttributeDeposit", + "keys_id": 436, + "value_id": 437 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 155, + "value_id": 422 + } + }, + "fallback": "0x00", + "docs": [ + " A price of an item." + ] + }, + { + "name": "ItemAttributesApprovalsOf", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 155, + "value_id": 439 + } + }, + "fallback": "0x00", + "docs": [ + " Item attribute approvals." + ] + }, + { + "name": "NextCollectionId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Stores the `CollectionId` that is going to be used for the next collection.", + " This gets incremented whenever a new collection is created." + ] + }, + { + "name": "PendingSwapOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:PendingSwap", + "keys_id": 155, + "value_id": 441 + } + }, + "fallback": "0x00", + "docs": [ + " Handles all the pending swaps." + ] + }, + { + "name": "CollectionConfigOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionConfig", + "keys_id": 4, + "value_id": 357 + } + }, + "fallback": "0x00", + "docs": [ + " Config of a collection." + ] + }, + { + "name": "ItemConfigOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "U64", + "keys_id": 155, + "value_id": 367 + } + }, + "fallback": "0x00", + "docs": [ + " Config of an item." + ] + } + ], + "calls": [ + { + "lookup": "3400", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "3401", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "3402", + "name": "destroy", + "docs": [ + "See [`Pallet::destroy`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_nfts:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3403", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "mint_to", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "witness_data", + "type": "option", + "type_name": "Option>" + } + ] + }, + { + "lookup": "3404", + "name": "force_mint", + "docs": [ + "See [`Pallet::force_mint`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "mint_to", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "item_config", + "type": "U64", + "type_name": "ItemConfig" + } + ] + }, + { + "lookup": "3405", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3406", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3407", + "name": "redeposit", + "docs": [ + "See [`Pallet::redeposit`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3408", + "name": "lock_item_transfer", + "docs": [ + "See [`Pallet::lock_item_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3409", + "name": "unlock_item_transfer", + "docs": [ + "See [`Pallet::unlock_item_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "340a", + "name": "lock_collection", + "docs": [ + "See [`Pallet::lock_collection`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "lock_settings", + "type": "U64", + "type_name": "CollectionSettings" + } + ] + }, + { + "lookup": "340b", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "new_owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "340c", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "option", + "type_name": "Option" + }, + { + "name": "admin", + "type": "option", + "type_name": "Option" + }, + { + "name": "freezer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "340d", + "name": "force_collection_owner", + "docs": [ + "See [`Pallet::force_collection_owner`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "340e", + "name": "force_collection_config", + "docs": [ + "See [`Pallet::force_collection_config`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "340f", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "maybe_deadline", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3410", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3411", + "name": "clear_all_transfer_approvals", + "docs": [ + "See [`Pallet::clear_all_transfer_approvals`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3412", + "name": "lock_item_properties", + "docs": [ + "See [`Pallet::lock_item_properties`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "lock_metadata", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "lock_attributes", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3413", + "name": "set_attribute", + "docs": [ + "See [`Pallet::set_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3414", + "name": "force_set_attribute", + "docs": [ + "See [`Pallet::force_set_attribute`]." + ], + "args": [ + { + "name": "set_as", + "type": "option", + "type_name": "Option" + }, + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3415", + "name": "clear_attribute", + "docs": [ + "See [`Pallet::clear_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3416", + "name": "approve_item_attributes", + "docs": [ + "See [`Pallet::approve_item_attributes`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3417", + "name": "cancel_item_attributes_approval", + "docs": [ + "See [`Pallet::cancel_item_attributes_approval`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "witness", + "type": "U32", + "type_name": "CancelAttributesApprovalWitness" + } + ] + }, + { + "lookup": "3418", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3419", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "341a", + "name": "set_collection_metadata", + "docs": [ + "See [`Pallet::set_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "341b", + "name": "clear_collection_metadata", + "docs": [ + "See [`Pallet::clear_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "341c", + "name": "set_accept_ownership", + "docs": [ + "See [`Pallet::set_accept_ownership`]." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "341d", + "name": "set_collection_max_supply", + "docs": [ + "See [`Pallet::set_collection_max_supply`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "341e", + "name": "update_mint_settings", + "docs": [ + "See [`Pallet::update_mint_settings`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "mint_settings", + "type": "pallet_nfts:types:MintSettings", + "type_name": "MintSettings" + } + ] + }, + { + "lookup": "341f", + "name": "set_price", + "docs": [ + "See [`Pallet::set_price`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3420", + "name": "buy_item", + "docs": [ + "See [`Pallet::buy_item`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + }, + { + "lookup": "3421", + "name": "pay_tips", + "docs": [ + "See [`Pallet::pay_tips`]." + ], + "args": [ + { + "name": "tips", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3422", + "name": "create_swap", + "docs": [ + "See [`Pallet::create_swap`]." + ], + "args": [ + { + "name": "offered_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "offered_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "desired_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_desired_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "maybe_price", + "type": "option", + "type_name": "Option>" + }, + { + "name": "duration", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "3423", + "name": "cancel_swap", + "docs": [ + "See [`Pallet::cancel_swap`]." + ], + "args": [ + { + "name": "offered_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "offered_item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3424", + "name": "claim_swap", + "docs": [ + "See [`Pallet::claim_swap`]." + ], + "args": [ + { + "name": "send_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "send_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "receive_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "receive_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "witness_price", + "type": "option", + "type_name": "Option>" + } + ] + }, + { + "lookup": "3425", + "name": "mint_pre_signed", + "docs": [ + "See [`Pallet::mint_pre_signed`]." + ], + "args": [ + { + "name": "mint_data", + "type": "pallet_nfts:types:PreSignedMint", + "type_name": "Box" + }, + { + "name": "signature", + "type": "sp_runtime:MultiSignature", + "type_name": "OffchainSignature" + }, + { + "name": "signer", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3426", + "name": "set_attributes_pre_signed", + "docs": [ + "See [`Pallet::set_attributes_pre_signed`]." + ], + "args": [ + { + "name": "data", + "type": "pallet_nfts:types:PreSignedAttributes", + "type_name": "PreSignedAttributesOf" + }, + { + "name": "signature", + "type": "sp_runtime:MultiSignature", + "type_name": "OffchainSignature" + }, + { + "name": "signer", + "type": "AccountId", + "type_name": "AccountId" + } + ] + } + ], + "calls_value": { + "type": 356 + }, + "events": [ + { + "lookup": "3400", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3401", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3402", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3403", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3404", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3405", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3406", + "name": "ItemTransferLocked", + "docs": [ + "An `item` became non-transferable." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3407", + "name": "ItemTransferUnlocked", + "docs": [ + "An `item` became transferable." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3408", + "name": "ItemPropertiesLocked", + "docs": [ + "`item` metadata or attributes were locked." + ], + "args": [ + "U32", + "U32", + "Bool", + "Bool" + ], + "args_name": [ + "collection", + "item", + "lock_metadata", + "lock_attributes" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "bool", + "bool" + ] + }, + { + "lookup": "3409", + "name": "CollectionLocked", + "docs": [ + "Some `collection` was locked." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "340a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "340b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "option", + "option", + "option" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "Option", + "Option", + "Option" + ] + }, + { + "lookup": "340c", + "name": "TransferApproved", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId", + "option" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId", + "Option" + ] + }, + { + "lookup": "340d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "340e", + "name": "AllApprovalsCancelled", + "docs": [ + "All approvals of an item got cancelled." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "340f", + "name": "CollectionConfigChanged", + "docs": [ + "A `collection` has had its config changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3410", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "data" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec" + ] + }, + { + "lookup": "3411", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3412", + "name": "ItemMetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec" + ], + "args_name": [ + "collection", + "item", + "data" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec" + ] + }, + { + "lookup": "3413", + "name": "ItemMetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3414", + "name": "Redeposited", + "docs": [ + "The deposit for a set of `item`s within a `collection` has been updated." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3415", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec", + "AttributeNamespace" + ] + }, + { + "lookup": "3416", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "AttributeNamespace" + ] + }, + { + "lookup": "3417", + "name": "ItemAttributesApprovalAdded", + "docs": [ + "A new approval to modify item attributes was added." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3418", + "name": "ItemAttributesApprovalRemoved", + "docs": [ + "A new approval to modify item attributes was removed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3419", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "341a", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "341b", + "name": "CollectionMintSettingsUpdated", + "docs": [ + "Mint settings for a collection had changed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "341c", + "name": "NextCollectionIdIncremented", + "docs": [ + "Event gets emitted when the `NextCollectionId` gets incremented." + ], + "args": [ + "option" + ], + "args_name": [ + "next_id" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "341d", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the item." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "341e", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the item was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "341f", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3420", + "name": "TipSent", + "docs": [ + "A tip was sent." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "collection", + "item", + "sender", + "receiver", + "amount" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId", + "DepositBalanceOf" + ] + }, + { + "lookup": "3421", + "name": "SwapCreated", + "docs": [ + "An `item` swap intent was created." + ], + "args": [ + "U32", + "U32", + "U32", + "option", + "option", + "U32" + ], + "args_name": [ + "offered_collection", + "offered_item", + "desired_collection", + "desired_item", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "CollectionId", + "Option", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3422", + "name": "SwapCancelled", + "docs": [ + "The swap was cancelled." + ], + "args": [ + "U32", + "U32", + "U32", + "option", + "option", + "U32" + ], + "args_name": [ + "offered_collection", + "offered_item", + "desired_collection", + "desired_item", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "CollectionId", + "Option", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3423", + "name": "SwapClaimed", + "docs": [ + "The swap has been claimed." + ], + "args": [ + "U32", + "U32", + "AccountId", + "U32", + "U32", + "AccountId", + "option", + "U32" + ], + "args_name": [ + "sent_collection", + "sent_item", + "sent_item_owner", + "received_collection", + "received_item", + "received_item_owner", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "CollectionId", + "ItemId", + "AccountId", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3424", + "name": "PreSignedAttributesSet", + "docs": [ + "New attributes have been set for an `item` of the `collection`." + ], + "args": [ + "U32", + "U32", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "item", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AttributeNamespace" + ] + }, + { + "lookup": "3425", + "name": "PalletAttributeSet", + "docs": [ + "A new attribute in the `Pallet` namespace was set for the `collection` or an `item`", + "within that `collection`." + ], + "args": [ + "U32", + "option", + "pallet_nfts:types:PalletAttributes", + "Vec" + ], + "args_name": [ + "collection", + "item", + "attribute", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "PalletAttributes", + "BoundedVec" + ] + } + ], + "events_value": { + "type": 138 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "40f1fb77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "10320103000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "1071ff0b000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00c2eb0b000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "00010000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "00010000", + "docs": [ + " The maximum length of an attribute value." + ] + }, + { + "name": "ApprovalsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "14000000", + "docs": [ + " The maximum approvals an item could have." + ] + }, + { + "name": "ItemAttributesApprovalsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "1e000000", + "docs": [ + " The maximum attributes approvals an item could have." + ] + }, + { + "name": "MaxTips", + "type": "U32", + "type_value": 4, + "constants_value": "0a000000", + "docs": [ + " The max number of tips a user could send." + ] + }, + { + "name": "MaxDeadlineDuration", + "type": "U32", + "type_value": 4, + "constants_value": "008d2700", + "docs": [ + " The max duration in blocks for deadlines." + ] + }, + { + "name": "MaxAttributesPerCall", + "type": "U32", + "type_value": 4, + "constants_value": "0a000000", + "docs": [ + " The max number of attributes a user could set per call." + ] + }, + { + "name": "Features", + "type": "U64", + "type_value": 442, + "constants_value": "0000000000000000", + "docs": [ + " Disables some of pallet's features." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "ApprovalExpired", + "doc": [ + "The approval had a deadline that expired, so the approval isn't valid anymore." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "The witness data given does not match the current state of the chain." + ] + }, + { + "name": "CollectionIdInUse", + "doc": [ + "Collection ID is already taken." + ] + }, + { + "name": "ItemsNonTransferable", + "doc": [ + "Items within that collection are non-transferable." + ] + }, + { + "name": "NotDelegate", + "doc": [ + "The provided account is not a delegate." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership acceptance of the collection." + ] + }, + { + "name": "ItemLocked", + "doc": [ + "The item is locked (non-transferable)." + ] + }, + { + "name": "LockedItemAttributes", + "doc": [ + "Item's attributes are locked." + ] + }, + { + "name": "LockedCollectionAttributes", + "doc": [ + "Collection's attributes are locked." + ] + }, + { + "name": "LockedItemMetadata", + "doc": [ + "Item's metadata is locked." + ] + }, + { + "name": "LockedCollectionMetadata", + "doc": [ + "Collection's metadata is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyLocked", + "doc": [ + "The max supply is locked and can't be changed." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less than the number of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "UnknownSwap", + "doc": [ + "Swap doesn't exist." + ] + }, + { + "name": "MetadataNotFound", + "doc": [ + "The given item has no metadata set." + ] + }, + { + "name": "AttributeNotFound", + "doc": [ + "The provided attribute can't be found." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + }, + { + "name": "ReachedApprovalLimit", + "doc": [ + "The item has reached its approval limit." + ] + }, + { + "name": "DeadlineExpired", + "doc": [ + "The deadline has already expired." + ] + }, + { + "name": "WrongDuration", + "doc": [ + "The duration provided should be less than or equal to `MaxDeadlineDuration`." + ] + }, + { + "name": "MethodDisabled", + "doc": [ + "The method is disabled by system settings." + ] + }, + { + "name": "WrongSetting", + "doc": [ + "The provided setting can't be set." + ] + }, + { + "name": "InconsistentItemConfig", + "doc": [ + "Item's config already exists and should be equal to the provided one." + ] + }, + { + "name": "NoConfig", + "doc": [ + "Config for a collection or an item can't be found." + ] + }, + { + "name": "RolesNotCleared", + "doc": [ + "Some roles were not cleared." + ] + }, + { + "name": "MintNotStarted", + "doc": [ + "Mint has not started yet." + ] + }, + { + "name": "MintEnded", + "doc": [ + "Mint has already ended." + ] + }, + { + "name": "AlreadyClaimed", + "doc": [ + "The provided Item was already used for claiming." + ] + }, + { + "name": "IncorrectData", + "doc": [ + "The provided data is incorrect." + ] + }, + { + "name": "WrongOrigin", + "doc": [ + "The extrinsic was sent by the wrong origin." + ] + }, + { + "name": "WrongSignature", + "doc": [ + "The provided signature is incorrect." + ] + }, + { + "name": "IncorrectMetadata", + "doc": [ + "The provided metadata might be too long." + ] + }, + { + "name": "MaxAttributesLimitReached", + "doc": [ + "Can't set more attributes per one call." + ] + }, + { + "name": "WrongNamespace", + "doc": [ + "The provided namespace isn't supported in this call." + ] + }, + { + "name": "CollectionNotEmpty", + "doc": [ + "Can't delete non-empty collections." + ] + }, + { + "name": "WitnessRequired", + "doc": [ + "The witness data should be provided." + ] + } + ], + "errors_value": { + "type": 444 + }, + "index": 52 + }, + { + "name": "ForeignAssets", + "prefix": "ForeignAssets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 37, + "value_id": 403 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 445, + "value_id": 406 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 446, + "value_id": 410 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "pallet_assets:types:AssetMetadata@447", + "keys_id": 37, + "value_id": 447 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3500", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3501", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3502", + "name": "start_destroy", + "docs": [ + "See [`Pallet::start_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3503", + "name": "destroy_accounts", + "docs": [ + "See [`Pallet::destroy_accounts`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3504", + "name": "destroy_approvals", + "docs": [ + "See [`Pallet::destroy_approvals`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3505", + "name": "finish_destroy", + "docs": [ + "See [`Pallet::finish_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3506", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3507", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3508", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3509", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "350a", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "350b", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "350c", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "350d", + "name": "freeze_asset", + "docs": [ + "See [`Pallet::freeze_asset`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "350e", + "name": "thaw_asset", + "docs": [ + "See [`Pallet::thaw_asset`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "350f", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3510", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3511", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3512", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3513", + "name": "force_set_metadata", + "docs": [ + "See [`Pallet::force_set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3514", + "name": "force_clear_metadata", + "docs": [ + "See [`Pallet::force_clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3515", + "name": "force_asset_status", + "docs": [ + "See [`Pallet::force_asset_status`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3516", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3517", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3518", + "name": "force_cancel_approval", + "docs": [ + "See [`Pallet::force_cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3519", + "name": "transfer_approved", + "docs": [ + "See [`Pallet::transfer_approved`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "351a", + "name": "touch", + "docs": [ + "See [`Pallet::touch`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "351b", + "name": "refund", + "docs": [ + "See [`Pallet::refund`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "351c", + "name": "set_min_balance", + "docs": [ + "See [`Pallet::set_min_balance`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "351d", + "name": "touch_other", + "docs": [ + "See [`Pallet::touch_other`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "351e", + "name": "refund_other", + "docs": [ + "See [`Pallet::refund_other`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "351f", + "name": "block", + "docs": [ + "See [`Pallet::block`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 380 + }, + "events": [ + { + "lookup": "3500", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3501", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3502", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3503", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3504", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3505", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3506", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3507", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3508", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3509", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "350b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "350c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "350f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3510", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3511", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3512", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3513", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3514", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3515", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3516", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3517", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + } + ], + "events_value": { + "type": 145 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "c07e5778000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + } + ], + "errors_value": { + "type": 449 + }, + "index": 53 + }, + { + "name": "PoolAssets", + "prefix": "PoolAssets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 403 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 405, + "value_id": 406 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 409, + "value_id": 410 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata@450", + "keys_id": 4, + "value_id": 450 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3600", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3601", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3602", + "name": "start_destroy", + "docs": [ + "See [`Pallet::start_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3603", + "name": "destroy_accounts", + "docs": [ + "See [`Pallet::destroy_accounts`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3604", + "name": "destroy_approvals", + "docs": [ + "See [`Pallet::destroy_approvals`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3605", + "name": "finish_destroy", + "docs": [ + "See [`Pallet::finish_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3606", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3607", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3608", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3609", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "360a", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "360b", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "360c", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "360d", + "name": "freeze_asset", + "docs": [ + "See [`Pallet::freeze_asset`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "360e", + "name": "thaw_asset", + "docs": [ + "See [`Pallet::thaw_asset`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "360f", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3610", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3611", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3612", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3613", + "name": "force_set_metadata", + "docs": [ + "See [`Pallet::force_set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3614", + "name": "force_clear_metadata", + "docs": [ + "See [`Pallet::force_clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3615", + "name": "force_asset_status", + "docs": [ + "See [`Pallet::force_asset_status`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3616", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3617", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3618", + "name": "force_cancel_approval", + "docs": [ + "See [`Pallet::force_cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3619", + "name": "transfer_approved", + "docs": [ + "See [`Pallet::transfer_approved`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "361a", + "name": "touch", + "docs": [ + "See [`Pallet::touch`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "361b", + "name": "refund", + "docs": [ + "See [`Pallet::refund`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "361c", + "name": "set_min_balance", + "docs": [ + "See [`Pallet::set_min_balance`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "361d", + "name": "touch_other", + "docs": [ + "See [`Pallet::touch_other`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "361e", + "name": "refund_other", + "docs": [ + "See [`Pallet::refund_other`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "361f", + "name": "block", + "docs": [ + "See [`Pallet::block`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 381 + }, + "events": [ + { + "lookup": "3600", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3601", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3602", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3603", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3604", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3605", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3606", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3607", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3608", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3609", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "360a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "360b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "360c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "360d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "360e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "360f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3610", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3611", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3612", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3613", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3614", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3615", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "U32", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3616", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3617", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + } + ], + "events_value": { + "type": 146 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00000000000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00000000000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "00000000000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + } + ], + "errors_value": { + "type": 452 + }, + "index": 54 + }, + { + "name": "AssetConversion", + "prefix": "AssetConversion", + "storage": [ + { + "name": "Pools", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "U32", + "keys_id": 148, + "value_id": 453 + } + }, + "fallback": "0x00", + "docs": [ + " Map from `PoolAssetId` to `PoolInfo`. This establishes whether a pool has been officially", + " created rather than people sending tokens directly to a pool's public account." + ] + }, + { + "name": "NextPoolAssetId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Stores the `PoolAssetId` that is going to be used for the next lp token.", + " This gets incremented whenever a new lp pool is created." + ] + } + ], + "calls": [ + { + "lookup": "3700", + "name": "create_pool", + "docs": [ + "See [`Pallet::create_pool`]." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "3701", + "name": "add_liquidity", + "docs": [ + "See [`Pallet::add_liquidity`]." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "amount1_desired", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount2_desired", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount1_min", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount2_min", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "mint_to", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3702", + "name": "remove_liquidity", + "docs": [ + "See [`Pallet::remove_liquidity`]." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "lp_token_burn", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount1_min_receive", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount2_min_receive", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "withdraw_to", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3703", + "name": "swap_exact_tokens_for_tokens", + "docs": [ + "See [`Pallet::swap_exact_tokens_for_tokens`]." + ], + "args": [ + { + "name": "path", + "type": "Vec", + "type_name": "Vec>" + }, + { + "name": "amount_in", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount_out_min", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "send_to", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3704", + "name": "swap_tokens_for_exact_tokens", + "docs": [ + "See [`Pallet::swap_tokens_for_exact_tokens`]." + ], + "args": [ + { + "name": "path", + "type": "Vec", + "type_name": "Vec>" + }, + { + "name": "amount_out", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount_in_max", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "send_to", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 382 + }, + "events": [ + { + "lookup": "3700", + "name": "PoolCreated", + "docs": [ + "A successful call of the `CretaPool` extrinsic will create this event." + ], + "args": [ + "AccountId", + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U32" + ], + "args_name": [ + "creator", + "pool_id", + "pool_account", + "lp_token" + ], + "args_type_name": [ + "AccountId", + "PoolId", + "AccountId", + "PoolAssetId" + ] + }, + { + "lookup": "3701", + "name": "LiquidityAdded", + "docs": [ + "A successful call of the `AddLiquidity` extrinsic will create this event." + ], + "args": [ + "AccountId", + "AccountId", + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "U128", + "U128", + "U32", + "U128" + ], + "args_name": [ + "who", + "mint_to", + "pool_id", + "amount1_provided", + "amount2_provided", + "lp_token", + "lp_token_minted" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "PoolId", + "Balance", + "Balance", + "PoolAssetId", + "Balance" + ] + }, + { + "lookup": "3702", + "name": "LiquidityRemoved", + "docs": [ + "A successful call of the `RemoveLiquidity` extrinsic will create this event." + ], + "args": [ + "AccountId", + "AccountId", + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "U128", + "U128", + "U32", + "U128", + "U32" + ], + "args_name": [ + "who", + "withdraw_to", + "pool_id", + "amount1", + "amount2", + "lp_token", + "lp_token_burned", + "withdrawal_fee" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "PoolId", + "Balance", + "Balance", + "PoolAssetId", + "Balance", + "Permill" + ] + }, + { + "lookup": "3703", + "name": "SwapExecuted", + "docs": [ + "Assets have been converted from one to another. Both `SwapExactTokenForToken`", + "and `SwapTokenForExactToken` will generate this event." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "U128", + "Vec" + ], + "args_name": [ + "who", + "send_to", + "amount_in", + "amount_out", + "path" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Balance", + "BalancePath" + ] + }, + { + "lookup": "3704", + "name": "SwapCreditExecuted", + "docs": [ + "Assets have been converted from one to another." + ], + "args": [ + "U128", + "U128", + "Vec" + ], + "args_name": [ + "amount_in", + "amount_out", + "path" + ], + "args_type_name": [ + "Balance", + "Balance", + "BalancePath" + ] + } + ], + "events_value": { + "type": 147 + }, + "constants": [ + { + "name": "LPFee", + "type": "U32", + "type_value": 4, + "constants_value": "03000000", + "docs": [ + " A % the liquidity providers will take of every swap. Represents 10ths of a percent." + ] + }, + { + "name": "PoolSetupFee", + "type": "U128", + "type_value": 6, + "constants_value": "402d93ef000000000000000000000000", + "docs": [ + " A one-time fee to setup the pool." + ] + }, + { + "name": "PoolSetupFeeAsset", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_value": 37, + "constants_value": "0100", + "docs": [ + " Asset class from [`Config::Assets`] used to pay the [`Config::PoolSetupFee`]." + ] + }, + { + "name": "LiquidityWithdrawalFee", + "type": "U32", + "type_value": 149, + "constants_value": "00000000", + "docs": [ + " A fee to withdraw the liquidity." + ] + }, + { + "name": "MintMinLiquidity", + "type": "U128", + "type_value": 6, + "constants_value": "64000000000000000000000000000000", + "docs": [ + " The minimum LP token amount that could be minted. Ameliorates rounding errors." + ] + }, + { + "name": "MaxSwapPathLength", + "type": "U32", + "type_value": 4, + "constants_value": "03000000", + "docs": [ + " The max number of hops in a swap." + ] + }, + { + "name": "PalletId", + "type": "[U8; 8]", + "type_value": 454, + "constants_value": "70792f6173636f6e", + "docs": [ + " The pallet's id, used for deriving its sovereign account ID." + ] + } + ], + "errors": [ + { + "name": "InvalidAssetPair", + "doc": [ + "Provided asset pair is not supported for pool." + ] + }, + { + "name": "PoolExists", + "doc": [ + "Pool already exists." + ] + }, + { + "name": "WrongDesiredAmount", + "doc": [ + "Desired amount can't be zero." + ] + }, + { + "name": "AmountOneLessThanMinimal", + "doc": [ + "Provided amount should be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "AmountTwoLessThanMinimal", + "doc": [ + "Provided amount should be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "ReserveLeftLessThanMinimal", + "doc": [ + "Reserve needs to always be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "AmountOutTooHigh", + "doc": [ + "Desired amount can't be equal to the pool reserve." + ] + }, + { + "name": "PoolNotFound", + "doc": [ + "The pool doesn't exist." + ] + }, + { + "name": "Overflow", + "doc": [ + "An overflow happened." + ] + }, + { + "name": "AssetOneDepositDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the first token in the pair wasn't met." + ] + }, + { + "name": "AssetTwoDepositDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the second token in the pair wasn't met." + ] + }, + { + "name": "AssetOneWithdrawalDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the first token in the pair wasn't met." + ] + }, + { + "name": "AssetTwoWithdrawalDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the second token in the pair wasn't met." + ] + }, + { + "name": "OptimalAmountLessThanDesired", + "doc": [ + "Optimal calculated amount is less than desired." + ] + }, + { + "name": "InsufficientLiquidityMinted", + "doc": [ + "Insufficient liquidity minted." + ] + }, + { + "name": "ZeroLiquidity", + "doc": [ + "Requested liquidity can't be zero." + ] + }, + { + "name": "ZeroAmount", + "doc": [ + "Amount can't be zero." + ] + }, + { + "name": "ProvidedMinimumNotSufficientForSwap", + "doc": [ + "Calculated amount out is less than provided minimum amount." + ] + }, + { + "name": "ProvidedMaximumNotSufficientForSwap", + "doc": [ + "Provided maximum amount is not sufficient for swap." + ] + }, + { + "name": "InvalidPath", + "doc": [ + "The provided path must consists of 2 assets at least." + ] + }, + { + "name": "NonUniquePath", + "doc": [ + "The provided path must consists of unique assets." + ] + }, + { + "name": "IncorrectPoolAssetId", + "doc": [ + "It was not possible to get or increment the Id of the pool." + ] + }, + { + "name": "BelowMinimum", + "doc": [ + "The destination account cannot exist with the swapped funds." + ] + } + ], + "errors_value": { + "type": 455 + }, + "index": 55 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v1002006.json b/src/demo_substrate_events/abi/assethub/v1002006.json new file mode 100644 index 000000000..5a87ee7f3 --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v1002006.json @@ -0,0 +1,15752 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:dispatch:PerDispatchClass@8", + "PlainTypeValue": 8 + }, + "fallback": "0x000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 12 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 12 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 14 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 18 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: The item is unbound and should therefore never be read on chain.", + " It could otherwise inflate the PoV size of a block.", + "", + " Events have a large in-memory size. Box the events to not go out-of-memory", + " just in case someone still reads them from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 12, + "value_id": 154 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(BlockNumberFor, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 156 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 152 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:CodeUpgradeAuthorization", + "PlainTypeValue": 158 + }, + "fallback": "0x00", + "docs": [ + " `Some` if a code upgrade has been authorized." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "remark", + "docs": [ + "See [`Pallet::remark`]." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0001", + "name": "set_heap_pages", + "docs": [ + "See [`Pallet::set_heap_pages`]." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0002", + "name": "set_code", + "docs": [ + "See [`Pallet::set_code`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0003", + "name": "set_code_without_checks", + "docs": [ + "See [`Pallet::set_code_without_checks`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_storage", + "docs": [ + "See [`Pallet::set_storage`]." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0005", + "name": "kill_storage", + "docs": [ + "See [`Pallet::kill_storage`]." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_prefix", + "docs": [ + "See [`Pallet::kill_prefix`]." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0007", + "name": "remark_with_event", + "docs": [ + "See [`Pallet::remark_with_event`]." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0009", + "name": "authorize_upgrade", + "docs": [ + "See [`Pallet::authorize_upgrade`]." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "000a", + "name": "authorize_upgrade_without_checks", + "docs": [ + "See [`Pallet::authorize_upgrade_without_checks`]." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "000b", + "name": "apply_authorized_upgrade", + "docs": [ + "See [`Pallet::apply_authorized_upgrade`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 159 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + }, + { + "lookup": "0006", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade was authorized." + ], + "args": [ + "H256", + "Bool" + ], + "args_name": [ + "code_hash", + "check_version" + ], + "args_type_name": [ + "Hash", + "bool" + ] + } + ], + "events_value": { + "type": 21 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 163, + "constants_value": "0700f2052a0100070088526a74020040010265cd1d000107c0d22c76510200e000010700e6bd4f570200f0000100000265cd1d000107c074c1906e0200300101070088526a7402004001010700a2941a1d020050000265cd1d00000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:dispatch:PerDispatchClass@168", + "type_value": 167, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "00100000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "sp_weights:RuntimeDbWeight", + "type_value": 169, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 170, + "constants_value": "2473746174656d696e742473746174656d696e7401000000164a0f00000000003cdd718d5cc53262d401000000d7bdd8a272ca0d6501000000df6acb689907609b0400000037e397fc7c91f5e40200000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000f3ff14d5ab52705903000000de92b8a0426b9bf602000000ea93e3f16f3d696202000000fbc577b9d747efd6010000008a8047a53a8277ec010000000f00000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 129, + "constants_value": "0000", + "docs": [ + " The designated SS58 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No upgrade authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The submitted code is not authorized." + ] + } + ], + "errors_value": { + "type": 174 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "UnincludedSegment", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 175 + }, + "fallback": "0x00", + "docs": [ + " Latest included block descendants the runtime accepted. In other words, these are", + " ancestors of the currently executing block which have not been included in the observed", + " relay-chain state.", + "", + " The segment length is limited by the capacity returned from the [`ConsensusHook`] configured", + " in the pallet." + ] + }, + { + "name": "AggregatedUnincludedSegment", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:unincluded_segment:SegmentTracker", + "PlainTypeValue": 185 + }, + "fallback": "0x00", + "docs": [ + " Storage field that keeps track of bandwidth used by the unincluded segment along with the", + " latest HRMP watermark. Used for limiting the acceptance of new blocks with", + " respect to relay chain constraints." + ] + }, + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be", + " applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the", + " [`:code`][sp_core::storage::well_known_keys::CODE] which will result the next block process", + " with the new validation code. This concludes the upgrade process." + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v6:PersistedValidationData", + "PlainTypeValue": 186 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "LastRelayChainBlockNumber", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The relay chain block number associated with the last parachain block.", + "", + " This is updated in `on_finalize`." + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 188 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "UpgradeGoAhead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 183 + }, + "fallback": "0x00", + "docs": [ + " Optional upgrade go-ahead signal from the relay-chain.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelayStateProof", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 190 + }, + "fallback": "0x00", + "docs": [ + " The state proof for the last relay parent block.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 192 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v6:AbridgedHostConfiguration", + "PlainTypeValue": 197 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 199 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 200 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 203 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 162 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 162 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "UpwardDeliveryFeeFactor", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 205 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": [ + " The factor to multiply the base delivery fee by for UMP." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See `Pallet::set_custom_validation_head_data` for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "See [`Pallet::set_validation_data`]." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": [ + "See [`Pallet::sudo_send_upward_message`]." + ], + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": [ + "See [`Pallet::authorize_upgrade`]." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + }, + { + "name": "check_version", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": [ + "See [`Pallet::enact_authorized_upgrade`]." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 206 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "relay_chain_block_num" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed." + ], + "args": [ + "U32" + ], + "args_name": [ + "count" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight." + ], + "args": [ + "sp_weights:weight_v2:Weight", + "H256" + ], + "args_name": [ + "weight_used", + "dmq_head" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + }, + { + "lookup": "0105", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option<[U8; 32]>" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + } + ], + "events_value": { + "type": 31 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending." + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function." + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run." + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block." + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block." + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 215 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " Whether the timestamp has been updated in this block.", + "", + " This value is updated to `true` upon successful submission of a timestamp by a node.", + " It is then checked at the end of each block execution in the `on_finalize` hook." + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "See [`Pallet::set`]." + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 216 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 11, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks.", + "", + " Be aware that this is different to the *expected* period that the block production", + " apparatus provides. Your chosen consensus system will generally work with this to", + " determine a sensible block time. For example, in the Aura pallet it will be double this", + " period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 120 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "calls_value": { + "type": 217 + }, + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "InactiveIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units of outstanding deactivated balance in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:types:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 218 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 222 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances." + ] + }, + { + "name": "Holds", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 225 + } + }, + "fallback": "0x00", + "docs": [ + " Holds on account balances." + ] + }, + { + "name": "Freezes", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 229 + } + }, + "fallback": "0x00", + "docs": [ + " Freeze locks on account balances." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer_allow_death", + "docs": [ + "See [`Pallet::transfer_allow_death`]." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "See [`Pallet::transfer_all`]." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "See [`Pallet::force_unreserve`]." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a06", + "name": "upgrade_accounts", + "docs": [ + "See [`Pallet::upgrade_accounts`]." + ], + "args": [ + { + "name": "who", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0a08", + "name": "force_set_balance", + "docs": [ + "See [`Pallet::force_set_balance`]." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a09", + "name": "force_adjust_total_issuance", + "docs": [ + "See [`Pallet::force_adjust_total_issuance`]." + ], + "args": [ + { + "name": "direction", + "type": "pallet_balances:types:AdjustmentDirection", + "type_name": "AdjustmentDirection" + }, + { + "name": "delta", + "type": "compact", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 232 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "free" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0a", + "name": "Minted", + "docs": [ + "Some amount was minted into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0b", + "name": "Burned", + "docs": [ + "Some amount was burned from an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0c", + "name": "Suspended", + "docs": [ + "Some amount was suspended from an account (it can be restored later)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0d", + "name": "Restored", + "docs": [ + "Some amount was restored into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0e", + "name": "Upgraded", + "docs": [ + "An account was upgraded." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "who" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0a0f", + "name": "Issued", + "docs": [ + "Total issuance was increased by `amount`, creating a credit to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a10", + "name": "Rescinded", + "docs": [ + "Total issuance was decreased by `amount`, creating a debt to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a11", + "name": "Locked", + "docs": [ + "Some balance was locked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a12", + "name": "Unlocked", + "docs": [ + "Some balance was unlocked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a13", + "name": "Frozen", + "docs": [ + "Some balance was frozen." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a14", + "name": "Thawed", + "docs": [ + "Some balance was thawed." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a15", + "name": "TotalIssuanceForced", + "docs": [ + "The `TotalIssuance` was forcefully changed." + ], + "args": [ + "U128", + "U128" + ], + "args_name": [ + "old", + "new" + ], + "args_type_name": [ + "Balance", + "Balance" + ] + } + ], + "events_value": { + "type": 33 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!", + "", + " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for", + " this pallet. However, you do so at your own risk: this will open up a major DoS vector.", + " In case you have multiple sources of provider references, you may also get unexpected", + " behaviour if you set this to zero.", + "", + " Bottom line: Do yourself a favour and make it at least one!" + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + }, + { + "name": "MaxFreezes", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The maximum number of individual freeze locks that can exist on an account at any time." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value." + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal." + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value." + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit." + ] + }, + { + "name": "Expendability", + "doc": [ + "Transfer/payment would kill account." + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account." + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist." + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed `MaxReserves`." + ] + }, + { + "name": "TooManyHolds", + "doc": [ + "Number of holds exceed `VariantCountOf`." + ] + }, + { + "name": "TooManyFreezes", + "doc": [ + "Number of freezes exceed `MaxFreezes`." + ] + }, + { + "name": "IssuanceDeactivated", + "doc": [ + "The issuance cannot be modified since it is already deactivated." + ] + }, + { + "name": "DeltaZero", + "doc": [ + "The delta cannot be zero." + ] + } + ], + "errors_value": { + "type": 236 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 205 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 237 + }, + "fallback": "0x00", + "docs": null + } + ], + "events": [ + { + "lookup": "0b00", + "name": "TransactionFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who`." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "actual_fee", + "tip" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf" + ] + } + ], + "events_value": { + "type": 35 + }, + "constants": [ + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee multiplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multiplied by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "0d00", + "name": "AssetTxFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who` in an asset `asset_id`." + ], + "args": [ + "AccountId", + "U128", + "U128", + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "who", + "actual_fee", + "tip", + "asset_id" + ], + "args_type_name": [ + "AccountId", + "AssetBalanceOf", + "BalanceOf", + "ChargeAssetIdOf" + ] + }, + { + "lookup": "0d01", + "name": "AssetRefundFailed", + "docs": [ + "A swap of the refund in native currency back to asset failed." + ], + "args": [ + "U128" + ], + "args_name": [ + "native_amount_kept" + ], + "args_type_name": [ + "BalanceOf" + ] + } + ], + "events_value": { + "type": 36 + }, + "errors": null, + "errors_value": null, + "index": 13 + }, + { + "name": "Vesting", + "prefix": "Vesting", + "storage": [ + { + "name": "Vesting", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 238 + } + }, + "fallback": "0x00", + "docs": [ + " Information regarding the vesting of a given account." + ] + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_vesting:Releases", + "PlainTypeValue": 241 + }, + "fallback": "0x00", + "docs": [ + " Storage version of the pallet.", + "", + " New networks start with latest version, as determined by the genesis build." + ] + } + ], + "calls": [ + { + "lookup": "0e00", + "name": "vest", + "docs": [ + "See [`Pallet::vest`]." + ], + "args": null + }, + { + "lookup": "0e01", + "name": "vest_other", + "docs": [ + "See [`Pallet::vest_other`]." + ], + "args": [ + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "0e02", + "name": "vested_transfer", + "docs": [ + "See [`Pallet::vested_transfer`]." + ], + "args": [ + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "schedule", + "type": "pallet_vesting:vesting_info:VestingInfo", + "type_name": "VestingInfo" + } + ] + }, + { + "lookup": "0e03", + "name": "force_vested_transfer", + "docs": [ + "See [`Pallet::force_vested_transfer`]." + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "schedule", + "type": "pallet_vesting:vesting_info:VestingInfo", + "type_name": "VestingInfo" + } + ] + }, + { + "lookup": "0e04", + "name": "merge_schedules", + "docs": [ + "See [`Pallet::merge_schedules`]." + ], + "args": [ + { + "name": "schedule1_index", + "type": "U32", + "type_name": "u32" + }, + { + "name": "schedule2_index", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0e05", + "name": "force_remove_vesting_schedule", + "docs": [ + "See [`Pallet::force_remove_vesting_schedule`]." + ], + "args": [ + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "schedule_index", + "type": "U32", + "type_name": "u32" + } + ] + } + ], + "calls_value": { + "type": 242 + }, + "events": [ + { + "lookup": "0e00", + "name": "VestingUpdated", + "docs": [ + "The amount vested has been updated. This could indicate a change in funds available.", + "The balance given is the amount which is left unvested (and thus locked)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "unvested" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "0e01", + "name": "VestingCompleted", + "docs": [ + "An \\[account\\] has become fully vested." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 47 + }, + "constants": [ + { + "name": "MinVestedTransfer", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The minimum amount transferred to call `vested_transfer`." + ] + }, + { + "name": "MaxVestingSchedules", + "type": "U32", + "type_value": 4, + "constants_value": "1c000000", + "docs": null + } + ], + "errors": [ + { + "name": "NotVesting", + "doc": [ + "The account given is not vesting." + ] + }, + { + "name": "AtMaxVestingSchedules", + "doc": [ + "The account already has `MaxVestingSchedules` count of schedules and thus", + "cannot add another one. Consider merging existing schedules in order to add another." + ] + }, + { + "name": "AmountLow", + "doc": [ + "Amount being transferred is too low to create a vesting schedule." + ] + }, + { + "name": "ScheduleIndexOutOfBounds", + "doc": [ + "An index was out of bounds of the vesting schedules." + ] + }, + { + "name": "InvalidScheduleParams", + "doc": [ + "Failed to create a new schedule because some parameter was invalid." + ] + } + ], + "errors_value": { + "type": 243 + }, + "index": 14 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 244 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, permissioned collators. This list must be sorted." + ] + }, + { + "name": "CandidateList", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 245 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates. `Candidates` and `Invulnerables` should be", + " mutually exclusive.", + "", + " This list is sorted in ascending order by deposit and when the deposits are equal, the least", + " recently updated is considered greater." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "See [`Pallet::set_invulnerables`]." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "See [`Pallet::set_desired_candidates`]." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "See [`Pallet::set_candidacy_bond`]." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "See [`Pallet::register_as_candidate`]." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "See [`Pallet::leave_intent`]." + ], + "args": null + }, + { + "lookup": "1505", + "name": "add_invulnerable", + "docs": [ + "See [`Pallet::add_invulnerable`]." + ], + "args": [ + { + "name": "who", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "1506", + "name": "remove_invulnerable", + "docs": [ + "See [`Pallet::remove_invulnerable`]." + ], + "args": [ + { + "name": "who", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "1507", + "name": "update_bond", + "docs": [ + "See [`Pallet::update_bond`]." + ], + "args": [ + { + "name": "new_deposit", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1508", + "name": "take_candidate_slot", + "docs": [ + "See [`Pallet::take_candidate_slot`]." + ], + "args": [ + { + "name": "deposit", + "type": "U128", + "type_name": "BalanceOf" + }, + { + "name": "target", + "type": "AccountId", + "type_name": "AccountId" + } + ] + } + ], + "calls_value": { + "type": 248 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": [ + "New Invulnerables were set." + ], + "args": [ + "Vec" + ], + "args_name": [ + "invulnerables" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "InvulnerableAdded", + "docs": [ + "A new Invulnerable was added." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1502", + "name": "InvulnerableRemoved", + "docs": [ + "An Invulnerable was removed." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1503", + "name": "NewDesiredCandidates", + "docs": [ + "The number of desired candidates was set." + ], + "args": [ + "U32" + ], + "args_name": [ + "desired_candidates" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1504", + "name": "NewCandidacyBond", + "docs": [ + "The candidacy bond was set." + ], + "args": [ + "U128" + ], + "args_name": [ + "bond_amount" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1505", + "name": "CandidateAdded", + "docs": [ + "A new candidate joined." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1506", + "name": "CandidateBondUpdated", + "docs": [ + "Bond of a candidate updated." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1507", + "name": "CandidateRemoved", + "docs": [ + "A candidate was removed." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1508", + "name": "CandidateReplaced", + "docs": [ + "An account was replaced in the candidate list by another one." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "old", + "new", + "deposit" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1509", + "name": "InvalidInvulnerableSkipped", + "docs": [ + "An account was unable to be added to the Invulnerables because they did not have keys", + "registered. Other Invulnerables may have been set." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 48 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "The pallet has too many candidates." + ] + }, + { + "name": "TooFewEligibleCollators", + "doc": [ + "Leaving would result in too few candidates." + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "Account is already a candidate." + ] + }, + { + "name": "NotCandidate", + "doc": [ + "Account is not a candidate." + ] + }, + { + "name": "TooManyInvulnerables", + "doc": [ + "There are too many Invulnerables." + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "Account is already an Invulnerable." + ] + }, + { + "name": "NotInvulnerable", + "doc": [ + "Account is not an Invulnerable." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID." + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered." + ] + }, + { + "name": "InsertToCandidateListFailed", + "doc": [ + "Could not insert in the candidate list." + ] + }, + { + "name": "RemoveFromCandidateListFailed", + "doc": [ + "Could not remove from the candidate list." + ] + }, + { + "name": "DepositTooLow", + "doc": [ + "New deposit amount would be below the minimum candidacy bond." + ] + }, + { + "name": "UpdateCandidateListFailed", + "doc": [ + "Could not update the candidate list." + ] + }, + { + "name": "InsufficientBond", + "doc": [ + "Deposit amount is too low to take the target's slot in the candidate list." + ] + }, + { + "name": "TargetIsNotCandidate", + "doc": [ + "The target account to be replaced in the candidate list is not a candidate." + ] + }, + { + "name": "IdenticalDeposit", + "doc": [ + "The updated deposit amount is equal to the amount already reserved." + ] + }, + { + "name": "InvalidUnreserve", + "doc": [ + "Cannot lower candidacy bond while occupying a future collator slot in the list." + ] + } + ], + "errors_value": { + "type": 249 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 49 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 250 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 133 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 252 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 255, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "See [`Pallet::set_keys`]." + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "See [`Pallet::purge_keys`]." + ], + "args": null + } + ], + "calls_value": { + "type": 257 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 50 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 258 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 259 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 261 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 259 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will", + " always be updated to the latest AuRa authorities in `on_finalize`." + ] + }, + { + "name": "SlotInfo", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Tuple:U64U32", + "PlainTypeValue": 262 + }, + "fallback": "0x00", + "docs": [ + " Current slot paired with a number of authored blocks.", + "", + " Updated on each block initialization." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 263 + }, + "fallback": "0x00", + "docs": [ + " The suspended inbound XCMP channels. All others are not suspended.", + "", + " This is a `StorageValue` instead of a `StorageMap` since we expect multiple reads per block", + " to different keys with a one byte payload. The access to `BoundedBTreeSet` will be cached", + " within the block and therefore only included once in the proof size.", + "", + " NOTE: The PoV benchmarking cannot know this and will over-estimate, but the actual proof", + " will be smaller." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 266 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 269, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 120, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 270 + }, + "fallback": "0x200000003000000008000000", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + }, + { + "name": "DeliveryFeeFactor", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U128", + "keys_id": 120, + "value_id": 205 + } + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": [ + " The factor to multiply the base delivery fee by." + ] + } + ], + "calls": [ + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "See [`Pallet::suspend_xcm_execution`]." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "See [`Pallet::resume_xcm_execution`]." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "See [`Pallet::update_suspend_threshold`]." + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "See [`Pallet::update_drop_threshold`]." + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "See [`Pallet::update_resume_threshold`]." + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + } + ], + "calls_value": { + "type": 271 + }, + "events": [ + { + "lookup": "1e00", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "XcmHash" + ] + } + ], + "events_value": { + "type": 51 + }, + "constants": [ + { + "name": "MaxInboundSuspended", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " The maximum number of inbound XCMP channels that can be suspended simultaneously.", + "", + " Any further channel suspensions will fail and messages may get dropped without further", + " notice. Choosing a high value (1000) is okay; the trade-off that is described in", + " [`InboundXcmpSuspended`] still applies at that scale." + ] + } + ], + "errors": [ + { + "name": "BadQueueConfig", + "doc": [ + "Setting the queue config failed since one of its values was invalid." + ] + }, + { + "name": "AlreadySuspended", + "doc": [ + "The execution is already suspended." + ] + }, + { + "name": "AlreadyResumed", + "doc": [ + "The execution is already resumed." + ] + } + ], + "errors_value": { + "type": 272 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 11, + "value_id": 273 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 12, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `Assets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedLocation" + ], + "value": "U32", + "keys_id": 287, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedLocation" + ], + "value": "U64", + "keys_id": 287, + "value_id": 11 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedLocation" + ], + "value": "Tuple:U64sp_weights:weight_v2:WeightU32", + "keys_id": 287, + "value_id": 288 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 289 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 292 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + }, + { + "name": "RemoteLockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "xcm:VersionedAssetId" + ], + "value": "pallet_xcm:pallet:RemoteLockedFungibleRecord", + "keys_id": 294, + "value_id": 296 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on a remote chain." + ] + }, + { + "name": "LockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 300 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on this chain." + ] + }, + { + "name": "XcmExecutionSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " Global suspension state of the XCM executor." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": [ + "See [`Pallet::send`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@304", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "See [`Pallet::teleport_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "See [`Pallet::reserve_transfer_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "See [`Pallet::execute`]." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@320", + "type_name": "Box::RuntimeCall>>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "See [`Pallet::force_xcm_version`]." + ], + "args": [ + { + "name": "location", + "type": "staging_xcm:v4:location:Location", + "type_name": "Box" + }, + { + "name": "version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "See [`Pallet::force_default_xcm_version`]." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "See [`Pallet::force_subscribe_version_notify`]." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "See [`Pallet::force_unsubscribe_version_notify`]." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "See [`Pallet::limited_reserve_transfer_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "See [`Pallet::limited_teleport_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f0a", + "name": "force_suspension", + "docs": [ + "See [`Pallet::force_suspension`]." + ], + "args": [ + { + "name": "suspended", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "1f0b", + "name": "transfer_assets", + "docs": [ + "See [`Pallet::transfer_assets`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f0c", + "name": "claim_assets", + "docs": [ + "See [`Pallet::claim_assets`]." + ], + "args": [ + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f0d", + "name": "transfer_assets_using_type_and_then", + "docs": [ + "See [`Pallet::transfer_assets_using_type_and_then`]." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "assets_transfer_type", + "type": "staging_xcm_executor:traits:asset_transfer:TransferType", + "type_name": "Box" + }, + { + "name": "remote_fees_id", + "type": "xcm:VersionedAssetId", + "type_name": "Box" + }, + { + "name": "fees_transfer_type", + "type": "staging_xcm_executor:traits:asset_transfer:TransferType", + "type_name": "Box" + }, + { + "name": "custom_xcm_on_dest", + "type": "xcm:VersionedXcm@304", + "type_name": "Box>" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + } + ], + "calls_value": { + "type": 303 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted." + ], + "args": [ + "staging_xcm:v4:traits:Outcome" + ], + "args_name": [ + "outcome" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent." + ], + "args": [ + "staging_xcm:v4:location:Location", + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "origin", + "destination", + "message", + "message_id" + ], + "args_type_name": [ + "Location", + "Location", + "Xcm<()>", + "XcmHash" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "Location", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call." + ], + "args": [ + "U64", + "staging_xcm:v4:Response" + ], + "args_name": [ + "query_id", + "response" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification", + "could not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result." + ], + "args": [ + "U64", + "U8", + "U8", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index", + "actual_weight", + "max_budgeted_weight" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64", + "option" + ], + "args_name": [ + "origin", + "query_id", + "expected_location" + ], + "args_type_name": [ + "Location", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "Location", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed." + ], + "args": [ + "U64" + ], + "args_name": [ + "query_id" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap." + ], + "args": [ + "H256", + "staging_xcm:v4:location:Location", + "xcm:VersionedAssets" + ], + "args_name": [ + "hash", + "origin", + "assets" + ], + "args_type_name": [ + "H256", + "Location", + "VersionedAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "The cost of sending it (borne by the chain) is included." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U32", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "result", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "XcmVersion", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U32" + ], + "args_name": [ + "location", + "version" + ], + "args_type_name": [ + "Location", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64", + "xcm:v3:traits:Error" + ], + "args_name": [ + "location", + "query_id", + "error" + ], + "args_type_name": [ + "Location", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format." + ], + "args": [ + "xcm:VersionedLocation", + "U64" + ], + "args_name": [ + "location", + "query_id" + ], + "args_type_name": [ + "VersionedLocation", + "QueryId" + ] + }, + { + "lookup": "1f10", + "name": "InvalidQuerierVersion", + "docs": [ + "Expected query response has been received but the expected querier location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "Location", + "QueryId" + ] + }, + { + "lookup": "1f11", + "name": "InvalidQuerier", + "docs": [ + "Expected query response has been received but the querier location of the response does", + "not match the expected. The query remains registered for a later, valid, response to", + "be received and acted upon." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64", + "staging_xcm:v4:location:Location", + "option" + ], + "args_name": [ + "origin", + "query_id", + "expected_querier", + "maybe_actual_querier" + ], + "args_type_name": [ + "Location", + "QueryId", + "Location", + "Option" + ] + }, + { + "lookup": "1f12", + "name": "VersionNotifyStarted", + "docs": [ + "A remote has requested XCM version change notification from us and we have honored it.", + "A version information message is sent to them and its cost is included." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f13", + "name": "VersionNotifyRequested", + "docs": [ + "We have requested that a remote chain send us XCM version change notifications." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f14", + "name": "VersionNotifyUnrequested", + "docs": [ + "We have requested that a remote chain stops sending us XCM version change", + "notifications." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f15", + "name": "FeesPaid", + "docs": [ + "Fees were paid from a location for an operation (often for using `SendXcm`)." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec" + ], + "args_name": [ + "paying", + "fees" + ], + "args_type_name": [ + "Location", + "Assets" + ] + }, + { + "lookup": "1f16", + "name": "AssetsClaimed", + "docs": [ + "Some assets have been claimed from an asset trap" + ], + "args": [ + "H256", + "staging_xcm:v4:location:Location", + "xcm:VersionedAssets" + ], + "args_name": [ + "hash", + "origin", + "assets" + ], + "args_type_name": [ + "H256", + "Location", + "VersionedAssets" + ] + }, + { + "lookup": "1f17", + "name": "VersionMigrationFinished", + "docs": [ + "A XCM version migration finished." + ], + "args": [ + "U32" + ], + "args_name": [ + "version" + ], + "args_type_name": [ + "XcmVersion" + ] + } + ], + "events_value": { + "type": 52 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message.", + "Perhaps a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `Location` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + }, + { + "name": "CannotCheckOutTeleport", + "doc": [ + "Could not check-out the assets for teleportation to the destination chain." + ] + }, + { + "name": "LowBalance", + "doc": [ + "The owner does not own (all) of the asset that they wish to do the operation on." + ] + }, + { + "name": "TooManyLocks", + "doc": [ + "The asset owner has too many locks on the asset." + ] + }, + { + "name": "AccountNotSovereign", + "doc": [ + "The given account is not an identifiable sovereign account for any location." + ] + }, + { + "name": "FeesNotMet", + "doc": [ + "The operation required fees to be paid which the initiator could not meet." + ] + }, + { + "name": "LockNotFound", + "doc": [ + "A remote lock with the corresponding data could not be found." + ] + }, + { + "name": "InUse", + "doc": [ + "The unlock operation cannot succeed because there are still consumers of the lock." + ] + }, + { + "name": "InvalidAssetNotConcrete", + "doc": [ + "Invalid non-concrete asset." + ] + }, + { + "name": "InvalidAssetUnknownReserve", + "doc": [ + "Invalid asset, reserve chain could not be determined for it." + ] + }, + { + "name": "InvalidAssetUnsupportedReserve", + "doc": [ + "Invalid asset, do not support remote asset reserves with different fees reserves." + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Too many assets with different reserve locations have been attempted for transfer." + ] + }, + { + "name": "LocalExecutionIncomplete", + "doc": [ + "Local XCM execution incomplete." + ] + } + ], + "errors_value": { + "type": 332 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "calls_value": { + "type": 333 + }, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 32]", + "staging_xcm:v4:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 32]", + "Outcome" + ] + } + ], + "events_value": { + "type": 117 + }, + "errors": null, + "errors_value": null, + "index": 32 + }, + { + "name": "ToKusamaXcmRouter", + "prefix": "ToKusamaXcmRouter", + "storage": [ + { + "name": "Bridge", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "bp_xcm_bridge_hub_router:BridgeState", + "PlainTypeValue": 334 + }, + "fallback": "0x000064a7b3b6e00d000000000000000000", + "docs": [ + " Bridge that we are using.", + "", + " **bridges-v1** assumptions: all outbound messages through this router are using single lane", + " and to single remote consensus. If there is some other remote consensus that uses the same", + " bridge hub, the separate pallet instance shall be used, In `v2` we'll have all required", + " primitives (lane-id aka bridge-id, derived from XCM locations) to support multiple bridges", + " by the same pallet instance." + ] + } + ], + "calls": [ + { + "lookup": "2200", + "name": "report_bridge_status", + "docs": [ + "See [`Pallet::report_bridge_status`]." + ], + "args": [ + { + "name": "bridge_id", + "type": "H256", + "type_name": "H256" + }, + { + "name": "is_congested", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 335 + }, + "errors": null, + "errors_value": null, + "index": 34 + }, + { + "name": "MessageQueue", + "prefix": "MessageQueue", + "storage": [ + { + "name": "BookStateFor", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "cumulus_primitives_core:AggregateMessageOrigin" + ], + "value": "pallet_message_queue:BookState", + "keys_id": 119, + "value_id": 336 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The index of the first and last (non-empty) pages." + ] + }, + { + "name": "ServiceHead", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_primitives_core:AggregateMessageOrigin", + "PlainTypeValue": 119 + }, + "fallback": "0x00", + "docs": [ + " The origin at which we should begin servicing." + ] + }, + { + "name": "Pages", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key_vec": [ + "cumulus_primitives_core:AggregateMessageOrigin", + "U32" + ], + "value": "pallet_message_queue:Page", + "keys_id": 339, + "value_id": 340 + } + }, + "fallback": "0x00", + "docs": [ + " The map of page indices to pages." + ] + } + ], + "calls": [ + { + "lookup": "2300", + "name": "reap_page", + "docs": [ + "See [`Pallet::reap_page`]." + ], + "args": [ + { + "name": "message_origin", + "type": "cumulus_primitives_core:AggregateMessageOrigin", + "type_name": "MessageOriginOf" + }, + { + "name": "page_index", + "type": "U32", + "type_name": "PageIndex" + } + ] + }, + { + "lookup": "2301", + "name": "execute_overweight", + "docs": [ + "See [`Pallet::execute_overweight`]." + ], + "args": [ + { + "name": "message_origin", + "type": "cumulus_primitives_core:AggregateMessageOrigin", + "type_name": "MessageOriginOf" + }, + { + "name": "page", + "type": "U32", + "type_name": "PageIndex" + }, + { + "name": "index", + "type": "U32", + "type_name": "Size" + }, + { + "name": "weight_limit", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 342 + }, + "events": [ + { + "lookup": "2300", + "name": "ProcessingFailed", + "docs": [ + "Message discarded due to an error in the `MessageProcessor` (usually a format error)." + ], + "args": [ + "H256", + "cumulus_primitives_core:AggregateMessageOrigin", + "frame_support:traits:messages:ProcessMessageError" + ], + "args_name": [ + "id", + "origin", + "error" + ], + "args_type_name": [ + "H256", + "MessageOriginOf", + "ProcessMessageError" + ] + }, + { + "lookup": "2301", + "name": "Processed", + "docs": [ + "Message is processed." + ], + "args": [ + "H256", + "cumulus_primitives_core:AggregateMessageOrigin", + "sp_weights:weight_v2:Weight", + "Bool" + ], + "args_name": [ + "id", + "origin", + "weight_used", + "success" + ], + "args_type_name": [ + "H256", + "MessageOriginOf", + "Weight", + "bool" + ] + }, + { + "lookup": "2302", + "name": "OverweightEnqueued", + "docs": [ + "Message placed in overweight queue." + ], + "args": [ + "[U8; 32]", + "cumulus_primitives_core:AggregateMessageOrigin", + "U32", + "U32" + ], + "args_name": [ + "id", + "origin", + "page_index", + "message_index" + ], + "args_type_name": [ + "[u8; 32]", + "MessageOriginOf", + "PageIndex", + "Size" + ] + }, + { + "lookup": "2303", + "name": "PageReaped", + "docs": [ + "This page was reaped." + ], + "args": [ + "cumulus_primitives_core:AggregateMessageOrigin", + "U32" + ], + "args_name": [ + "origin", + "index" + ], + "args_type_name": [ + "MessageOriginOf", + "PageIndex" + ] + } + ], + "events_value": { + "type": 118 + }, + "constants": [ + { + "name": "HeapSize", + "type": "U32", + "type_value": 4, + "constants_value": "00000100", + "docs": [ + " The size of the page; this implies the maximum message size which can be sent.", + "", + " A good value depends on the expected message sizes, their weights, the weight that is", + " available for processing them and the maximal needed message size. The maximal message", + " size is slightly lower than this as defined by [`MaxMessageLenOf`]." + ] + }, + { + "name": "MaxStale", + "type": "U32", + "type_value": 4, + "constants_value": "08000000", + "docs": [ + " The maximum number of stale pages (i.e. of overweight messages) allowed before culling", + " can happen. Once there are more stale pages than this, then historical pages may be", + " dropped, even if they contain unprocessed overweight messages." + ] + }, + { + "name": "ServiceWeight", + "type": "option", + "type_value": 166, + "constants_value": "01070016d0be2802007000", + "docs": [ + " The amount of weight (if any) which should be provided to the message queue for", + " servicing enqueued items.", + "", + " This may be legitimately `None` in the case that you will call", + " `ServiceQueues::service_queues` manually." + ] + } + ], + "errors": [ + { + "name": "NotReapable", + "doc": [ + "Page is not reapable because it has items remaining to be processed and is not old", + "enough." + ] + }, + { + "name": "NoPage", + "doc": [ + "Page to be reaped does not exist." + ] + }, + { + "name": "NoMessage", + "doc": [ + "The referenced message could not be found." + ] + }, + { + "name": "AlreadyProcessed", + "doc": [ + "The message was already processed and cannot be processed again." + ] + }, + { + "name": "Queued", + "doc": [ + "The message is queued for future execution." + ] + }, + { + "name": "InsufficientWeight", + "doc": [ + "There is temporarily not enough weight to continue servicing messages." + ] + }, + { + "name": "TemporarilyUnprocessable", + "doc": [ + "This message is temporarily unprocessable.", + "", + "Such errors are expected, but not guaranteed, to resolve themselves eventually through", + "retrying." + ] + }, + { + "name": "QueuePaused", + "doc": [ + "The queue is paused and no message can be executed from it.", + "", + "This can change at any time and may resolve in the future by re-trying." + ] + }, + { + "name": "RecursiveDisallowed", + "doc": [ + "Another call is in progress and needs to finish before this call can happen." + ] + } + ], + "errors_value": { + "type": 343 + }, + "index": 35 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "See [`Pallet::batch`]." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "See [`Pallet::as_derivative`]." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "See [`Pallet::batch_all`]." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "See [`Pallet::dispatch_as`]." + ], + "args": [ + { + "name": "as_origin", + "type": "asset_hub_polkadot_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2804", + "name": "force_batch", + "docs": [ + "See [`Pallet::force_batch`]." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2805", + "name": "with_weight", + "docs": [ + "See [`Pallet::with_weight`]." + ], + "args": [ + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 344 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "BatchCompletedWithErrors", + "docs": [ + "Batch of dispatches completed but has errors." + ], + "args": null + }, + { + "lookup": "2803", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2804", + "name": "ItemFailed", + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ], + "args": [ + "sp_runtime:DispatchError" + ], + "args_name": [ + "error" + ], + "args_type_name": [ + "DispatchError" + ] + }, + { + "lookup": "2805", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 122 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 389 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 390, + "value_id": 391 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "See [`Pallet::as_multi_threshold_1`]." + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "See [`Pallet::as_multi`]." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "See [`Pallet::approve_as_multi`]." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "See [`Pallet::cancel_as_multi`]." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 347 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 125 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00dbbb77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "00d43000000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U32", + "type_value": 4, + "constants_value": "64000000", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 393 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@395U128", + "keys_id": 0, + "value_id": 394 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@399U128", + "keys_id": 0, + "value_id": 398 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "See [`Pallet::proxy`]." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "See [`Pallet::add_proxy`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "See [`Pallet::remove_proxy`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "See [`Pallet::remove_proxies`]." + ], + "args": null + }, + { + "lookup": "2a04", + "name": "create_pure", + "docs": [ + "See [`Pallet::create_pure`]." + ], + "args": [ + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_pure", + "docs": [ + "See [`Pallet::kill_pure`]." + ], + "args": [ + { + "name": "spawner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumberFor" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "See [`Pallet::announce`]." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "See [`Pallet::remove_announcement`]." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "See [`Pallet::reject_announcement`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "See [`Pallet::proxy_announced`]." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + } + ], + "calls_value": { + "type": 349 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "PureCreated", + "docs": [ + "A pure account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U16" + ], + "args_name": [ + "pure", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumberFor" + ] + }, + { + "lookup": "2a04", + "name": "ProxyRemoved", + "docs": [ + "A proxy was removed." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumberFor" + ] + } + ], + "events_value": { + "type": 127 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "009d7277000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "a05a3200000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00d27e77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "40b56400000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 402 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 403 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 405, + "value_id": 406 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 409, + "value_id": 410 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata@411", + "keys_id": 4, + "value_id": 411 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "start_destroy", + "docs": [ + "See [`Pallet::start_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3203", + "name": "destroy_accounts", + "docs": [ + "See [`Pallet::destroy_accounts`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3204", + "name": "destroy_approvals", + "docs": [ + "See [`Pallet::destroy_approvals`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3205", + "name": "finish_destroy", + "docs": [ + "See [`Pallet::finish_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3206", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3209", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320a", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320b", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320c", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320d", + "name": "freeze_asset", + "docs": [ + "See [`Pallet::freeze_asset`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320e", + "name": "thaw_asset", + "docs": [ + "See [`Pallet::thaw_asset`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320f", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3210", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3211", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3212", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3213", + "name": "force_set_metadata", + "docs": [ + "See [`Pallet::force_set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3214", + "name": "force_clear_metadata", + "docs": [ + "See [`Pallet::force_clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3215", + "name": "force_asset_status", + "docs": [ + "See [`Pallet::force_asset_status`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3216", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3218", + "name": "force_cancel_approval", + "docs": [ + "See [`Pallet::force_cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3219", + "name": "transfer_approved", + "docs": [ + "See [`Pallet::transfer_approved`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321a", + "name": "touch", + "docs": [ + "See [`Pallet::touch`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "321b", + "name": "refund", + "docs": [ + "See [`Pallet::refund`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "321c", + "name": "set_min_balance", + "docs": [ + "See [`Pallet::set_min_balance`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321d", + "name": "touch_other", + "docs": [ + "See [`Pallet::touch_other`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "321e", + "name": "refund_other", + "docs": [ + "See [`Pallet::refund_other`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "321f", + "name": "block", + "docs": [ + "See [`Pallet::block`]." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 351 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3210", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3211", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3212", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3213", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3214", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3215", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "U32", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3216", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3217", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + } + ], + "events_value": { + "type": 130 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "c07e5778000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + } + ], + "errors_value": { + "type": 413 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionDetails", + "keys_id": 4, + "value_id": 414 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 415, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 416, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemDetails", + "keys_id": 155, + "value_id": 417 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionMetadata", + "keys_id": 4, + "value_id": 418 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemMetadata", + "keys_id": 155, + "value_id": 419 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 420, + "value_id": 421 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 155, + "value_id": 422 + } + }, + "fallback": "0x00", + "docs": [ + " Price of an asset instance." + ] + }, + { + "name": "CollectionMaxSupply", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U32", + "keys_id": 4, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " Keeps track of the number of items a collection might have." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "See [`Pallet::destroy`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "See [`Pallet::redeposit`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_collection", + "docs": [ + "See [`Pallet::freeze_collection`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_collection", + "docs": [ + "See [`Pallet::thaw_collection`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "new_owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "330f", + "name": "force_item_status", + "docs": [ + "See [`Pallet::force_item_status`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "See [`Pallet::set_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "See [`Pallet::clear_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3314", + "name": "set_collection_metadata", + "docs": [ + "See [`Pallet::set_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_collection_metadata", + "docs": [ + "See [`Pallet::clear_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "3316", + "name": "set_accept_ownership", + "docs": [ + "See [`Pallet::set_accept_ownership`]." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3317", + "name": "set_collection_max_supply", + "docs": [ + "See [`Pallet::set_collection_max_supply`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "3318", + "name": "set_price", + "docs": [ + "See [`Pallet::set_price`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3319", + "name": "buy_item", + "docs": [ + "See [`Pallet::buy_item`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + } + ], + "calls_value": { + "type": 352 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some `item` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some `item` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3308", + "name": "CollectionFrozen", + "docs": [ + "Some `collection` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3309", + "name": "CollectionThawed", + "docs": [ + "Some `collection` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "ItemStatusChanged", + "docs": [ + "A `collection` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330f", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "item", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec" + ] + }, + { + "lookup": "3316", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "3317", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "3318", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the instance." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "3319", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the instance was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "331a", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + } + ], + "events_value": { + "type": 131 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The item ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The item or collection is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership of the collection is acceptable." + ] + }, + { + "name": "Locked", + "doc": [ + "The item is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyAlreadySet", + "doc": [ + "The max supply has already been set." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less to the amount of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + } + ], + "errors_value": { + "type": 423 + }, + "index": 51 + }, + { + "name": "Nfts", + "prefix": "Nfts", + "storage": [ + { + "name": "Collection", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionDetails", + "keys_id": 4, + "value_id": 424 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 415, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "CollectionAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 416, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "CollectionRoleOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "U8", + "keys_id": 405, + "value_id": 425 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details.", + " Stores collection roles as per account." + ] + }, + { + "name": "Item", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:ItemDetails", + "keys_id": 155, + "value_id": 427 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "CollectionMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionMetadata", + "keys_id": 4, + "value_id": 433 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "ItemMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:ItemMetadata", + "keys_id": 155, + "value_id": 434 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "pallet_nfts:types:AttributeNamespace", + "Vec" + ], + "value": "Tuple:Vecpallet_nfts:types:AttributeDeposit", + "keys_id": 436, + "value_id": 437 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 155, + "value_id": 422 + } + }, + "fallback": "0x00", + "docs": [ + " A price of an item." + ] + }, + { + "name": "ItemAttributesApprovalsOf", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 155, + "value_id": 439 + } + }, + "fallback": "0x00", + "docs": [ + " Item attribute approvals." + ] + }, + { + "name": "NextCollectionId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Stores the `CollectionId` that is going to be used for the next collection.", + " This gets incremented whenever a new collection is created." + ] + }, + { + "name": "PendingSwapOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:PendingSwap", + "keys_id": 155, + "value_id": 441 + } + }, + "fallback": "0x00", + "docs": [ + " Handles all the pending swaps." + ] + }, + { + "name": "CollectionConfigOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionConfig", + "keys_id": 4, + "value_id": 357 + } + }, + "fallback": "0x00", + "docs": [ + " Config of a collection." + ] + }, + { + "name": "ItemConfigOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "U64", + "keys_id": 155, + "value_id": 367 + } + }, + "fallback": "0x00", + "docs": [ + " Config of an item." + ] + } + ], + "calls": [ + { + "lookup": "3400", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "3401", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "3402", + "name": "destroy", + "docs": [ + "See [`Pallet::destroy`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_nfts:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3403", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "mint_to", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "witness_data", + "type": "option", + "type_name": "Option>" + } + ] + }, + { + "lookup": "3404", + "name": "force_mint", + "docs": [ + "See [`Pallet::force_mint`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "mint_to", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "item_config", + "type": "U64", + "type_name": "ItemConfig" + } + ] + }, + { + "lookup": "3405", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3406", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3407", + "name": "redeposit", + "docs": [ + "See [`Pallet::redeposit`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3408", + "name": "lock_item_transfer", + "docs": [ + "See [`Pallet::lock_item_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3409", + "name": "unlock_item_transfer", + "docs": [ + "See [`Pallet::unlock_item_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "340a", + "name": "lock_collection", + "docs": [ + "See [`Pallet::lock_collection`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "lock_settings", + "type": "U64", + "type_name": "CollectionSettings" + } + ] + }, + { + "lookup": "340b", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "new_owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "340c", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "option", + "type_name": "Option" + }, + { + "name": "admin", + "type": "option", + "type_name": "Option" + }, + { + "name": "freezer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "340d", + "name": "force_collection_owner", + "docs": [ + "See [`Pallet::force_collection_owner`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "340e", + "name": "force_collection_config", + "docs": [ + "See [`Pallet::force_collection_config`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "340f", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "maybe_deadline", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3410", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3411", + "name": "clear_all_transfer_approvals", + "docs": [ + "See [`Pallet::clear_all_transfer_approvals`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3412", + "name": "lock_item_properties", + "docs": [ + "See [`Pallet::lock_item_properties`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "lock_metadata", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "lock_attributes", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3413", + "name": "set_attribute", + "docs": [ + "See [`Pallet::set_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3414", + "name": "force_set_attribute", + "docs": [ + "See [`Pallet::force_set_attribute`]." + ], + "args": [ + { + "name": "set_as", + "type": "option", + "type_name": "Option" + }, + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3415", + "name": "clear_attribute", + "docs": [ + "See [`Pallet::clear_attribute`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3416", + "name": "approve_item_attributes", + "docs": [ + "See [`Pallet::approve_item_attributes`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3417", + "name": "cancel_item_attributes_approval", + "docs": [ + "See [`Pallet::cancel_item_attributes_approval`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "witness", + "type": "U32", + "type_name": "CancelAttributesApprovalWitness" + } + ] + }, + { + "lookup": "3418", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3419", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "341a", + "name": "set_collection_metadata", + "docs": [ + "See [`Pallet::set_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "341b", + "name": "clear_collection_metadata", + "docs": [ + "See [`Pallet::clear_collection_metadata`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "341c", + "name": "set_accept_ownership", + "docs": [ + "See [`Pallet::set_accept_ownership`]." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "341d", + "name": "set_collection_max_supply", + "docs": [ + "See [`Pallet::set_collection_max_supply`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "341e", + "name": "update_mint_settings", + "docs": [ + "See [`Pallet::update_mint_settings`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "mint_settings", + "type": "pallet_nfts:types:MintSettings", + "type_name": "MintSettings" + } + ] + }, + { + "lookup": "341f", + "name": "set_price", + "docs": [ + "See [`Pallet::set_price`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3420", + "name": "buy_item", + "docs": [ + "See [`Pallet::buy_item`]." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + }, + { + "lookup": "3421", + "name": "pay_tips", + "docs": [ + "See [`Pallet::pay_tips`]." + ], + "args": [ + { + "name": "tips", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3422", + "name": "create_swap", + "docs": [ + "See [`Pallet::create_swap`]." + ], + "args": [ + { + "name": "offered_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "offered_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "desired_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_desired_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "maybe_price", + "type": "option", + "type_name": "Option>" + }, + { + "name": "duration", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "3423", + "name": "cancel_swap", + "docs": [ + "See [`Pallet::cancel_swap`]." + ], + "args": [ + { + "name": "offered_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "offered_item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3424", + "name": "claim_swap", + "docs": [ + "See [`Pallet::claim_swap`]." + ], + "args": [ + { + "name": "send_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "send_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "receive_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "receive_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "witness_price", + "type": "option", + "type_name": "Option>" + } + ] + }, + { + "lookup": "3425", + "name": "mint_pre_signed", + "docs": [ + "See [`Pallet::mint_pre_signed`]." + ], + "args": [ + { + "name": "mint_data", + "type": "pallet_nfts:types:PreSignedMint", + "type_name": "Box" + }, + { + "name": "signature", + "type": "sp_runtime:MultiSignature", + "type_name": "OffchainSignature" + }, + { + "name": "signer", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3426", + "name": "set_attributes_pre_signed", + "docs": [ + "See [`Pallet::set_attributes_pre_signed`]." + ], + "args": [ + { + "name": "data", + "type": "pallet_nfts:types:PreSignedAttributes", + "type_name": "PreSignedAttributesOf" + }, + { + "name": "signature", + "type": "sp_runtime:MultiSignature", + "type_name": "OffchainSignature" + }, + { + "name": "signer", + "type": "AccountId", + "type_name": "AccountId" + } + ] + } + ], + "calls_value": { + "type": 356 + }, + "events": [ + { + "lookup": "3400", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3401", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3402", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3403", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3404", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3405", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3406", + "name": "ItemTransferLocked", + "docs": [ + "An `item` became non-transferable." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3407", + "name": "ItemTransferUnlocked", + "docs": [ + "An `item` became transferable." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3408", + "name": "ItemPropertiesLocked", + "docs": [ + "`item` metadata or attributes were locked." + ], + "args": [ + "U32", + "U32", + "Bool", + "Bool" + ], + "args_name": [ + "collection", + "item", + "lock_metadata", + "lock_attributes" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "bool", + "bool" + ] + }, + { + "lookup": "3409", + "name": "CollectionLocked", + "docs": [ + "Some `collection` was locked." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "340a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "340b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "option", + "option", + "option" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "Option", + "Option", + "Option" + ] + }, + { + "lookup": "340c", + "name": "TransferApproved", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId", + "option" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId", + "Option" + ] + }, + { + "lookup": "340d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "340e", + "name": "AllApprovalsCancelled", + "docs": [ + "All approvals of an item got cancelled." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "340f", + "name": "CollectionConfigChanged", + "docs": [ + "A `collection` has had its config changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3410", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "data" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec" + ] + }, + { + "lookup": "3411", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3412", + "name": "ItemMetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec" + ], + "args_name": [ + "collection", + "item", + "data" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec" + ] + }, + { + "lookup": "3413", + "name": "ItemMetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3414", + "name": "Redeposited", + "docs": [ + "The deposit for a set of `item`s within a `collection` has been updated." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3415", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec", + "AttributeNamespace" + ] + }, + { + "lookup": "3416", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "AttributeNamespace" + ] + }, + { + "lookup": "3417", + "name": "ItemAttributesApprovalAdded", + "docs": [ + "A new approval to modify item attributes was added." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3418", + "name": "ItemAttributesApprovalRemoved", + "docs": [ + "A new approval to modify item attributes was removed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3419", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "341a", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "341b", + "name": "CollectionMintSettingsUpdated", + "docs": [ + "Mint settings for a collection had changed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "341c", + "name": "NextCollectionIdIncremented", + "docs": [ + "Event gets emitted when the `NextCollectionId` gets incremented." + ], + "args": [ + "option" + ], + "args_name": [ + "next_id" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "341d", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the item." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "341e", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the item was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "341f", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3420", + "name": "TipSent", + "docs": [ + "A tip was sent." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "collection", + "item", + "sender", + "receiver", + "amount" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId", + "DepositBalanceOf" + ] + }, + { + "lookup": "3421", + "name": "SwapCreated", + "docs": [ + "An `item` swap intent was created." + ], + "args": [ + "U32", + "U32", + "U32", + "option", + "option", + "U32" + ], + "args_name": [ + "offered_collection", + "offered_item", + "desired_collection", + "desired_item", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "CollectionId", + "Option", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3422", + "name": "SwapCancelled", + "docs": [ + "The swap was cancelled." + ], + "args": [ + "U32", + "U32", + "U32", + "option", + "option", + "U32" + ], + "args_name": [ + "offered_collection", + "offered_item", + "desired_collection", + "desired_item", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "CollectionId", + "Option", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3423", + "name": "SwapClaimed", + "docs": [ + "The swap has been claimed." + ], + "args": [ + "U32", + "U32", + "AccountId", + "U32", + "U32", + "AccountId", + "option", + "U32" + ], + "args_name": [ + "sent_collection", + "sent_item", + "sent_item_owner", + "received_collection", + "received_item", + "received_item_owner", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "CollectionId", + "ItemId", + "AccountId", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3424", + "name": "PreSignedAttributesSet", + "docs": [ + "New attributes have been set for an `item` of the `collection`." + ], + "args": [ + "U32", + "U32", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "item", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AttributeNamespace" + ] + }, + { + "lookup": "3425", + "name": "PalletAttributeSet", + "docs": [ + "A new attribute in the `Pallet` namespace was set for the `collection` or an `item`", + "within that `collection`." + ], + "args": [ + "U32", + "option", + "pallet_nfts:types:PalletAttributes", + "Vec" + ], + "args_name": [ + "collection", + "item", + "attribute", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "PalletAttributes", + "BoundedVec" + ] + } + ], + "events_value": { + "type": 138 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "40f1fb77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "10320103000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "1071ff0b000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00c2eb0b000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "00010000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "00010000", + "docs": [ + " The maximum length of an attribute value." + ] + }, + { + "name": "ApprovalsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "14000000", + "docs": [ + " The maximum approvals an item could have." + ] + }, + { + "name": "ItemAttributesApprovalsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "1e000000", + "docs": [ + " The maximum attributes approvals an item could have." + ] + }, + { + "name": "MaxTips", + "type": "U32", + "type_value": 4, + "constants_value": "0a000000", + "docs": [ + " The max number of tips a user could send." + ] + }, + { + "name": "MaxDeadlineDuration", + "type": "U32", + "type_value": 4, + "constants_value": "008d2700", + "docs": [ + " The max duration in blocks for deadlines." + ] + }, + { + "name": "MaxAttributesPerCall", + "type": "U32", + "type_value": 4, + "constants_value": "0a000000", + "docs": [ + " The max number of attributes a user could set per call." + ] + }, + { + "name": "Features", + "type": "U64", + "type_value": 442, + "constants_value": "0000000000000000", + "docs": [ + " Disables some of pallet's features." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "ApprovalExpired", + "doc": [ + "The approval had a deadline that expired, so the approval isn't valid anymore." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "The witness data given does not match the current state of the chain." + ] + }, + { + "name": "CollectionIdInUse", + "doc": [ + "Collection ID is already taken." + ] + }, + { + "name": "ItemsNonTransferable", + "doc": [ + "Items within that collection are non-transferable." + ] + }, + { + "name": "NotDelegate", + "doc": [ + "The provided account is not a delegate." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership acceptance of the collection." + ] + }, + { + "name": "ItemLocked", + "doc": [ + "The item is locked (non-transferable)." + ] + }, + { + "name": "LockedItemAttributes", + "doc": [ + "Item's attributes are locked." + ] + }, + { + "name": "LockedCollectionAttributes", + "doc": [ + "Collection's attributes are locked." + ] + }, + { + "name": "LockedItemMetadata", + "doc": [ + "Item's metadata is locked." + ] + }, + { + "name": "LockedCollectionMetadata", + "doc": [ + "Collection's metadata is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyLocked", + "doc": [ + "The max supply is locked and can't be changed." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less than the number of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "UnknownSwap", + "doc": [ + "Swap doesn't exist." + ] + }, + { + "name": "MetadataNotFound", + "doc": [ + "The given item has no metadata set." + ] + }, + { + "name": "AttributeNotFound", + "doc": [ + "The provided attribute can't be found." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + }, + { + "name": "ReachedApprovalLimit", + "doc": [ + "The item has reached its approval limit." + ] + }, + { + "name": "DeadlineExpired", + "doc": [ + "The deadline has already expired." + ] + }, + { + "name": "WrongDuration", + "doc": [ + "The duration provided should be less than or equal to `MaxDeadlineDuration`." + ] + }, + { + "name": "MethodDisabled", + "doc": [ + "The method is disabled by system settings." + ] + }, + { + "name": "WrongSetting", + "doc": [ + "The provided setting can't be set." + ] + }, + { + "name": "InconsistentItemConfig", + "doc": [ + "Item's config already exists and should be equal to the provided one." + ] + }, + { + "name": "NoConfig", + "doc": [ + "Config for a collection or an item can't be found." + ] + }, + { + "name": "RolesNotCleared", + "doc": [ + "Some roles were not cleared." + ] + }, + { + "name": "MintNotStarted", + "doc": [ + "Mint has not started yet." + ] + }, + { + "name": "MintEnded", + "doc": [ + "Mint has already ended." + ] + }, + { + "name": "AlreadyClaimed", + "doc": [ + "The provided Item was already used for claiming." + ] + }, + { + "name": "IncorrectData", + "doc": [ + "The provided data is incorrect." + ] + }, + { + "name": "WrongOrigin", + "doc": [ + "The extrinsic was sent by the wrong origin." + ] + }, + { + "name": "WrongSignature", + "doc": [ + "The provided signature is incorrect." + ] + }, + { + "name": "IncorrectMetadata", + "doc": [ + "The provided metadata might be too long." + ] + }, + { + "name": "MaxAttributesLimitReached", + "doc": [ + "Can't set more attributes per one call." + ] + }, + { + "name": "WrongNamespace", + "doc": [ + "The provided namespace isn't supported in this call." + ] + }, + { + "name": "CollectionNotEmpty", + "doc": [ + "Can't delete non-empty collections." + ] + }, + { + "name": "WitnessRequired", + "doc": [ + "The witness data should be provided." + ] + } + ], + "errors_value": { + "type": 444 + }, + "index": 52 + }, + { + "name": "ForeignAssets", + "prefix": "ForeignAssets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 37, + "value_id": 403 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 445, + "value_id": 406 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 446, + "value_id": 410 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "pallet_assets:types:AssetMetadata@447", + "keys_id": 37, + "value_id": 447 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3500", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3501", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3502", + "name": "start_destroy", + "docs": [ + "See [`Pallet::start_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3503", + "name": "destroy_accounts", + "docs": [ + "See [`Pallet::destroy_accounts`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3504", + "name": "destroy_approvals", + "docs": [ + "See [`Pallet::destroy_approvals`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3505", + "name": "finish_destroy", + "docs": [ + "See [`Pallet::finish_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3506", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3507", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3508", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3509", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "350a", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "350b", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "350c", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "350d", + "name": "freeze_asset", + "docs": [ + "See [`Pallet::freeze_asset`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "350e", + "name": "thaw_asset", + "docs": [ + "See [`Pallet::thaw_asset`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "350f", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3510", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3511", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3512", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3513", + "name": "force_set_metadata", + "docs": [ + "See [`Pallet::force_set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3514", + "name": "force_clear_metadata", + "docs": [ + "See [`Pallet::force_clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3515", + "name": "force_asset_status", + "docs": [ + "See [`Pallet::force_asset_status`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3516", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3517", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3518", + "name": "force_cancel_approval", + "docs": [ + "See [`Pallet::force_cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3519", + "name": "transfer_approved", + "docs": [ + "See [`Pallet::transfer_approved`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "351a", + "name": "touch", + "docs": [ + "See [`Pallet::touch`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "351b", + "name": "refund", + "docs": [ + "See [`Pallet::refund`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "351c", + "name": "set_min_balance", + "docs": [ + "See [`Pallet::set_min_balance`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "351d", + "name": "touch_other", + "docs": [ + "See [`Pallet::touch_other`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "351e", + "name": "refund_other", + "docs": [ + "See [`Pallet::refund_other`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "351f", + "name": "block", + "docs": [ + "See [`Pallet::block`]." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 380 + }, + "events": [ + { + "lookup": "3500", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3501", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3502", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3503", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3504", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3505", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3506", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3507", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3508", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3509", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "350b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "350c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "350f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3510", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3511", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3512", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3513", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3514", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3515", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3516", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3517", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + } + ], + "events_value": { + "type": 145 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "c07e5778000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + } + ], + "errors_value": { + "type": 449 + }, + "index": 53 + }, + { + "name": "PoolAssets", + "prefix": "PoolAssets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 403 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 405, + "value_id": 406 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 409, + "value_id": 410 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata@450", + "keys_id": 4, + "value_id": 450 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3600", + "name": "create", + "docs": [ + "See [`Pallet::create`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3601", + "name": "force_create", + "docs": [ + "See [`Pallet::force_create`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3602", + "name": "start_destroy", + "docs": [ + "See [`Pallet::start_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3603", + "name": "destroy_accounts", + "docs": [ + "See [`Pallet::destroy_accounts`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3604", + "name": "destroy_approvals", + "docs": [ + "See [`Pallet::destroy_approvals`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3605", + "name": "finish_destroy", + "docs": [ + "See [`Pallet::finish_destroy`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3606", + "name": "mint", + "docs": [ + "See [`Pallet::mint`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3607", + "name": "burn", + "docs": [ + "See [`Pallet::burn`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3608", + "name": "transfer", + "docs": [ + "See [`Pallet::transfer`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3609", + "name": "transfer_keep_alive", + "docs": [ + "See [`Pallet::transfer_keep_alive`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "360a", + "name": "force_transfer", + "docs": [ + "See [`Pallet::force_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "360b", + "name": "freeze", + "docs": [ + "See [`Pallet::freeze`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "360c", + "name": "thaw", + "docs": [ + "See [`Pallet::thaw`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "360d", + "name": "freeze_asset", + "docs": [ + "See [`Pallet::freeze_asset`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "360e", + "name": "thaw_asset", + "docs": [ + "See [`Pallet::thaw_asset`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "360f", + "name": "transfer_ownership", + "docs": [ + "See [`Pallet::transfer_ownership`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3610", + "name": "set_team", + "docs": [ + "See [`Pallet::set_team`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3611", + "name": "set_metadata", + "docs": [ + "See [`Pallet::set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3612", + "name": "clear_metadata", + "docs": [ + "See [`Pallet::clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3613", + "name": "force_set_metadata", + "docs": [ + "See [`Pallet::force_set_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3614", + "name": "force_clear_metadata", + "docs": [ + "See [`Pallet::force_clear_metadata`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3615", + "name": "force_asset_status", + "docs": [ + "See [`Pallet::force_asset_status`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3616", + "name": "approve_transfer", + "docs": [ + "See [`Pallet::approve_transfer`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3617", + "name": "cancel_approval", + "docs": [ + "See [`Pallet::cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3618", + "name": "force_cancel_approval", + "docs": [ + "See [`Pallet::force_cancel_approval`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3619", + "name": "transfer_approved", + "docs": [ + "See [`Pallet::transfer_approved`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "361a", + "name": "touch", + "docs": [ + "See [`Pallet::touch`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "361b", + "name": "refund", + "docs": [ + "See [`Pallet::refund`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "361c", + "name": "set_min_balance", + "docs": [ + "See [`Pallet::set_min_balance`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "361d", + "name": "touch_other", + "docs": [ + "See [`Pallet::touch_other`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "361e", + "name": "refund_other", + "docs": [ + "See [`Pallet::refund_other`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "361f", + "name": "block", + "docs": [ + "See [`Pallet::block`]." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 381 + }, + "events": [ + { + "lookup": "3600", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3601", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3602", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3603", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3604", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3605", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3606", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3607", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3608", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3609", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "360a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "360b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "360c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "360d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "360e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "360f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3610", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3611", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3612", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3613", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3614", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3615", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "U32", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3616", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3617", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + } + ], + "events_value": { + "type": 146 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00000000000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00000000000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "00000000000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + } + ], + "errors_value": { + "type": 452 + }, + "index": 54 + }, + { + "name": "AssetConversion", + "prefix": "AssetConversion", + "storage": [ + { + "name": "Pools", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "U32", + "keys_id": 148, + "value_id": 453 + } + }, + "fallback": "0x00", + "docs": [ + " Map from `PoolAssetId` to `PoolInfo`. This establishes whether a pool has been officially", + " created rather than people sending tokens directly to a pool's public account." + ] + }, + { + "name": "NextPoolAssetId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Stores the `PoolAssetId` that is going to be used for the next lp token.", + " This gets incremented whenever a new lp pool is created." + ] + } + ], + "calls": [ + { + "lookup": "3700", + "name": "create_pool", + "docs": [ + "See [`Pallet::create_pool`]." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "3701", + "name": "add_liquidity", + "docs": [ + "See [`Pallet::add_liquidity`]." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "amount1_desired", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount2_desired", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount1_min", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount2_min", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "mint_to", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3702", + "name": "remove_liquidity", + "docs": [ + "See [`Pallet::remove_liquidity`]." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "lp_token_burn", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount1_min_receive", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount2_min_receive", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "withdraw_to", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3703", + "name": "swap_exact_tokens_for_tokens", + "docs": [ + "See [`Pallet::swap_exact_tokens_for_tokens`]." + ], + "args": [ + { + "name": "path", + "type": "Vec", + "type_name": "Vec>" + }, + { + "name": "amount_in", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount_out_min", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "send_to", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3704", + "name": "swap_tokens_for_exact_tokens", + "docs": [ + "See [`Pallet::swap_tokens_for_exact_tokens`]." + ], + "args": [ + { + "name": "path", + "type": "Vec", + "type_name": "Vec>" + }, + { + "name": "amount_out", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount_in_max", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "send_to", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 382 + }, + "events": [ + { + "lookup": "3700", + "name": "PoolCreated", + "docs": [ + "A successful call of the `CretaPool` extrinsic will create this event." + ], + "args": [ + "AccountId", + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U32" + ], + "args_name": [ + "creator", + "pool_id", + "pool_account", + "lp_token" + ], + "args_type_name": [ + "AccountId", + "PoolId", + "AccountId", + "PoolAssetId" + ] + }, + { + "lookup": "3701", + "name": "LiquidityAdded", + "docs": [ + "A successful call of the `AddLiquidity` extrinsic will create this event." + ], + "args": [ + "AccountId", + "AccountId", + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "U128", + "U128", + "U32", + "U128" + ], + "args_name": [ + "who", + "mint_to", + "pool_id", + "amount1_provided", + "amount2_provided", + "lp_token", + "lp_token_minted" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "PoolId", + "Balance", + "Balance", + "PoolAssetId", + "Balance" + ] + }, + { + "lookup": "3702", + "name": "LiquidityRemoved", + "docs": [ + "A successful call of the `RemoveLiquidity` extrinsic will create this event." + ], + "args": [ + "AccountId", + "AccountId", + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "U128", + "U128", + "U32", + "U128", + "U32" + ], + "args_name": [ + "who", + "withdraw_to", + "pool_id", + "amount1", + "amount2", + "lp_token", + "lp_token_burned", + "withdrawal_fee" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "PoolId", + "Balance", + "Balance", + "PoolAssetId", + "Balance", + "Permill" + ] + }, + { + "lookup": "3703", + "name": "SwapExecuted", + "docs": [ + "Assets have been converted from one to another. Both `SwapExactTokenForToken`", + "and `SwapTokenForExactToken` will generate this event." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "U128", + "Vec" + ], + "args_name": [ + "who", + "send_to", + "amount_in", + "amount_out", + "path" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Balance", + "BalancePath" + ] + }, + { + "lookup": "3704", + "name": "SwapCreditExecuted", + "docs": [ + "Assets have been converted from one to another." + ], + "args": [ + "U128", + "U128", + "Vec" + ], + "args_name": [ + "amount_in", + "amount_out", + "path" + ], + "args_type_name": [ + "Balance", + "Balance", + "BalancePath" + ] + } + ], + "events_value": { + "type": 147 + }, + "constants": [ + { + "name": "LPFee", + "type": "U32", + "type_value": 4, + "constants_value": "03000000", + "docs": [ + " A % the liquidity providers will take of every swap. Represents 10ths of a percent." + ] + }, + { + "name": "PoolSetupFee", + "type": "U128", + "type_value": 6, + "constants_value": "402d93ef000000000000000000000000", + "docs": [ + " A one-time fee to setup the pool." + ] + }, + { + "name": "PoolSetupFeeAsset", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_value": 37, + "constants_value": "0100", + "docs": [ + " Asset class from [`Config::Assets`] used to pay the [`Config::PoolSetupFee`]." + ] + }, + { + "name": "LiquidityWithdrawalFee", + "type": "U32", + "type_value": 149, + "constants_value": "00000000", + "docs": [ + " A fee to withdraw the liquidity." + ] + }, + { + "name": "MintMinLiquidity", + "type": "U128", + "type_value": 6, + "constants_value": "64000000000000000000000000000000", + "docs": [ + " The minimum LP token amount that could be minted. Ameliorates rounding errors." + ] + }, + { + "name": "MaxSwapPathLength", + "type": "U32", + "type_value": 4, + "constants_value": "03000000", + "docs": [ + " The max number of hops in a swap." + ] + }, + { + "name": "PalletId", + "type": "[U8; 8]", + "type_value": 454, + "constants_value": "70792f6173636f6e", + "docs": [ + " The pallet's id, used for deriving its sovereign account ID." + ] + } + ], + "errors": [ + { + "name": "InvalidAssetPair", + "doc": [ + "Provided asset pair is not supported for pool." + ] + }, + { + "name": "PoolExists", + "doc": [ + "Pool already exists." + ] + }, + { + "name": "WrongDesiredAmount", + "doc": [ + "Desired amount can't be zero." + ] + }, + { + "name": "AmountOneLessThanMinimal", + "doc": [ + "Provided amount should be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "AmountTwoLessThanMinimal", + "doc": [ + "Provided amount should be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "ReserveLeftLessThanMinimal", + "doc": [ + "Reserve needs to always be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "AmountOutTooHigh", + "doc": [ + "Desired amount can't be equal to the pool reserve." + ] + }, + { + "name": "PoolNotFound", + "doc": [ + "The pool doesn't exist." + ] + }, + { + "name": "Overflow", + "doc": [ + "An overflow happened." + ] + }, + { + "name": "AssetOneDepositDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the first token in the pair wasn't met." + ] + }, + { + "name": "AssetTwoDepositDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the second token in the pair wasn't met." + ] + }, + { + "name": "AssetOneWithdrawalDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the first token in the pair wasn't met." + ] + }, + { + "name": "AssetTwoWithdrawalDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the second token in the pair wasn't met." + ] + }, + { + "name": "OptimalAmountLessThanDesired", + "doc": [ + "Optimal calculated amount is less than desired." + ] + }, + { + "name": "InsufficientLiquidityMinted", + "doc": [ + "Insufficient liquidity minted." + ] + }, + { + "name": "ZeroLiquidity", + "doc": [ + "Requested liquidity can't be zero." + ] + }, + { + "name": "ZeroAmount", + "doc": [ + "Amount can't be zero." + ] + }, + { + "name": "ProvidedMinimumNotSufficientForSwap", + "doc": [ + "Calculated amount out is less than provided minimum amount." + ] + }, + { + "name": "ProvidedMaximumNotSufficientForSwap", + "doc": [ + "Provided maximum amount is not sufficient for swap." + ] + }, + { + "name": "InvalidPath", + "doc": [ + "The provided path must consists of 2 assets at least." + ] + }, + { + "name": "NonUniquePath", + "doc": [ + "The provided path must consists of unique assets." + ] + }, + { + "name": "IncorrectPoolAssetId", + "doc": [ + "It was not possible to get or increment the Id of the pool." + ] + }, + { + "name": "BelowMinimum", + "doc": [ + "The destination account cannot exist with the swapped funds." + ] + } + ], + "errors_value": { + "type": 455 + }, + "index": 55 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v1003000.json b/src/demo_substrate_events/abi/assethub/v1003000.json new file mode 100644 index 000000000..8a4e51c24 --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v1003000.json @@ -0,0 +1,18901 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "InherentsApplied", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " Whether all inherents have been applied." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:dispatch:PerDispatchClass@9", + "PlainTypeValue": 9 + }, + "fallback": "0x000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 13 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 14 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 13 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 15 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 19 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: The item is unbound and should therefore never be read on chain.", + " It could otherwise inflate the PoV size of a block.", + "", + " Events have a large in-memory size. Box the events to not go out-of-memory", + " just in case someone still reads them from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 13, + "value_id": 154 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(BlockNumberFor, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 156 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 152 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:CodeUpgradeAuthorization", + "PlainTypeValue": 158 + }, + "fallback": "0x00", + "docs": [ + " `Some` if a code upgrade has been authorized." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "remark", + "docs": [ + "Make some on-chain remark.", + "", + "Can be executed by every `origin`." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0001", + "name": "set_heap_pages", + "docs": [ + "Set the number of pages in the WebAssembly environment's heap." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0002", + "name": "set_code", + "docs": [ + "Set the new runtime code." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0003", + "name": "set_code_without_checks", + "docs": [ + "Set the new runtime code without doing any checks of the given `code`.", + "", + "Note that runtime upgrades will not run if this is called with a not-increasing spec", + "version!" + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_storage", + "docs": [ + "Set some items of storage." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0005", + "name": "kill_storage", + "docs": [ + "Kill some items from storage." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_prefix", + "docs": [ + "Kill all storage items with a key that starts with the given prefix.", + "", + "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", + "the prefix we are removing to accurately calculate the weight of this function." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0007", + "name": "remark_with_event", + "docs": [ + "Make some on-chain remark and emit event." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0009", + "name": "authorize_upgrade", + "docs": [ + "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied", + "later.", + "", + "This call requires Root origin." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "000a", + "name": "authorize_upgrade_without_checks", + "docs": [ + "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied", + "later.", + "", + "WARNING: This authorizes an upgrade that will take place without any safety checks, for", + "example that the spec name remains the same and that the version number increases. Not", + "recommended for normal use. Use `authorize_upgrade` instead.", + "", + "This call requires Root origin." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "000b", + "name": "apply_authorized_upgrade", + "docs": [ + "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized.", + "", + "If the authorization required a version check, this call will ensure the spec name", + "remains unchanged and that the spec version has increased.", + "", + "Depending on the runtime's `OnSetCode` configuration, this function may directly apply", + "the new `code` in the same block or attempt to schedule the upgrade.", + "", + "All origins are allowed." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 159 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + }, + { + "lookup": "0006", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade was authorized." + ], + "args": [ + "H256", + "Bool" + ], + "args_name": [ + "code_hash", + "check_version" + ], + "args_type_name": [ + "Hash", + "bool" + ] + } + ], + "events_value": { + "type": 22 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 163, + "constants_value": "0700f2052a0100070088526a74020040010265cd1d000107c0d22c76510200e000010700e6bd4f570200f0000100000265cd1d000107c074c1906e0200300101070088526a7402004001010700a2941a1d020050000265cd1d00000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:dispatch:PerDispatchClass@168", + "type_value": 167, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "00100000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "sp_weights:RuntimeDbWeight", + "type_value": 169, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 170, + "constants_value": "2473746174656d696e742473746174656d696e7401000000f84d0f000000000048dd718d5cc53262d401000000d7bdd8a272ca0d6501000000df6acb689907609b0500000037e397fc7c91f5e40200000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000f3ff14d5ab527059030000006ff52ee858e6c5bd0100000091b1c8b16328eb92010000009ffb505aa738d69c01000000de92b8a0426b9bf602000000ea93e3f16f3d696202000000fbc577b9d747efd6010000008a8047a53a8277ec010000000f00000000", + "docs": [ + " Get the chain's in-code version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 129, + "constants_value": "0000", + "docs": [ + " The designated SS58 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + }, + { + "name": "MultiBlockMigrationsOngoing", + "doc": [ + "A multi-block migration is ongoing and prevents the current code from being replaced." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No upgrade authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The submitted code is not authorized." + ] + } + ], + "errors_value": { + "type": 174 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "UnincludedSegment", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 175 + }, + "fallback": "0x00", + "docs": [ + " Latest included block descendants the runtime accepted. In other words, these are", + " ancestors of the currently executing block which have not been included in the observed", + " relay-chain state.", + "", + " The segment length is limited by the capacity returned from the [`ConsensusHook`] configured", + " in the pallet." + ] + }, + { + "name": "AggregatedUnincludedSegment", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:unincluded_segment:SegmentTracker", + "PlainTypeValue": 185 + }, + "fallback": "0x00", + "docs": [ + " Storage field that keeps track of bandwidth used by the unincluded segment along with the", + " latest HRMP watermark. Used for limiting the acceptance of new blocks with", + " respect to relay chain constraints." + ] + }, + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 14 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be", + " applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the", + " [`:code`][sp_core::storage::well_known_keys::CODE] which will result the next block process", + " with the new validation code. This concludes the upgrade process." + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 14 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v7:PersistedValidationData", + "PlainTypeValue": 186 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "LastRelayChainBlockNumber", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The relay chain block number associated with the last parachain block.", + "", + " This is updated in `on_finalize`." + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 188 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "UpgradeGoAhead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 183 + }, + "fallback": "0x00", + "docs": [ + " Optional upgrade go-ahead signal from the relay-chain.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelayStateProof", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 190 + }, + "fallback": "0x00", + "docs": [ + " The state proof for the last relay parent block.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 192 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v7:AbridgedHostConfiguration", + "PlainTypeValue": 197 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 199 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 200 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 203 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 162 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 162 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "UpwardDeliveryFeeFactor", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 205 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": [ + " The factor to multiply the base delivery fee by for UMP." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 14 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See `Pallet::set_custom_validation_head_data` for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "Set the current validation data.", + "", + "This should be invoked exactly once per block. It will panic at the finalization", + "phase if the call was not invoked.", + "", + "The dispatch origin for this call must be `Inherent`", + "", + "As a side effect, this function upgrades the current validation function", + "if the appropriate time has come." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": null, + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": [ + "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied", + "later.", + "", + "The `check_version` parameter sets a boolean flag for whether or not the runtime's spec", + "version and name should be verified on upgrade. Since the authorization only has a hash,", + "it cannot actually perform the verification.", + "", + "This call requires Root origin." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + }, + { + "name": "check_version", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": [ + "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized.", + "", + "If the authorization required a version check, this call will ensure the spec name", + "remains unchanged and that the spec version has increased.", + "", + "Note that this function will not apply the new `code`, but only attempt to schedule the", + "upgrade with the Relay Chain.", + "", + "All origins are allowed." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 206 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "relay_chain_block_num" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed." + ], + "args": [ + "U32" + ], + "args_name": [ + "count" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight." + ], + "args": [ + "sp_weights:weight_v2:Weight", + "H256" + ], + "args_name": [ + "weight_used", + "dmq_head" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + }, + { + "lookup": "0105", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option<[U8; 32]>" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + } + ], + "events_value": { + "type": 31 + }, + "constants": [ + { + "name": "SelfParaId", + "type": "U32", + "type_value": 120, + "constants_value": "e8030000", + "docs": [ + " Returns the parachain ID we are running with." + ] + } + ], + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending." + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function." + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run." + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block." + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block." + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 215 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 12 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " Whether the timestamp has been updated in this block.", + "", + " This value is updated to `true` upon successful submission of a timestamp by a node.", + " It is then checked at the end of each block execution in the `on_finalize` hook." + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "Set the current time.", + "", + "This call should be invoked exactly once per block. It will panic at the finalization", + "phase, if this call hasn't been invoked by that time.", + "", + "The timestamp should be greater than the previous one by the amount specified by", + "[`Config::MinimumPeriod`].", + "", + "The dispatch origin for this call must be _None_.", + "", + "This dispatch class is _Mandatory_ to ensure it gets executed in the block. Be aware", + "that changing the complexity of this call could result exhausting the resources in a", + "block to execute any other calls.", + "", + "## Complexity", + "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", + "- 1 storage read and 1 storage mutation (codec `O(1)` because of `DidUpdate::take` in", + " `on_finalize`)", + "- 1 event handler `on_timestamp_set`. Must be `O(1)`." + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 216 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 12, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks.", + "", + " Be aware that this is different to the *expected* period that the block production", + " apparatus provides. Your chosen consensus system will generally work with this to", + " determine a sensible block time. For example, in the Aura pallet it will be double this", + " period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 120 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "calls_value": { + "type": 217 + }, + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "InactiveIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units of outstanding deactivated balance in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:types:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 218 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock.", + "", + " Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/`" + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 222 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances.", + "", + " Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`" + ] + }, + { + "name": "Holds", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 225 + } + }, + "fallback": "0x00", + "docs": [ + " Holds on account balances." + ] + }, + { + "name": "Freezes", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 229 + } + }, + "fallback": "0x00", + "docs": [ + " Freeze locks on account balances." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer_allow_death", + "docs": [ + "Transfer some liquid free balance to another account.", + "", + "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver.", + "If the sender's account is below the existential deposit as a result", + "of the transfer, the account will be reaped.", + "", + "The dispatch origin for this call must be `Signed` by the transactor." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "Exactly as `transfer_allow_death`, except the origin must be root and the source account", + "may be specified." + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not", + "kill the origin account.", + "", + "99% of the time you want [`transfer_allow_death`] instead.", + "", + "[`transfer_allow_death`]: struct.Pallet.html#method.transfer" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "Transfer the entire transferable balance from the caller account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the account has, causing the sender account to be killed (false), or", + " transfer everything except at least the existential deposit, which will guarantee to", + " keep the sender account alive (true)." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "Unreserve some balance from a user by force.", + "", + "Can only be called by ROOT." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a06", + "name": "upgrade_accounts", + "docs": [ + "Upgrade a specified account.", + "", + "- `origin`: Must be `Signed`.", + "- `who`: The account to be upgraded.", + "", + "This will waive the transaction fee if at least all but 10% of the accounts needed to", + "be upgraded. (We let some not have to be upgraded just in order to allow for the", + "possibility of churn)." + ], + "args": [ + { + "name": "who", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0a08", + "name": "force_set_balance", + "docs": [ + "Set the regular balance of a given account.", + "", + "The dispatch origin for this call is `root`." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a09", + "name": "force_adjust_total_issuance", + "docs": [ + "Adjust the total issuance in a saturating way.", + "", + "Can only be called by root and always needs a positive `delta`.", + "", + "# Example" + ], + "args": [ + { + "name": "direction", + "type": "pallet_balances:types:AdjustmentDirection", + "type_name": "AdjustmentDirection" + }, + { + "name": "delta", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a0a", + "name": "burn", + "docs": [ + "Burn the specified liquid free balance from the origin account.", + "", + "If the origin's account ends up below the existential deposit as a result", + "of the burn and `keep_alive` is false, the account will be reaped.", + "", + "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,", + "this `burn` operation will reduce total issuance by the amount _burned_." + ], + "args": [ + { + "name": "value", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 232 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "free" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0a", + "name": "Minted", + "docs": [ + "Some amount was minted into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0b", + "name": "Burned", + "docs": [ + "Some amount was burned from an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0c", + "name": "Suspended", + "docs": [ + "Some amount was suspended from an account (it can be restored later)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0d", + "name": "Restored", + "docs": [ + "Some amount was restored into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0e", + "name": "Upgraded", + "docs": [ + "An account was upgraded." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "who" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0a0f", + "name": "Issued", + "docs": [ + "Total issuance was increased by `amount`, creating a credit to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a10", + "name": "Rescinded", + "docs": [ + "Total issuance was decreased by `amount`, creating a debt to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a11", + "name": "Locked", + "docs": [ + "Some balance was locked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a12", + "name": "Unlocked", + "docs": [ + "Some balance was unlocked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a13", + "name": "Frozen", + "docs": [ + "Some balance was frozen." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a14", + "name": "Thawed", + "docs": [ + "Some balance was thawed." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a15", + "name": "TotalIssuanceForced", + "docs": [ + "The `TotalIssuance` was forcefully changed." + ], + "args": [ + "U128", + "U128" + ], + "args_name": [ + "old", + "new" + ], + "args_type_name": [ + "Balance", + "Balance" + ] + } + ], + "events_value": { + "type": 33 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!", + "", + " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for", + " this pallet. However, you do so at your own risk: this will open up a major DoS vector.", + " In case you have multiple sources of provider references, you may also get unexpected", + " behaviour if you set this to zero.", + "", + " Bottom line: Do yourself a favour and make it at least one!" + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation.", + "", + " Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/`" + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account.", + "", + " Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`" + ] + }, + { + "name": "MaxFreezes", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The maximum number of individual freeze locks that can exist on an account at any time." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value." + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal." + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value." + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit." + ] + }, + { + "name": "Expendability", + "doc": [ + "Transfer/payment would kill account." + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account." + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist." + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed `MaxReserves`." + ] + }, + { + "name": "TooManyHolds", + "doc": [ + "Number of holds exceed `VariantCountOf`." + ] + }, + { + "name": "TooManyFreezes", + "doc": [ + "Number of freezes exceed `MaxFreezes`." + ] + }, + { + "name": "IssuanceDeactivated", + "doc": [ + "The issuance cannot be modified since it is already deactivated." + ] + }, + { + "name": "DeltaZero", + "doc": [ + "The delta cannot be zero." + ] + } + ], + "errors_value": { + "type": 236 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 205 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 237 + }, + "fallback": "0x00", + "docs": null + } + ], + "events": [ + { + "lookup": "0b00", + "name": "TransactionFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who`." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "actual_fee", + "tip" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf" + ] + } + ], + "events_value": { + "type": 35 + }, + "constants": [ + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee multiplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multiplied by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "0d00", + "name": "AssetTxFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who` in an asset `asset_id`." + ], + "args": [ + "AccountId", + "U128", + "U128", + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "who", + "actual_fee", + "tip", + "asset_id" + ], + "args_type_name": [ + "AccountId", + "AssetBalanceOf", + "BalanceOf", + "ChargeAssetIdOf" + ] + }, + { + "lookup": "0d01", + "name": "AssetRefundFailed", + "docs": [ + "A swap of the refund in native currency back to asset failed." + ], + "args": [ + "U128" + ], + "args_name": [ + "native_amount_kept" + ], + "args_type_name": [ + "BalanceOf" + ] + } + ], + "events_value": { + "type": 36 + }, + "errors": null, + "errors_value": null, + "index": 13 + }, + { + "name": "Vesting", + "prefix": "Vesting", + "storage": [ + { + "name": "Vesting", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 238 + } + }, + "fallback": "0x00", + "docs": [ + " Information regarding the vesting of a given account." + ] + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_vesting:Releases", + "PlainTypeValue": 241 + }, + "fallback": "0x00", + "docs": [ + " Storage version of the pallet.", + "", + " New networks start with latest version, as determined by the genesis build." + ] + } + ], + "calls": [ + { + "lookup": "0e00", + "name": "vest", + "docs": [ + "Unlock any vested funds of the sender account.", + "", + "The dispatch origin for this call must be _Signed_ and the sender must have funds still", + "locked under this pallet.", + "", + "Emits either `VestingCompleted` or `VestingUpdated`.", + "", + "## Complexity", + "- `O(1)`." + ], + "args": null + }, + { + "lookup": "0e01", + "name": "vest_other", + "docs": [ + "Unlock any vested funds of a `target` account.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `target`: The account whose vested funds should be unlocked. Must have funds still", + "locked under this pallet.", + "", + "Emits either `VestingCompleted` or `VestingUpdated`.", + "", + "## Complexity", + "- `O(1)`." + ], + "args": [ + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "0e02", + "name": "vested_transfer", + "docs": [ + "Create a vested transfer.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `target`: The account receiving the vested funds.", + "- `schedule`: The vesting schedule attached to the transfer.", + "", + "Emits `VestingCreated`.", + "", + "NOTE: This will unlock all schedules through the current block.", + "", + "## Complexity", + "- `O(1)`." + ], + "args": [ + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "schedule", + "type": "pallet_vesting:vesting_info:VestingInfo", + "type_name": "VestingInfo" + } + ] + }, + { + "lookup": "0e03", + "name": "force_vested_transfer", + "docs": [ + "Force a vested transfer.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "- `source`: The account whose funds should be transferred.", + "- `target`: The account that should be transferred the vested funds.", + "- `schedule`: The vesting schedule attached to the transfer.", + "", + "Emits `VestingCreated`.", + "", + "NOTE: This will unlock all schedules through the current block.", + "", + "## Complexity", + "- `O(1)`." + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "schedule", + "type": "pallet_vesting:vesting_info:VestingInfo", + "type_name": "VestingInfo" + } + ] + }, + { + "lookup": "0e04", + "name": "merge_schedules", + "docs": [ + "Merge two vesting schedules together, creating a new vesting schedule that unlocks over", + "the highest possible start and end blocks. If both schedules have already started the", + "current block will be used as the schedule start; with the caveat that if one schedule", + "is finished by the current block, the other will be treated as the new merged schedule,", + "unmodified.", + "", + "NOTE: If `schedule1_index == schedule2_index` this is a no-op.", + "NOTE: This will unlock all schedules through the current block prior to merging.", + "NOTE: If both schedules have ended by the current block, no new schedule will be created", + "and both will be removed.", + "", + "Merged schedule attributes:", + "- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,", + " current_block)`.", + "- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`.", + "- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `schedule1_index`: index of the first schedule to merge.", + "- `schedule2_index`: index of the second schedule to merge." + ], + "args": [ + { + "name": "schedule1_index", + "type": "U32", + "type_name": "u32" + }, + { + "name": "schedule2_index", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0e05", + "name": "force_remove_vesting_schedule", + "docs": [ + "Force remove a vesting schedule", + "", + "The dispatch origin for this call must be _Root_.", + "", + "- `target`: An account that has a vesting schedule", + "- `schedule_index`: The vesting schedule index that should be removed" + ], + "args": [ + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "schedule_index", + "type": "U32", + "type_name": "u32" + } + ] + } + ], + "calls_value": { + "type": 242 + }, + "events": [ + { + "lookup": "0e00", + "name": "VestingUpdated", + "docs": [ + "The amount vested has been updated. This could indicate a change in funds available.", + "The balance given is the amount which is left unvested (and thus locked)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "unvested" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "0e01", + "name": "VestingCompleted", + "docs": [ + "An \\[account\\] has become fully vested." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 47 + }, + "constants": [ + { + "name": "MinVestedTransfer", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The minimum amount transferred to call `vested_transfer`." + ] + }, + { + "name": "MaxVestingSchedules", + "type": "U32", + "type_value": 4, + "constants_value": "1c000000", + "docs": null + } + ], + "errors": [ + { + "name": "NotVesting", + "doc": [ + "The account given is not vesting." + ] + }, + { + "name": "AtMaxVestingSchedules", + "doc": [ + "The account already has `MaxVestingSchedules` count of schedules and thus", + "cannot add another one. Consider merging existing schedules in order to add another." + ] + }, + { + "name": "AmountLow", + "doc": [ + "Amount being transferred is too low to create a vesting schedule." + ] + }, + { + "name": "ScheduleIndexOutOfBounds", + "doc": [ + "An index was out of bounds of the vesting schedules." + ] + }, + { + "name": "InvalidScheduleParams", + "doc": [ + "Failed to create a new schedule because some parameter was invalid." + ] + } + ], + "errors_value": { + "type": 243 + }, + "index": 14 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 244 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, permissioned collators. This list must be sorted." + ] + }, + { + "name": "CandidateList", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 245 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates. `Candidates` and `Invulnerables` should be", + " mutually exclusive.", + "", + " This list is sorted in ascending order by deposit and when the deposits are equal, the least", + " recently updated is considered greater." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "Set the list of invulnerable (fixed) collators. These collators must do some", + "preparation, namely to have registered session keys.", + "", + "The call will remove any accounts that have not registered keys from the set. That is,", + "it is non-atomic; the caller accepts all `AccountId`s passed in `new` _individually_ as", + "acceptable Invulnerables, and is not proposing a _set_ of new Invulnerables.", + "", + "This call does not maintain mutual exclusivity of `Invulnerables` and `Candidates`. It", + "is recommended to use a batch of `add_invulnerable` and `remove_invulnerable` instead. A", + "`batch_all` can also be used to enforce atomicity. If any candidates are included in", + "`new`, they should be removed with `remove_invulnerable_candidate` after execution.", + "", + "Must be called by the `UpdateOrigin`." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "Set the ideal number of non-invulnerable collators. If lowering this number, then the", + "number of running collators could be higher than this figure. Aside from that edge case,", + "there should be no other way to have more candidates than the desired number.", + "", + "The origin for this call must be the `UpdateOrigin`." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "Set the candidacy bond amount.", + "", + "If the candidacy bond is increased by this call, all current candidates which have a", + "deposit lower than the new bond will be kicked from the list and get their deposits", + "back.", + "", + "The origin for this call must be the `UpdateOrigin`." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "Register this account as a collator candidate. The account must (a) already have", + "registered session keys and (b) be able to reserve the `CandidacyBond`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "Deregister `origin` as a collator candidate. Note that the collator can only leave on", + "session change. The `CandidacyBond` will be unreserved immediately.", + "", + "This call will fail if the total number of candidates would drop below", + "`MinEligibleCollators`." + ], + "args": null + }, + { + "lookup": "1505", + "name": "add_invulnerable", + "docs": [ + "Add a new account `who` to the list of `Invulnerables` collators. `who` must have", + "registered session keys. If `who` is a candidate, they will be removed.", + "", + "The origin for this call must be the `UpdateOrigin`." + ], + "args": [ + { + "name": "who", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "1506", + "name": "remove_invulnerable", + "docs": [ + "Remove an account `who` from the list of `Invulnerables` collators. `Invulnerables` must", + "be sorted.", + "", + "The origin for this call must be the `UpdateOrigin`." + ], + "args": [ + { + "name": "who", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "1507", + "name": "update_bond", + "docs": [ + "Update the candidacy bond of collator candidate `origin` to a new amount `new_deposit`.", + "", + "Setting a `new_deposit` that is lower than the current deposit while `origin` is", + "occupying a top-`DesiredCandidates` slot is not allowed.", + "", + "This call will fail if `origin` is not a collator candidate, the updated bond is lower", + "than the minimum candidacy bond, and/or the amount cannot be reserved." + ], + "args": [ + { + "name": "new_deposit", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1508", + "name": "take_candidate_slot", + "docs": [ + "The caller `origin` replaces a candidate `target` in the collator candidate list by", + "reserving `deposit`. The amount `deposit` reserved by the caller must be greater than", + "the existing bond of the target it is trying to replace.", + "", + "This call will fail if the caller is already a collator candidate or invulnerable, the", + "caller does not have registered session keys, the target is not a collator candidate,", + "and/or the `deposit` amount cannot be reserved." + ], + "args": [ + { + "name": "deposit", + "type": "U128", + "type_name": "BalanceOf" + }, + { + "name": "target", + "type": "AccountId", + "type_name": "AccountId" + } + ] + } + ], + "calls_value": { + "type": 248 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": [ + "New Invulnerables were set." + ], + "args": [ + "Vec" + ], + "args_name": [ + "invulnerables" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "InvulnerableAdded", + "docs": [ + "A new Invulnerable was added." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1502", + "name": "InvulnerableRemoved", + "docs": [ + "An Invulnerable was removed." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1503", + "name": "NewDesiredCandidates", + "docs": [ + "The number of desired candidates was set." + ], + "args": [ + "U32" + ], + "args_name": [ + "desired_candidates" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1504", + "name": "NewCandidacyBond", + "docs": [ + "The candidacy bond was set." + ], + "args": [ + "U128" + ], + "args_name": [ + "bond_amount" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1505", + "name": "CandidateAdded", + "docs": [ + "A new candidate joined." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1506", + "name": "CandidateBondUpdated", + "docs": [ + "Bond of a candidate updated." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1507", + "name": "CandidateRemoved", + "docs": [ + "A candidate was removed." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1508", + "name": "CandidateReplaced", + "docs": [ + "An account was replaced in the candidate list by another one." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "old", + "new", + "deposit" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1509", + "name": "InvalidInvulnerableSkipped", + "docs": [ + "An account was unable to be added to the Invulnerables because they did not have keys", + "registered. Other Invulnerables may have been set." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 48 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "The pallet has too many candidates." + ] + }, + { + "name": "TooFewEligibleCollators", + "doc": [ + "Leaving would result in too few candidates." + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "Account is already a candidate." + ] + }, + { + "name": "NotCandidate", + "doc": [ + "Account is not a candidate." + ] + }, + { + "name": "TooManyInvulnerables", + "doc": [ + "There are too many Invulnerables." + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "Account is already an Invulnerable." + ] + }, + { + "name": "NotInvulnerable", + "doc": [ + "Account is not an Invulnerable." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID." + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered." + ] + }, + { + "name": "InsertToCandidateListFailed", + "doc": [ + "Could not insert in the candidate list." + ] + }, + { + "name": "RemoveFromCandidateListFailed", + "doc": [ + "Could not remove from the candidate list." + ] + }, + { + "name": "DepositTooLow", + "doc": [ + "New deposit amount would be below the minimum candidacy bond." + ] + }, + { + "name": "UpdateCandidateListFailed", + "doc": [ + "Could not update the candidate list." + ] + }, + { + "name": "InsufficientBond", + "doc": [ + "Deposit amount is too low to take the target's slot in the candidate list." + ] + }, + { + "name": "TargetIsNotCandidate", + "doc": [ + "The target account to be replaced in the candidate list is not a candidate." + ] + }, + { + "name": "IdenticalDeposit", + "doc": [ + "The updated deposit amount is equal to the amount already reserved." + ] + }, + { + "name": "InvalidUnreserve", + "doc": [ + "Cannot lower candidacy bond while occupying a future collator slot in the list." + ] + } + ], + "errors_value": { + "type": 249 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 49 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 250 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 133 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 252 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 254, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "Sets the session key(s) of the function caller to `keys`.", + "Allows an account to set its session key prior to becoming a validator.", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be signed.", + "", + "## Complexity", + "- `O(1)`. Actual cost depends on the number of length of `T::Keys::key_ids()` which is", + " fixed." + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "Removes any session key(s) of the function caller.", + "", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be Signed and the account must be either be", + "convertible to a validator ID using the chain's typical addressing system (this usually", + "means being a controller account) or directly convertible into a validator ID (which", + "usually means being a stash account).", + "", + "## Complexity", + "- `O(1)` in number of key types. Actual cost depends on the number of length of", + " `T::Keys::key_ids()` which is fixed." + ], + "args": null + } + ], + "calls_value": { + "type": 256 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 50 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 257 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 258 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 260 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "constants": [ + { + "name": "SlotDuration", + "type": "U64", + "type_value": 12, + "constants_value": "e02e000000000000", + "docs": [ + " The slot duration Aura should run with, expressed in milliseconds.", + " The effective value of this type should not change while the chain is running.", + "", + " For backwards compatibility either use [`MinimumPeriodTimesTwo`] or a const." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 258 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will", + " always be updated to the latest AuRa authorities in `on_finalize`." + ] + }, + { + "name": "SlotInfo", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Tuple:U64U32", + "PlainTypeValue": 261 + }, + "fallback": "0x00", + "docs": [ + " Current slot paired with a number of authored blocks.", + "", + " Updated on each block initialization." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 262 + }, + "fallback": "0x00", + "docs": [ + " The suspended inbound XCMP channels. All others are not suspended.", + "", + " This is a `StorageValue` instead of a `StorageMap` since we expect multiple reads per block", + " to different keys with a one byte payload. The access to `BoundedBTreeSet` will be cached", + " within the block and therefore only included once in the proof size.", + "", + " NOTE: The PoV benchmarking cannot know this and will over-estimate, but the actual proof", + " will be smaller." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 265 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 269, + "value_id": 270 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 120, + "value_id": 270 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 271 + }, + "fallback": "0x200000003000000008000000", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + }, + { + "name": "DeliveryFeeFactor", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U128", + "keys_id": 120, + "value_id": 205 + } + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": [ + " The factor to multiply the base delivery fee by." + ] + } + ], + "calls": [ + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "Suspends all XCM executions for the XCMP queue, regardless of the sender's origin.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "Resumes all XCM executions for the XCMP queue.", + "", + "Note that this function doesn't change the status of the in/out bound channels.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "Overwrites the number of pages which must be in the queue for the other side to be", + "told to suspend their sending.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.suspend_value`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "Overwrites the number of pages which must be in the queue after which we drop any", + "further messages from the channel.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.drop_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "Overwrites the number of pages which the queue must be reduced to before it signals", + "that message sending may recommence after it has been suspended.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.resume_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + } + ], + "calls_value": { + "type": 272 + }, + "events": [ + { + "lookup": "1e00", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "XcmHash" + ] + } + ], + "events_value": { + "type": 51 + }, + "constants": [ + { + "name": "MaxInboundSuspended", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " The maximum number of inbound XCMP channels that can be suspended simultaneously.", + "", + " Any further channel suspensions will fail and messages may get dropped without further", + " notice. Choosing a high value (1000) is okay; the trade-off that is described in", + " [`InboundXcmpSuspended`] still applies at that scale." + ] + }, + { + "name": "MaxActiveOutboundChannels", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " Maximal number of outbound XCMP channels that can have messages queued at the same time.", + "", + " If this is reached, then no further messages can be sent to channels that do not yet", + " have a message queued. This should be set to the expected maximum of outbound channels", + " which is determined by [`Self::ChannelInfo`]. It is important to set this large enough,", + " since otherwise the congestion control protocol will not work as intended and messages", + " may be dropped. This value increases the PoV and should therefore not be picked too", + " high. Governance needs to pay attention to not open more channels than this value." + ] + }, + { + "name": "MaxPageSize", + "type": "U32", + "type_value": 4, + "constants_value": "009c0100", + "docs": [ + " The maximal page size for HRMP message pages.", + "", + " A lower limit can be set dynamically, but this is the hard-limit for the PoV worst case", + " benchmarking. The limit for the size of a message is slightly below this, since some", + " overhead is incurred for encoding the format." + ] + } + ], + "errors": [ + { + "name": "BadQueueConfig", + "doc": [ + "Setting the queue config failed since one of its values was invalid." + ] + }, + { + "name": "AlreadySuspended", + "doc": [ + "The execution is already suspended." + ] + }, + { + "name": "AlreadyResumed", + "doc": [ + "The execution is already resumed." + ] + }, + { + "name": "TooManyActiveOutboundChannels", + "doc": [ + "There are too many active outbound channels." + ] + }, + { + "name": "TooBig", + "doc": [ + "The message is too big." + ] + } + ], + "errors_value": { + "type": 273 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 12 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 12, + "value_id": 274 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 13, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `Assets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedLocation" + ], + "value": "U32", + "keys_id": 288, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedLocation" + ], + "value": "U64", + "keys_id": 288, + "value_id": 12 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedLocation" + ], + "value": "Tuple:U64sp_weights:weight_v2:WeightU32", + "keys_id": 288, + "value_id": 289 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 290 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 293 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + }, + { + "name": "RemoteLockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "xcm:VersionedAssetId" + ], + "value": "pallet_xcm:pallet:RemoteLockedFungibleRecord", + "keys_id": 295, + "value_id": 297 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on a remote chain." + ] + }, + { + "name": "LockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 301 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on this chain." + ] + }, + { + "name": "XcmExecutionSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " Global suspension state of the XCM executor." + ] + }, + { + "name": "ShouldRecordXcm", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " Whether or not incoming XCMs (both executed locally and received) should be recorded.", + " Only one XCM program will be recorded at a time.", + " This is meant to be used in runtime APIs, and it's advised it stays false", + " for all other use cases, so as to not degrade regular performance.", + "", + " Only relevant if this pallet is being used as the [`xcm_executor::traits::RecordXcm`]", + " implementation in the XCM executor configuration." + ] + }, + { + "name": "RecordedXcm", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 68 + }, + "fallback": "0x00", + "docs": [ + " If [`ShouldRecordXcm`] is set to true, then the last XCM program executed locally", + " will be stored here.", + " Runtime APIs can fetch the XCM that was executed by accessing this value.", + "", + " Only relevant if this pallet is being used as the [`xcm_executor::traits::RecordXcm`]", + " implementation in the XCM executor configuration." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": null, + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@305", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "**This function is deprecated: Use `limited_teleport_assets` instead.**", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `[Parent,", + " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from", + " relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will", + " generally be an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the", + " fee on the `dest` chain.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the destination chain through their local,", + "destination or remote reserve.", + "", + "`assets` must have same reserve location and may not be teleportable to `dest`.", + " - `assets` have local reserve: transfer assets to sovereign account of destination", + " chain and forward a notification XCM to `dest` to mint and deposit reserve-based", + " assets to `beneficiary`.", + " - `assets` have destination reserve: burn local assets and forward a notification to", + " `dest` chain to withdraw the reserve assets from this chain's sovereign account and", + " deposit them to `beneficiary`.", + " - `assets` have remote reserve: burn local assets, forward XCM to reserve chain to move", + " reserves from this chain's SA to `dest` chain's SA, and forward another XCM to `dest`", + " to mint and deposit reserve-based assets to `beneficiary`.", + "", + "**This function is deprecated: Use `limited_reserve_transfer_assets` instead.**", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `[Parent,", + " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from", + " relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will", + " generally be an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the", + " fee on the `dest` (and possibly reserve) chains.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "Execute an XCM message from a local, signed, origin.", + "", + "An event is deposited indicating whether `msg` could be executed completely or only", + "partially.", + "", + "No more than `max_weight` will be used in its attempted execution. If this is less than", + "the maximum amount of weight that the message could take to be executed, then no", + "execution attempt will be made." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@322", + "type_name": "Box::RuntimeCall>>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "Extoll that a particular destination can be communicated with through a particular", + "version of XCM.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `location`: The destination that is being described.", + "- `xcm_version`: The latest version of XCM that `location` supports." + ], + "args": [ + { + "name": "location", + "type": "staging_xcm:v4:location:Location", + "type_name": "Box" + }, + { + "name": "version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "Set a safe XCM version (the version that XCM should be encoded with if the most recent", + "version a destination can accept is unknown).", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "Ask a location to notify us regarding their XCM version and any changes to it.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `location`: The location to which we should subscribe for XCM version notifications." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "Require that a particular destination should no longer notify us regarding any XCM", + "version changes.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `location`: The location to which we are currently subscribed for XCM version", + " notifications which we no longer desire." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the destination chain through their local,", + "destination or remote reserve.", + "", + "`assets` must have same reserve location and may not be teleportable to `dest`.", + " - `assets` have local reserve: transfer assets to sovereign account of destination", + " chain and forward a notification XCM to `dest` to mint and deposit reserve-based", + " assets to `beneficiary`.", + " - `assets` have destination reserve: burn local assets and forward a notification to", + " `dest` chain to withdraw the reserve assets from this chain's sovereign account and", + " deposit them to `beneficiary`.", + " - `assets` have remote reserve: burn local assets, forward XCM to reserve chain to move", + " reserves from this chain's SA to `dest` chain's SA, and forward another XCM to `dest`", + " to mint and deposit reserve-based assets to `beneficiary`.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the sent assets may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `[Parent,", + " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from", + " relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will", + " generally be an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the", + " fee on the `dest` (and possibly reserve) chains.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the sent assets may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `[Parent,", + " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from", + " relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will", + " generally be an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the", + " fee on the `dest` chain.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f0a", + "name": "force_suspension", + "docs": [ + "Set or unset the global suspension state of the XCM executor.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `suspended`: `true` to suspend, `false` to resume." + ], + "args": [ + { + "name": "suspended", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "1f0b", + "name": "transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the destination chain through their local,", + "destination or remote reserve, or through teleports.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item` (hence referred to as `fees`), up to enough to pay for", + "`weight_limit` of weight. If more weight is needed than `weight_limit`, then the", + "operation will fail and the sent assets may be at risk.", + "", + "`assets` (excluding `fees`) must have same reserve location or otherwise be teleportable", + "to `dest`, no limitations imposed on `fees`.", + " - for local reserve: transfer assets to sovereign account of destination chain and", + " forward a notification XCM to `dest` to mint and deposit reserve-based assets to", + " `beneficiary`.", + " - for destination reserve: burn local assets and forward a notification to `dest` chain", + " to withdraw the reserve assets from this chain's sovereign account and deposit them", + " to `beneficiary`.", + " - for remote reserve: burn local assets, forward XCM to reserve chain to move reserves", + " from this chain's SA to `dest` chain's SA, and forward another XCM to `dest` to mint", + " and deposit reserve-based assets to `beneficiary`.", + " - for teleports: burn local assets and forward XCM to `dest` chain to mint/teleport", + " assets and deposit them to `beneficiary`.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent,", + " Parachain(..))` to send from parachain to parachain, or `X1(Parachain(..))` to send", + " from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will", + " generally be an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the", + " fee on the `dest` (and possibly reserve) chains.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f0c", + "name": "claim_assets", + "docs": [ + "Claims assets trapped on this pallet because of leftover assets during XCM execution.", + "", + "- `origin`: Anyone can call this extrinsic.", + "- `assets`: The exact assets that were trapped. Use the version to specify what version", + "was the latest when they were trapped.", + "- `beneficiary`: The location/account where the claimed assets will be deposited." + ], + "args": [ + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f0d", + "name": "transfer_assets_using_type_and_then", + "docs": [ + "Transfer assets from the local chain to the destination chain using explicit transfer", + "types for assets and fees.", + "", + "`assets` must have same reserve location or may be teleportable to `dest`. Caller must", + "provide the `assets_transfer_type` to be used for `assets`:", + " - `TransferType::LocalReserve`: transfer assets to sovereign account of destination", + " chain and forward a notification XCM to `dest` to mint and deposit reserve-based", + " assets to `beneficiary`.", + " - `TransferType::DestinationReserve`: burn local assets and forward a notification to", + " `dest` chain to withdraw the reserve assets from this chain's sovereign account and", + " deposit them to `beneficiary`.", + " - `TransferType::RemoteReserve(reserve)`: burn local assets, forward XCM to `reserve`", + " chain to move reserves from this chain's SA to `dest` chain's SA, and forward another", + " XCM to `dest` to mint and deposit reserve-based assets to `beneficiary`. Typically", + " the remote `reserve` is Asset Hub.", + " - `TransferType::Teleport`: burn local assets and forward XCM to `dest` chain to", + " mint/teleport assets and deposit them to `beneficiary`.", + "", + "On the destination chain, as well as any intermediary hops, `BuyExecution` is used to", + "buy execution using transferred `assets` identified by `remote_fees_id`.", + "Make sure enough of the specified `remote_fees_id` asset is included in the given list", + "of `assets`. `remote_fees_id` should be enough to pay for `weight_limit`. If more weight", + "is needed than `weight_limit`, then the operation will fail and the sent assets may be", + "at risk.", + "", + "`remote_fees_id` may use different transfer type than rest of `assets` and can be", + "specified through `fees_transfer_type`.", + "", + "The caller needs to specify what should happen to the transferred assets once they reach", + "the `dest` chain. This is done through the `custom_xcm_on_dest` parameter, which", + "contains the instructions to execute on `dest` as a final step.", + " This is usually as simple as:", + " `Xcm(vec![DepositAsset { assets: Wild(AllCounted(assets.len())), beneficiary }])`,", + " but could be something more exotic like sending the `assets` even further.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `[Parent,", + " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from", + " relay to parachain, or `(parents: 2, (GlobalConsensus(..), ..))` to send from", + " parachain across a bridge to another ecosystem destination.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the", + " fee on the `dest` (and possibly reserve) chains.", + "- `assets_transfer_type`: The XCM `TransferType` used to transfer the `assets`.", + "- `remote_fees_id`: One of the included `assets` to be used to pay fees.", + "- `fees_transfer_type`: The XCM `TransferType` used to transfer the `fees` assets.", + "- `custom_xcm_on_dest`: The XCM to be executed on `dest` chain as the last step of the", + " transfer, which also determines what happens to the assets on the destination chain.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "assets_transfer_type", + "type": "staging_xcm_executor:traits:asset_transfer:TransferType", + "type_name": "Box" + }, + { + "name": "remote_fees_id", + "type": "xcm:VersionedAssetId", + "type_name": "Box" + }, + { + "name": "fees_transfer_type", + "type": "staging_xcm_executor:traits:asset_transfer:TransferType", + "type_name": "Box" + }, + { + "name": "custom_xcm_on_dest", + "type": "xcm:VersionedXcm@305", + "type_name": "Box>" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + } + ], + "calls_value": { + "type": 304 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted." + ], + "args": [ + "staging_xcm:v4:traits:Outcome" + ], + "args_name": [ + "outcome" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent." + ], + "args": [ + "staging_xcm:v4:location:Location", + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "origin", + "destination", + "message", + "message_id" + ], + "args_type_name": [ + "Location", + "Location", + "Xcm<()>", + "XcmHash" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "Location", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call." + ], + "args": [ + "U64", + "staging_xcm:v4:Response" + ], + "args_name": [ + "query_id", + "response" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification", + "could not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result." + ], + "args": [ + "U64", + "U8", + "U8", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index", + "actual_weight", + "max_budgeted_weight" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64", + "option" + ], + "args_name": [ + "origin", + "query_id", + "expected_location" + ], + "args_type_name": [ + "Location", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "Location", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed." + ], + "args": [ + "U64" + ], + "args_name": [ + "query_id" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap." + ], + "args": [ + "H256", + "staging_xcm:v4:location:Location", + "xcm:VersionedAssets" + ], + "args_name": [ + "hash", + "origin", + "assets" + ], + "args_type_name": [ + "H256", + "Location", + "VersionedAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "The cost of sending it (borne by the chain) is included." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U32", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "result", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "XcmVersion", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U32" + ], + "args_name": [ + "location", + "version" + ], + "args_type_name": [ + "Location", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64", + "xcm:v3:traits:Error" + ], + "args_name": [ + "location", + "query_id", + "error" + ], + "args_type_name": [ + "Location", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format." + ], + "args": [ + "xcm:VersionedLocation", + "U64" + ], + "args_name": [ + "location", + "query_id" + ], + "args_type_name": [ + "VersionedLocation", + "QueryId" + ] + }, + { + "lookup": "1f10", + "name": "InvalidQuerierVersion", + "docs": [ + "Expected query response has been received but the expected querier location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "Location", + "QueryId" + ] + }, + { + "lookup": "1f11", + "name": "InvalidQuerier", + "docs": [ + "Expected query response has been received but the querier location of the response does", + "not match the expected. The query remains registered for a later, valid, response to", + "be received and acted upon." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64", + "staging_xcm:v4:location:Location", + "option" + ], + "args_name": [ + "origin", + "query_id", + "expected_querier", + "maybe_actual_querier" + ], + "args_type_name": [ + "Location", + "QueryId", + "Location", + "Option" + ] + }, + { + "lookup": "1f12", + "name": "VersionNotifyStarted", + "docs": [ + "A remote has requested XCM version change notification from us and we have honored it.", + "A version information message is sent to them and its cost is included." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f13", + "name": "VersionNotifyRequested", + "docs": [ + "We have requested that a remote chain send us XCM version change notifications." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f14", + "name": "VersionNotifyUnrequested", + "docs": [ + "We have requested that a remote chain stops sending us XCM version change", + "notifications." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f15", + "name": "FeesPaid", + "docs": [ + "Fees were paid from a location for an operation (often for using `SendXcm`)." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec" + ], + "args_name": [ + "paying", + "fees" + ], + "args_type_name": [ + "Location", + "Assets" + ] + }, + { + "lookup": "1f16", + "name": "AssetsClaimed", + "docs": [ + "Some assets have been claimed from an asset trap" + ], + "args": [ + "H256", + "staging_xcm:v4:location:Location", + "xcm:VersionedAssets" + ], + "args_name": [ + "hash", + "origin", + "assets" + ], + "args_type_name": [ + "H256", + "Location", + "VersionedAssets" + ] + }, + { + "lookup": "1f17", + "name": "VersionMigrationFinished", + "docs": [ + "A XCM version migration finished." + ], + "args": [ + "U32" + ], + "args_name": [ + "version" + ], + "args_type_name": [ + "XcmVersion" + ] + } + ], + "events_value": { + "type": 52 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message.", + "Perhaps a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `Location` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + }, + { + "name": "CannotCheckOutTeleport", + "doc": [ + "Could not check-out the assets for teleportation to the destination chain." + ] + }, + { + "name": "LowBalance", + "doc": [ + "The owner does not own (all) of the asset that they wish to do the operation on." + ] + }, + { + "name": "TooManyLocks", + "doc": [ + "The asset owner has too many locks on the asset." + ] + }, + { + "name": "AccountNotSovereign", + "doc": [ + "The given account is not an identifiable sovereign account for any location." + ] + }, + { + "name": "FeesNotMet", + "doc": [ + "The operation required fees to be paid which the initiator could not meet." + ] + }, + { + "name": "LockNotFound", + "doc": [ + "A remote lock with the corresponding data could not be found." + ] + }, + { + "name": "InUse", + "doc": [ + "The unlock operation cannot succeed because there are still consumers of the lock." + ] + }, + { + "name": "InvalidAssetUnknownReserve", + "doc": [ + "Invalid asset, reserve chain could not be determined for it." + ] + }, + { + "name": "InvalidAssetUnsupportedReserve", + "doc": [ + "Invalid asset, do not support remote asset reserves with different fees reserves." + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Too many assets with different reserve locations have been attempted for transfer." + ] + }, + { + "name": "LocalExecutionIncomplete", + "doc": [ + "Local XCM execution incomplete." + ] + } + ], + "errors_value": { + "type": 334 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "calls_value": { + "type": 335 + }, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 32]", + "staging_xcm:v4:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 32]", + "Outcome" + ] + } + ], + "events_value": { + "type": 117 + }, + "errors": null, + "errors_value": null, + "index": 32 + }, + { + "name": "ToKusamaXcmRouter", + "prefix": "ToKusamaXcmRouter", + "storage": [ + { + "name": "Bridge", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "bp_xcm_bridge_hub_router:BridgeState", + "PlainTypeValue": 336 + }, + "fallback": "0x000064a7b3b6e00d000000000000000000", + "docs": [ + " Bridge that we are using.", + "", + " **bridges-v1** assumptions: all outbound messages through this router are using single lane", + " and to single remote consensus. If there is some other remote consensus that uses the same", + " bridge hub, the separate pallet instance shall be used, In `v2` we'll have all required", + " primitives (lane-id aka bridge-id, derived from XCM locations) to support multiple bridges", + " by the same pallet instance." + ] + } + ], + "calls": [ + { + "lookup": "2200", + "name": "report_bridge_status", + "docs": [ + "Notification about congested bridge queue." + ], + "args": [ + { + "name": "bridge_id", + "type": "H256", + "type_name": "H256" + }, + { + "name": "is_congested", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 337 + }, + "errors": null, + "errors_value": null, + "index": 34 + }, + { + "name": "MessageQueue", + "prefix": "MessageQueue", + "storage": [ + { + "name": "BookStateFor", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "cumulus_primitives_core:AggregateMessageOrigin" + ], + "value": "pallet_message_queue:BookState", + "keys_id": 119, + "value_id": 338 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The index of the first and last (non-empty) pages." + ] + }, + { + "name": "ServiceHead", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_primitives_core:AggregateMessageOrigin", + "PlainTypeValue": 119 + }, + "fallback": "0x00", + "docs": [ + " The origin at which we should begin servicing." + ] + }, + { + "name": "Pages", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key_vec": [ + "cumulus_primitives_core:AggregateMessageOrigin", + "U32" + ], + "value": "pallet_message_queue:Page", + "keys_id": 341, + "value_id": 342 + } + }, + "fallback": "0x00", + "docs": [ + " The map of page indices to pages." + ] + } + ], + "calls": [ + { + "lookup": "2300", + "name": "reap_page", + "docs": [ + "Remove a page which has no more messages remaining to be processed or is stale." + ], + "args": [ + { + "name": "message_origin", + "type": "cumulus_primitives_core:AggregateMessageOrigin", + "type_name": "MessageOriginOf" + }, + { + "name": "page_index", + "type": "U32", + "type_name": "PageIndex" + } + ] + }, + { + "lookup": "2301", + "name": "execute_overweight", + "docs": [ + "Execute an overweight message.", + "", + "Temporary processing errors will be propagated whereas permanent errors are treated", + "as success condition.", + "", + "- `origin`: Must be `Signed`.", + "- `message_origin`: The origin from which the message to be executed arrived.", + "- `page`: The page in the queue in which the message to be executed is sitting.", + "- `index`: The index into the queue of the message to be executed.", + "- `weight_limit`: The maximum amount of weight allowed to be consumed in the execution", + " of the message.", + "", + "Benchmark complexity considerations: O(index + weight_limit)." + ], + "args": [ + { + "name": "message_origin", + "type": "cumulus_primitives_core:AggregateMessageOrigin", + "type_name": "MessageOriginOf" + }, + { + "name": "page", + "type": "U32", + "type_name": "PageIndex" + }, + { + "name": "index", + "type": "U32", + "type_name": "Size" + }, + { + "name": "weight_limit", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 344 + }, + "events": [ + { + "lookup": "2300", + "name": "ProcessingFailed", + "docs": [ + "Message discarded due to an error in the `MessageProcessor` (usually a format error)." + ], + "args": [ + "H256", + "cumulus_primitives_core:AggregateMessageOrigin", + "frame_support:traits:messages:ProcessMessageError" + ], + "args_name": [ + "id", + "origin", + "error" + ], + "args_type_name": [ + "H256", + "MessageOriginOf", + "ProcessMessageError" + ] + }, + { + "lookup": "2301", + "name": "Processed", + "docs": [ + "Message is processed." + ], + "args": [ + "H256", + "cumulus_primitives_core:AggregateMessageOrigin", + "sp_weights:weight_v2:Weight", + "Bool" + ], + "args_name": [ + "id", + "origin", + "weight_used", + "success" + ], + "args_type_name": [ + "H256", + "MessageOriginOf", + "Weight", + "bool" + ] + }, + { + "lookup": "2302", + "name": "OverweightEnqueued", + "docs": [ + "Message placed in overweight queue." + ], + "args": [ + "[U8; 32]", + "cumulus_primitives_core:AggregateMessageOrigin", + "U32", + "U32" + ], + "args_name": [ + "id", + "origin", + "page_index", + "message_index" + ], + "args_type_name": [ + "[u8; 32]", + "MessageOriginOf", + "PageIndex", + "Size" + ] + }, + { + "lookup": "2303", + "name": "PageReaped", + "docs": [ + "This page was reaped." + ], + "args": [ + "cumulus_primitives_core:AggregateMessageOrigin", + "U32" + ], + "args_name": [ + "origin", + "index" + ], + "args_type_name": [ + "MessageOriginOf", + "PageIndex" + ] + } + ], + "events_value": { + "type": 118 + }, + "constants": [ + { + "name": "HeapSize", + "type": "U32", + "type_value": 4, + "constants_value": "00000100", + "docs": [ + " The size of the page; this implies the maximum message size which can be sent.", + "", + " A good value depends on the expected message sizes, their weights, the weight that is", + " available for processing them and the maximal needed message size. The maximal message", + " size is slightly lower than this as defined by [`MaxMessageLenOf`]." + ] + }, + { + "name": "MaxStale", + "type": "U32", + "type_value": 4, + "constants_value": "08000000", + "docs": [ + " The maximum number of stale pages (i.e. of overweight messages) allowed before culling", + " can happen. Once there are more stale pages than this, then historical pages may be", + " dropped, even if they contain unprocessed overweight messages." + ] + }, + { + "name": "ServiceWeight", + "type": "option", + "type_value": 166, + "constants_value": "01070016d0be2802007000", + "docs": [ + " The amount of weight (if any) which should be provided to the message queue for", + " servicing enqueued items `on_initialize`.", + "", + " This may be legitimately `None` in the case that you will call", + " `ServiceQueues::service_queues` manually or set [`Self::IdleMaxServiceWeight`] to have", + " it run in `on_idle`." + ] + }, + { + "name": "IdleMaxServiceWeight", + "type": "option", + "type_value": 166, + "constants_value": "010700e876481702004000", + "docs": [ + " The maximum amount of weight (if any) to be used from remaining weight `on_idle` which", + " should be provided to the message queue for servicing enqueued items `on_idle`.", + " Useful for parachains to process messages at the same block they are received.", + "", + " If `None`, it will not call `ServiceQueues::service_queues` in `on_idle`." + ] + } + ], + "errors": [ + { + "name": "NotReapable", + "doc": [ + "Page is not reapable because it has items remaining to be processed and is not old", + "enough." + ] + }, + { + "name": "NoPage", + "doc": [ + "Page to be reaped does not exist." + ] + }, + { + "name": "NoMessage", + "doc": [ + "The referenced message could not be found." + ] + }, + { + "name": "AlreadyProcessed", + "doc": [ + "The message was already processed and cannot be processed again." + ] + }, + { + "name": "Queued", + "doc": [ + "The message is queued for future execution." + ] + }, + { + "name": "InsufficientWeight", + "doc": [ + "There is temporarily not enough weight to continue servicing messages." + ] + }, + { + "name": "TemporarilyUnprocessable", + "doc": [ + "This message is temporarily unprocessable.", + "", + "Such errors are expected, but not guaranteed, to resolve themselves eventually through", + "retrying." + ] + }, + { + "name": "QueuePaused", + "doc": [ + "The queue is paused and no message can be executed from it.", + "", + "This can change at any time and may resolve in the future by re-trying." + ] + }, + { + "name": "RecursiveDisallowed", + "doc": [ + "Another call is in progress and needs to finish before this call can happen." + ] + } + ], + "errors_value": { + "type": 345 + }, + "index": 35 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "Send a batch of dispatch calls.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatched without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "## Complexity", + "- O(C) where C is the number of calls to be batched.", + "", + "This will return `Ok` in all circumstances. To determine the success of the batch, an", + "event is deposited. If a call failed and the batch was interrupted, then the", + "`BatchInterrupted` event is deposited, along with the number of successful calls made", + "and the error of the failed call. If all were successful, then the `BatchCompleted`", + "event is deposited." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "Send a call through an indexed pseudonym of the sender.", + "", + "Filter from origin are passed along. The call will be dispatched with an origin which", + "use the same filter as the origin of this call.", + "", + "NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", + "because you expect `proxy` to have been used prior in the call stack and you do not want", + "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", + "in the Multisig pallet instead.", + "", + "NOTE: Prior to version *12, this was called `as_limited_sub`.", + "", + "The dispatch origin for this call must be _Signed_." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "Send a batch of dispatch calls and atomically execute them.", + "The whole transaction will rollback and fail if any of the calls failed.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatched without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "## Complexity", + "- O(C) where C is the number of calls to be batched." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "Dispatches a function call with a provided origin.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "## Complexity", + "- O(1)." + ], + "args": [ + { + "name": "as_origin", + "type": "asset_hub_polkadot_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2804", + "name": "force_batch", + "docs": [ + "Send a batch of dispatch calls.", + "Unlike `batch`, it allows errors and won't interrupt.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatch without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "## Complexity", + "- O(C) where C is the number of calls to be batched." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2805", + "name": "with_weight", + "docs": [ + "Dispatch a function call with a specified weight.", + "", + "This function does not check the weight of the call, and instead allows the", + "Root origin to specify the weight of the call.", + "", + "The dispatch origin for this call must be _Root_." + ], + "args": [ + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 346 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "BatchCompletedWithErrors", + "docs": [ + "Batch of dispatches completed but has errors." + ], + "args": null + }, + { + "lookup": "2803", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2804", + "name": "ItemFailed", + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ], + "args": [ + "sp_runtime:DispatchError" + ], + "args_name": [ + "error" + ], + "args_type_name": [ + "DispatchError" + ] + }, + { + "lookup": "2805", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 122 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 388 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 389, + "value_id": 390 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "Immediately dispatch a multi-signature call using a single approval from the caller.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `other_signatories`: The accounts (other than the sender) who are part of the", + "multi-signature, but do not participate in the approval process.", + "- `call`: The call to be executed.", + "", + "Result is equivalent to the dispatched result.", + "", + "## Complexity", + "O(Z + C) where Z is the length of the call and C its execution weight." + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "If there are enough, then dispatch the call.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call`: The call to be executed.", + "", + "NOTE: Unless this is the final approval, you will generally want to use", + "`approve_as_multi` instead, since it only requires a hash of the call.", + "", + "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", + "on success, result is `Ok` and the result from the interior call, if it was executed,", + "may be found in the deposited `MultisigExecuted` event.", + "", + "## Complexity", + "- `O(S + Z + Call)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- The weight of the `call`.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call_hash`: The hash of the call to be executed.", + "", + "NOTE: If this is the final approval, you will want to use `as_multi` instead.", + "", + "## Complexity", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", + "for this operation will be unreserved on success.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `timepoint`: The timepoint (block number and transaction index) of the first approval", + "transaction for this dispatch.", + "- `call_hash`: The hash of the call to be executed.", + "", + "## Complexity", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- One event.", + "- I/O: 1 read `O(S)`, one remove.", + "- Storage: removes one item." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 349 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 125 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00dbbb77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "00d43000000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U32", + "type_value": 4, + "constants_value": "64000000", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 392 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@394U128", + "keys_id": 0, + "value_id": 393 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@398U128", + "keys_id": 0, + "value_id": 397 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorised for through", + "`add_proxy`.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "Register a proxy account for the sender that is able to make calls on its behalf.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to make a proxy.", + "- `proxy_type`: The permissions allowed for this proxy account.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "Unregister a proxy account for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to remove as a proxy.", + "- `proxy_type`: The permissions currently enabled for the removed proxy account." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "Unregister all proxy accounts for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "WARNING: This may be called on accounts created by `pure`, however if done, then", + "the unreserved fees will be inaccessible. **All access to this account will be lost.**" + ], + "args": null + }, + { + "lookup": "2a04", + "name": "create_pure", + "docs": [ + "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", + "initialize it with a proxy of `proxy_type` for `origin` sender.", + "", + "Requires a `Signed` origin.", + "", + "- `proxy_type`: The type of the proxy that the sender will be registered as over the", + "new account. This will almost always be the most permissive `ProxyType` possible to", + "allow for maximum flexibility.", + "- `index`: A disambiguation index, in case this is called multiple times in the same", + "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", + "want to use `0`.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "Fails with `Duplicate` if this has already been called in this transaction, from the", + "same sender, with the same parameters.", + "", + "Fails if there are insufficient funds to pay for deposit." + ], + "args": [ + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_pure", + "docs": [ + "Removes a previously spawned pure proxy.", + "", + "WARNING: **All access to this account will be lost.** Any funds held in it will be", + "inaccessible.", + "", + "Requires a `Signed` origin, and the sender account must have been created by a call to", + "`pure` with corresponding parameters.", + "", + "- `spawner`: The account that originally called `pure` to create this account.", + "- `index`: The disambiguation index originally passed to `pure`. Probably `0`.", + "- `proxy_type`: The proxy type originally passed to `pure`.", + "- `height`: The height of the chain when the call to `pure` was processed.", + "- `ext_index`: The extrinsic index in which the call to `pure` was processed.", + "", + "Fails with `NoPermission` in case the caller is not a previously created pure", + "account whose `pure` call has corresponding parameters." + ], + "args": [ + { + "name": "spawner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumberFor" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "Publish the hash of a proxy-call that will be made in the future.", + "", + "This must be called some number of blocks before the corresponding `proxy` is attempted", + "if the delay associated with the proxy relationship is greater than zero.", + "", + "No more than `MaxPending` announcements may be made at any one time.", + "", + "This will take a deposit of `AnnouncementDepositFactor` as well as", + "`AnnouncementDepositBase` if there are no other pending announcements.", + "", + "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "Remove a given announcement.", + "", + "May be called by a proxy account to remove a call they previously announced and return", + "the deposit.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "Remove the given announcement of a delegate.", + "", + "May be called by a target (proxied) account to remove a call that one of their delegates", + "(`delegate`) has announced they want to execute. The deposit is returned.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `delegate`: The account that previously announced the call.", + "- `call_hash`: The hash of the call to be made." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorized for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + } + ], + "calls_value": { + "type": 351 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "PureCreated", + "docs": [ + "A pure account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U16" + ], + "args_name": [ + "pure", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumberFor" + ] + }, + { + "lookup": "2a04", + "name": "ProxyRemoved", + "docs": [ + "A proxy was removed." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumberFor" + ] + } + ], + "events_value": { + "type": 127 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "009d7277000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "a05a3200000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00d27e77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "40b56400000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 401 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 402 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 404, + "value_id": 405 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 408, + "value_id": 409 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata@410", + "keys_id": 4, + "value_id": 410 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + }, + { + "name": "NextAssetId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " The asset ID enforced for the next asset creation, if any present. Otherwise, this storage", + " item has no effect.", + "", + " This can be useful for setting up constraints for IDs of the new assets. For example, by", + " providing an initial [`NextAssetId`] and using the [`crate::AutoIncAssetId`] callback, an", + " auto-increment model can be applied to all new asset IDs.", + "", + " The initial next asset ID can be set using the [`GenesisConfig`] or the", + " [SetNextAssetId](`migration::next_asset_id::SetNextAssetId`) migration." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset. If [`NextAssetId`] is set, then this must be equal to it.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset. If [`NextAssetId`] is set, then this must be equal to it.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "start_destroy", + "docs": [ + "Start the process of destroying a fungible asset class.", + "", + "`start_destroy` is the first in a series of extrinsics that should be called, to allow", + "destruction of an asset class.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "The asset class must be frozen before calling `start_destroy`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3203", + "name": "destroy_accounts", + "docs": [ + "Destroy all accounts associated with a given asset.", + "", + "`destroy_accounts` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedAccounts` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3204", + "name": "destroy_approvals", + "docs": [ + "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).", + "", + "`destroy_approvals` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedApprovals` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3205", + "name": "finish_destroy", + "docs": [ + "Complete destroying asset and unreserve currency.", + "", + "`finish_destroy` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state. All accounts or approvals should be destroyed before", + "hand.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each successful call emits the `Event::Destroyed` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3206", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3209", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320a", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320b", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`", + "must already exist as an entry in `Account`s of the asset. If you want to freeze an", + "account that does not have an entry, use `touch_other` first.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320c", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers to and from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320d", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320e", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320f", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3210", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3211", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3212", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3213", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3214", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3215", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3216", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3218", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3219", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321a", + "name": "touch", + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "321b", + "name": "refund", + "docs": [ + "Return the deposit (if any) of an asset account or a consumer reference (if any) of an", + "account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for which the caller would like the deposit", + " refunded.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "321c", + "name": "set_min_balance", + "docs": [ + "Sets the minimum balance of an asset.", + "", + "Only works if there aren't any accounts that are holding the asset or if", + "the new value of `min_balance` is less than the old one.", + "", + "Origin must be Signed and the sender has to be the Owner of the", + "asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `min_balance`: The new value of `min_balance`.", + "", + "Emits `AssetMinBalanceChanged` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321d", + "name": "touch_other", + "docs": [ + "Create an asset account for `who`.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account", + " must have sufficient funds for a deposit to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "- `who`: The account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "321e", + "name": "refund_other", + "docs": [ + "Return the deposit (if any) of a target asset account. Useful if you are the depositor.", + "", + "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In", + "order to burn a non-zero balance of the asset, the caller must be the account and should", + "use `refund`.", + "", + "- `id`: The identifier of the asset for the account holding a deposit.", + "- `who`: The account to refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "321f", + "name": "block", + "docs": [ + "Disallow further unprivileged transfers of an asset `id` to and from an account `who`.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the account's asset.", + "- `who`: The account to be unblocked.", + "", + "Emits `Blocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 353 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3210", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3211", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3212", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3213", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3214", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3215", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "U32", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3216", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3217", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3218", + "name": "Deposited", + "docs": [ + "Some assets were deposited (e.g. for transaction fees)." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "who", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3219", + "name": "Withdrawn", + "docs": [ + "Some assets were withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "who", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 130 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "c07e5778000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + }, + { + "name": "BadAssetId", + "doc": [ + "The asset ID must be equal to the [`NextAssetId`]." + ] + } + ], + "errors_value": { + "type": 412 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionDetails", + "keys_id": 4, + "value_id": 413 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 414, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 415, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemDetails", + "keys_id": 155, + "value_id": 416 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionMetadata", + "keys_id": 4, + "value_id": 417 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemMetadata", + "keys_id": 155, + "value_id": 418 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 419, + "value_id": 420 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 155, + "value_id": 421 + } + }, + "fallback": "0x00", + "docs": [ + " Price of an asset instance." + ] + }, + { + "name": "CollectionMaxSupply", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U32", + "keys_id": 4, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " Keeps track of the number of items a collection might have." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "`ItemDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `collection`: The identifier of the new collection. This must not be currently in use.", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `collection`: The identifier of the new item. This must not be currently in use.", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions", + "over this item, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.items`", + "- `m = witness.item_metadatas`", + "- `a = witness.attributes`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must be the Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: The item value of the item to be minted.", + "- `beneficiary`: The initial owner of the minted item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "Destroy a single item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item of the item to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " item is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "Move an item from the sender account to another.", + "", + "This resets the approved account of the item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item of the item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "Reevaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown of the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be frozen.", + "- `item`: The item of the item to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be thawed.", + "- `item`: The item of the item to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_collection", + "docs": [ + "Disallow further unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "", + "Emits `CollectionFrozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_collection", + "docs": [ + "Re-allow unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection to be thawed.", + "", + "Emits `CollectionThawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "new_owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be", + "either the owner of the `item` or the admin of the collection.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item of the item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "", + "Important NOTE: The `approved` account gets reset after each transfer.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "Cancel the prior approval for the transfer of an item by a delegate.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the `collection`;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the item of whose approval will be cancelled.", + "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", + " which permission of transfer is delegated.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "330f", + "name": "force_item_status", + "docs": [ + "Alter the attributes of a given item.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the item.", + "- `owner`: The new Owner of this item.", + "- `issuer`: The new Issuer of this item.", + "- `admin`: The new Admin of this item.", + "- `freezer`: The new Freezer of this item.", + "- `free_holding`: Whether a deposit is taken for holding an item of this collection.", + "- `is_frozen`: Whether this collection is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `ItemStatusChanged` with the identity of the item.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3314", + "name": "set_collection_metadata", + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_collection_metadata", + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "3316", + "name": "set_accept_ownership", + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3317", + "name": "set_collection_max_supply", + "docs": [ + "Set the maximum amount of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Note: This function can only succeed once per collection.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum amount of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "3318", + "name": "set_price", + "docs": [ + "Set (or reset) the price for an item.", + "", + "Origin must be Signed and must be the owner of the asset `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item to set the price for.", + "- `price`: The price for the item. Pass `None`, to reset the price.", + "- `buyer`: Restricts the buy operation to a specific account.", + "", + "Emits `ItemPriceSet` on success if the price is not `None`.", + "Emits `ItemPriceRemoved` on success if the price is `None`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3319", + "name": "buy_item", + "docs": [ + "Allows to buy an item if it's up for sale.", + "", + "Origin must be Signed and must not be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item the sender wants to buy.", + "- `bid_price`: The price the sender is willing to pay.", + "", + "Emits `ItemBought` on success." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + } + ], + "calls_value": { + "type": 354 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some `item` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some `item` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3308", + "name": "CollectionFrozen", + "docs": [ + "Some `collection` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3309", + "name": "CollectionThawed", + "docs": [ + "Some `collection` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "ItemStatusChanged", + "docs": [ + "A `collection` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330f", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "item", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec" + ] + }, + { + "lookup": "3316", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "3317", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "3318", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the instance." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "3319", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the instance was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "331a", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + } + ], + "events_value": { + "type": 131 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The item ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The item or collection is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership of the collection is acceptable." + ] + }, + { + "name": "Locked", + "doc": [ + "The item is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyAlreadySet", + "doc": [ + "The max supply has already been set." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less to the amount of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + } + ], + "errors_value": { + "type": 422 + }, + "index": 51 + }, + { + "name": "Nfts", + "prefix": "Nfts", + "storage": [ + { + "name": "Collection", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionDetails", + "keys_id": 4, + "value_id": 423 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 414, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "CollectionAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 415, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "CollectionRoleOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "U8", + "keys_id": 404, + "value_id": 424 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details.", + " Stores collection roles as per account." + ] + }, + { + "name": "Item", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:ItemDetails", + "keys_id": 155, + "value_id": 426 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "CollectionMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionMetadata", + "keys_id": 4, + "value_id": 432 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "ItemMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:ItemMetadata", + "keys_id": 155, + "value_id": 433 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "pallet_nfts:types:AttributeNamespace", + "Vec" + ], + "value": "Tuple:Vecpallet_nfts:types:AttributeDeposit", + "keys_id": 435, + "value_id": 436 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 155, + "value_id": 421 + } + }, + "fallback": "0x00", + "docs": [ + " A price of an item." + ] + }, + { + "name": "ItemAttributesApprovalsOf", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 155, + "value_id": 438 + } + }, + "fallback": "0x00", + "docs": [ + " Item attribute approvals." + ] + }, + { + "name": "NextCollectionId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Stores the `CollectionId` that is going to be used for the next collection.", + " This gets incremented whenever a new collection is created." + ] + }, + { + "name": "PendingSwapOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:PendingSwap", + "keys_id": 155, + "value_id": 440 + } + }, + "fallback": "0x00", + "docs": [ + " Handles all the pending swaps." + ] + }, + { + "name": "CollectionConfigOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionConfig", + "keys_id": 4, + "value_id": 359 + } + }, + "fallback": "0x00", + "docs": [ + " Config of a collection." + ] + }, + { + "name": "ItemConfigOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "U64", + "keys_id": 155, + "value_id": 369 + } + }, + "fallback": "0x00", + "docs": [ + " Config of an item." + ] + } + ], + "calls": [ + { + "lookup": "3400", + "name": "create", + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "`CollectionDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "3401", + "name": "force_create", + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions over this item, but may later change and configure the permissions using", + " `transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "3402", + "name": "destroy", + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "NOTE: The collection must have 0 items to be destroyed.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(m + c + a)` where:", + "- `m = witness.item_metadatas`", + "- `c = witness.item_configs`", + "- `a = witness.attributes`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_nfts:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3403", + "name": "mint", + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must comply with the `mint_settings` rules.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: An identifier of the new item.", + "- `mint_to`: Account into which the item will be minted.", + "- `witness_data`: When the mint type is `HolderOf(collection_id)`, then the owned", + " item_id from that collection needs to be provided within the witness data object. If", + " the mint price is set, then it should be additionally confirmed in the `witness_data`.", + "", + "Note: the deposit will be taken from the `origin` and not the `owner` of the `item`.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "mint_to", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "witness_data", + "type": "option", + "type_name": "Option>" + } + ] + }, + { + "lookup": "3404", + "name": "force_mint", + "docs": [ + "Mint an item of a particular collection from a privileged origin.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: An identifier of the new item.", + "- `mint_to`: Account into which the item will be minted.", + "- `item_config`: A config of the new item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "mint_to", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "item_config", + "type": "U64", + "type_name": "ItemConfig" + } + ] + }, + { + "lookup": "3405", + "name": "burn", + "docs": [ + "Destroy a single item.", + "", + "The origin must conform to `ForceOrigin` or must be Signed and the signing account must", + "be the owner of the `item`.", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item to be burned.", + "", + "Emits `Burned`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3406", + "name": "transfer", + "docs": [ + "Move an item from the sender account to another.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3407", + "name": "redeposit", + "docs": [ + "Re-evaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection of the items to be reevaluated.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown or the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3408", + "name": "lock_item_transfer", + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be changed.", + "- `item`: The item to become non-transferable.", + "", + "Emits `ItemTransferLocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3409", + "name": "unlock_item_transfer", + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be changed.", + "- `item`: The item to become transferable.", + "", + "Emits `ItemTransferUnlocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "340a", + "name": "lock_collection", + "docs": [ + "Disallows specified settings for the whole collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection to be locked.", + "- `lock_settings`: The settings to be locked.", + "", + "Note: it's possible to only lock(set) the setting, but not to unset it.", + "", + "Emits `CollectionLocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "lock_settings", + "type": "U64", + "type_name": "CollectionSettings" + } + ] + }, + { + "lookup": "340b", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "new_owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "340c", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Note: by setting the role to `None` only the `ForceOrigin` will be able to change it", + "after to `Some(account)`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "option", + "type_name": "Option" + }, + { + "name": "admin", + "type": "option", + "type_name": "Option" + }, + { + "name": "freezer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "340d", + "name": "force_collection_owner", + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the collection.", + "- `owner`: The new Owner of this collection.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "340e", + "name": "force_collection_config", + "docs": [ + "Change the config of a collection.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the collection.", + "- `config`: The new config of this collection.", + "", + "Emits `CollectionConfigChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "340f", + "name": "approve_transfer", + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "- `maybe_deadline`: Optional deadline for the approval. Specified by providing the", + "\tnumber of blocks after which the approval will expire", + "", + "Emits `TransferApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "maybe_deadline", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3410", + "name": "cancel_approval", + "docs": [ + "Cancel one of the transfer approvals for a specific item.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the collection of whose approval will be cancelled.", + "- `delegate`: The account that is going to loose their approval.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3411", + "name": "clear_all_transfer_approvals", + "docs": [ + "Cancel all the approvals of a specific item.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approvals will be cleared.", + "- `item`: The item of the collection of whose approvals will be cleared.", + "", + "Emits `AllApprovalsCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3412", + "name": "lock_item_properties", + "docs": [ + "Disallows changing the metadata or attributes of the item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Admin", + "of the `collection`.", + "", + "- `collection`: The collection if the `item`.", + "- `item`: An item to be locked.", + "- `lock_metadata`: Specifies whether the metadata should be locked.", + "- `lock_attributes`: Specifies whether the attributes in the `CollectionOwner` namespace", + " should be locked.", + "", + "Note: `lock_attributes` affects the attributes in the `CollectionOwner` namespace only.", + "When the metadata or attributes are locked, it won't be possible the unlock them.", + "", + "Emits `ItemPropertiesLocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "lock_metadata", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "lock_attributes", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3413", + "name": "set_attribute", + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be Signed and must conform to the namespace ruleset:", + "- `CollectionOwner` namespace could be modified by the `collection` Admin only;", + "- `ItemOwner` namespace could be modified by the `maybe_item` owner only. `maybe_item`", + " should be set in that case;", + "- `Account(AccountId)` namespace could be modified only when the `origin` was given a", + " permission to do so;", + "", + "The funds of `origin` are reserved according to the formula:", + "`AttributeDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `namespace`: Attribute's namespace.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3414", + "name": "force_set_attribute", + "docs": [ + "Force-set an attribute for a collection or item.", + "", + "Origin must be `ForceOrigin`.", + "", + "If the attribute already exists and it was set by another account, the deposit", + "will be returned to the previous owner.", + "", + "- `set_as`: An optional owner of the attribute.", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `namespace`: Attribute's namespace.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "set_as", + "type": "option", + "type_name": "Option" + }, + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3415", + "name": "clear_attribute", + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "attribute.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `namespace`: Attribute's namespace.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3416", + "name": "approve_item_attributes", + "docs": [ + "Approve item's attributes to be changed by a delegated third-party account.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `collection`: A collection of the item.", + "- `item`: The item that holds attributes.", + "- `delegate`: The account to delegate permission to change attributes of the item.", + "", + "Emits `ItemAttributesApprovalAdded` on success." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3417", + "name": "cancel_item_attributes_approval", + "docs": [ + "Cancel the previously provided approval to change item's attributes.", + "All the previously set attributes by the `delegate` will be removed.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `collection`: Collection that the item is contained within.", + "- `item`: The item that holds attributes.", + "- `delegate`: The previously approved account to remove.", + "", + "Emits `ItemAttributesApprovalRemoved` on success." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "witness", + "type": "U32", + "type_name": "CancelAttributesApprovalWitness" + } + ] + }, + { + "lookup": "3418", + "name": "set_metadata", + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Admin of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "", + "Emits `ItemMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3419", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Admin of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `ItemMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "341a", + "name": "set_collection_metadata", + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Admin of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "341b", + "name": "clear_collection_metadata", + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Admin of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "341c", + "name": "set_accept_ownership", + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "341d", + "name": "set_collection_max_supply", + "docs": [ + "Set the maximum number of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum number of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "341e", + "name": "update_mint_settings", + "docs": [ + "Update mint settings.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Issuer", + "of the `collection`.", + "", + "- `collection`: The identifier of the collection to change.", + "- `mint_settings`: The new mint settings.", + "", + "Emits `CollectionMintSettingsUpdated` event when successful." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "mint_settings", + "type": "pallet_nfts:types:MintSettings", + "type_name": "MintSettings" + } + ] + }, + { + "lookup": "341f", + "name": "set_price", + "docs": [ + "Set (or reset) the price for an item.", + "", + "Origin must be Signed and must be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item to set the price for.", + "- `price`: The price for the item. Pass `None`, to reset the price.", + "- `buyer`: Restricts the buy operation to a specific account.", + "", + "Emits `ItemPriceSet` on success if the price is not `None`.", + "Emits `ItemPriceRemoved` on success if the price is `None`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3420", + "name": "buy_item", + "docs": [ + "Allows to buy an item if it's up for sale.", + "", + "Origin must be Signed and must not be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item the sender wants to buy.", + "- `bid_price`: The price the sender is willing to pay.", + "", + "Emits `ItemBought` on success." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + }, + { + "lookup": "3421", + "name": "pay_tips", + "docs": [ + "Allows to pay the tips.", + "", + "Origin must be Signed.", + "", + "- `tips`: Tips array.", + "", + "Emits `TipSent` on every tip transfer." + ], + "args": [ + { + "name": "tips", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3422", + "name": "create_swap", + "docs": [ + "Register a new atomic swap, declaring an intention to send an `item` in exchange for", + "`desired_item` from origin to target on the current blockchain.", + "The target can execute the swap during the specified `duration` of blocks (if set).", + "Additionally, the price could be set for the desired `item`.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item an owner wants to give.", + "- `desired_collection`: The collection of the desired item.", + "- `desired_item`: The desired item an owner wants to receive.", + "- `maybe_price`: The price an owner is willing to pay or receive for the desired `item`.", + "- `duration`: A deadline for the swap. Specified by providing the number of blocks", + "\tafter which the swap will expire.", + "", + "Emits `SwapCreated` on success." + ], + "args": [ + { + "name": "offered_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "offered_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "desired_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_desired_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "maybe_price", + "type": "option", + "type_name": "Option>" + }, + { + "name": "duration", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "3423", + "name": "cancel_swap", + "docs": [ + "Cancel an atomic swap.", + "", + "Origin must be Signed.", + "Origin must be an owner of the `item` if the deadline hasn't expired.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item an owner wants to give.", + "", + "Emits `SwapCancelled` on success." + ], + "args": [ + { + "name": "offered_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "offered_item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3424", + "name": "claim_swap", + "docs": [ + "Claim an atomic swap.", + "This method executes a pending swap, that was created by a counterpart before.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `send_collection`: The collection of the item to be sent.", + "- `send_item`: The item to be sent.", + "- `receive_collection`: The collection of the item to be received.", + "- `receive_item`: The item to be received.", + "- `witness_price`: A price that was previously agreed on.", + "", + "Emits `SwapClaimed` on success." + ], + "args": [ + { + "name": "send_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "send_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "receive_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "receive_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "witness_price", + "type": "option", + "type_name": "Option>" + } + ] + }, + { + "lookup": "3425", + "name": "mint_pre_signed", + "docs": [ + "Mint an item by providing the pre-signed approval.", + "", + "Origin must be Signed.", + "", + "- `mint_data`: The pre-signed approval that consists of the information about the item,", + " its metadata, attributes, who can mint it (`None` for anyone) and until what block", + " number.", + "- `signature`: The signature of the `data` object.", + "- `signer`: The `data` object's signer. Should be an Issuer of the collection.", + "", + "Emits `Issued` on success.", + "Emits `AttributeSet` if the attributes were provided.", + "Emits `ItemMetadataSet` if the metadata was not empty." + ], + "args": [ + { + "name": "mint_data", + "type": "pallet_nfts:types:PreSignedMint", + "type_name": "Box" + }, + { + "name": "signature", + "type": "sp_runtime:MultiSignature", + "type_name": "OffchainSignature" + }, + { + "name": "signer", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3426", + "name": "set_attributes_pre_signed", + "docs": [ + "Set attributes for an item by providing the pre-signed approval.", + "", + "Origin must be Signed and must be an owner of the `data.item`.", + "", + "- `data`: The pre-signed approval that consists of the information about the item,", + " attributes to update and until what block number.", + "- `signature`: The signature of the `data` object.", + "- `signer`: The `data` object's signer. Should be an Admin of the collection for the", + " `CollectionOwner` namespace.", + "", + "Emits `AttributeSet` for each provided attribute.", + "Emits `ItemAttributesApprovalAdded` if the approval wasn't set before.", + "Emits `PreSignedAttributesSet` on success." + ], + "args": [ + { + "name": "data", + "type": "pallet_nfts:types:PreSignedAttributes", + "type_name": "PreSignedAttributesOf" + }, + { + "name": "signature", + "type": "sp_runtime:MultiSignature", + "type_name": "OffchainSignature" + }, + { + "name": "signer", + "type": "AccountId", + "type_name": "AccountId" + } + ] + } + ], + "calls_value": { + "type": 358 + }, + "events": [ + { + "lookup": "3400", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3401", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3402", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3403", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3404", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3405", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3406", + "name": "ItemTransferLocked", + "docs": [ + "An `item` became non-transferable." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3407", + "name": "ItemTransferUnlocked", + "docs": [ + "An `item` became transferable." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3408", + "name": "ItemPropertiesLocked", + "docs": [ + "`item` metadata or attributes were locked." + ], + "args": [ + "U32", + "U32", + "Bool", + "Bool" + ], + "args_name": [ + "collection", + "item", + "lock_metadata", + "lock_attributes" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "bool", + "bool" + ] + }, + { + "lookup": "3409", + "name": "CollectionLocked", + "docs": [ + "Some `collection` was locked." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "340a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "340b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "option", + "option", + "option" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "Option", + "Option", + "Option" + ] + }, + { + "lookup": "340c", + "name": "TransferApproved", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId", + "option" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId", + "Option" + ] + }, + { + "lookup": "340d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "340e", + "name": "AllApprovalsCancelled", + "docs": [ + "All approvals of an item got cancelled." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "340f", + "name": "CollectionConfigChanged", + "docs": [ + "A `collection` has had its config changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3410", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "data" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec" + ] + }, + { + "lookup": "3411", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3412", + "name": "ItemMetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec" + ], + "args_name": [ + "collection", + "item", + "data" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec" + ] + }, + { + "lookup": "3413", + "name": "ItemMetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3414", + "name": "Redeposited", + "docs": [ + "The deposit for a set of `item`s within a `collection` has been updated." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3415", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec", + "AttributeNamespace" + ] + }, + { + "lookup": "3416", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "AttributeNamespace" + ] + }, + { + "lookup": "3417", + "name": "ItemAttributesApprovalAdded", + "docs": [ + "A new approval to modify item attributes was added." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3418", + "name": "ItemAttributesApprovalRemoved", + "docs": [ + "A new approval to modify item attributes was removed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3419", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "341a", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "341b", + "name": "CollectionMintSettingsUpdated", + "docs": [ + "Mint settings for a collection had changed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "341c", + "name": "NextCollectionIdIncremented", + "docs": [ + "Event gets emitted when the `NextCollectionId` gets incremented." + ], + "args": [ + "option" + ], + "args_name": [ + "next_id" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "341d", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the item." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "341e", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the item was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "341f", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3420", + "name": "TipSent", + "docs": [ + "A tip was sent." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "collection", + "item", + "sender", + "receiver", + "amount" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId", + "DepositBalanceOf" + ] + }, + { + "lookup": "3421", + "name": "SwapCreated", + "docs": [ + "An `item` swap intent was created." + ], + "args": [ + "U32", + "U32", + "U32", + "option", + "option", + "U32" + ], + "args_name": [ + "offered_collection", + "offered_item", + "desired_collection", + "desired_item", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "CollectionId", + "Option", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3422", + "name": "SwapCancelled", + "docs": [ + "The swap was cancelled." + ], + "args": [ + "U32", + "U32", + "U32", + "option", + "option", + "U32" + ], + "args_name": [ + "offered_collection", + "offered_item", + "desired_collection", + "desired_item", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "CollectionId", + "Option", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3423", + "name": "SwapClaimed", + "docs": [ + "The swap has been claimed." + ], + "args": [ + "U32", + "U32", + "AccountId", + "U32", + "U32", + "AccountId", + "option", + "U32" + ], + "args_name": [ + "sent_collection", + "sent_item", + "sent_item_owner", + "received_collection", + "received_item", + "received_item_owner", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "CollectionId", + "ItemId", + "AccountId", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3424", + "name": "PreSignedAttributesSet", + "docs": [ + "New attributes have been set for an `item` of the `collection`." + ], + "args": [ + "U32", + "U32", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "item", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AttributeNamespace" + ] + }, + { + "lookup": "3425", + "name": "PalletAttributeSet", + "docs": [ + "A new attribute in the `Pallet` namespace was set for the `collection` or an `item`", + "within that `collection`." + ], + "args": [ + "U32", + "option", + "pallet_nfts:types:PalletAttributes", + "Vec" + ], + "args_name": [ + "collection", + "item", + "attribute", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "PalletAttributes", + "BoundedVec" + ] + } + ], + "events_value": { + "type": 138 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "40f1fb77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "10320103000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "1071ff0b000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00c2eb0b000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "00010000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "00010000", + "docs": [ + " The maximum length of an attribute value." + ] + }, + { + "name": "ApprovalsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "14000000", + "docs": [ + " The maximum approvals an item could have." + ] + }, + { + "name": "ItemAttributesApprovalsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "1e000000", + "docs": [ + " The maximum attributes approvals an item could have." + ] + }, + { + "name": "MaxTips", + "type": "U32", + "type_value": 4, + "constants_value": "0a000000", + "docs": [ + " The max number of tips a user could send." + ] + }, + { + "name": "MaxDeadlineDuration", + "type": "U32", + "type_value": 4, + "constants_value": "008d2700", + "docs": [ + " The max duration in blocks for deadlines." + ] + }, + { + "name": "MaxAttributesPerCall", + "type": "U32", + "type_value": 4, + "constants_value": "0a000000", + "docs": [ + " The max number of attributes a user could set per call." + ] + }, + { + "name": "Features", + "type": "U64", + "type_value": 441, + "constants_value": "0000000000000000", + "docs": [ + " Disables some of pallet's features." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "ApprovalExpired", + "doc": [ + "The approval had a deadline that expired, so the approval isn't valid anymore." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "The witness data given does not match the current state of the chain." + ] + }, + { + "name": "CollectionIdInUse", + "doc": [ + "Collection ID is already taken." + ] + }, + { + "name": "ItemsNonTransferable", + "doc": [ + "Items within that collection are non-transferable." + ] + }, + { + "name": "NotDelegate", + "doc": [ + "The provided account is not a delegate." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership acceptance of the collection." + ] + }, + { + "name": "ItemLocked", + "doc": [ + "The item is locked (non-transferable)." + ] + }, + { + "name": "LockedItemAttributes", + "doc": [ + "Item's attributes are locked." + ] + }, + { + "name": "LockedCollectionAttributes", + "doc": [ + "Collection's attributes are locked." + ] + }, + { + "name": "LockedItemMetadata", + "doc": [ + "Item's metadata is locked." + ] + }, + { + "name": "LockedCollectionMetadata", + "doc": [ + "Collection's metadata is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyLocked", + "doc": [ + "The max supply is locked and can't be changed." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less than the number of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "UnknownSwap", + "doc": [ + "Swap doesn't exist." + ] + }, + { + "name": "MetadataNotFound", + "doc": [ + "The given item has no metadata set." + ] + }, + { + "name": "AttributeNotFound", + "doc": [ + "The provided attribute can't be found." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + }, + { + "name": "ReachedApprovalLimit", + "doc": [ + "The item has reached its approval limit." + ] + }, + { + "name": "DeadlineExpired", + "doc": [ + "The deadline has already expired." + ] + }, + { + "name": "WrongDuration", + "doc": [ + "The duration provided should be less than or equal to `MaxDeadlineDuration`." + ] + }, + { + "name": "MethodDisabled", + "doc": [ + "The method is disabled by system settings." + ] + }, + { + "name": "WrongSetting", + "doc": [ + "The provided setting can't be set." + ] + }, + { + "name": "InconsistentItemConfig", + "doc": [ + "Item's config already exists and should be equal to the provided one." + ] + }, + { + "name": "NoConfig", + "doc": [ + "Config for a collection or an item can't be found." + ] + }, + { + "name": "RolesNotCleared", + "doc": [ + "Some roles were not cleared." + ] + }, + { + "name": "MintNotStarted", + "doc": [ + "Mint has not started yet." + ] + }, + { + "name": "MintEnded", + "doc": [ + "Mint has already ended." + ] + }, + { + "name": "AlreadyClaimed", + "doc": [ + "The provided Item was already used for claiming." + ] + }, + { + "name": "IncorrectData", + "doc": [ + "The provided data is incorrect." + ] + }, + { + "name": "WrongOrigin", + "doc": [ + "The extrinsic was sent by the wrong origin." + ] + }, + { + "name": "WrongSignature", + "doc": [ + "The provided signature is incorrect." + ] + }, + { + "name": "IncorrectMetadata", + "doc": [ + "The provided metadata might be too long." + ] + }, + { + "name": "MaxAttributesLimitReached", + "doc": [ + "Can't set more attributes per one call." + ] + }, + { + "name": "WrongNamespace", + "doc": [ + "The provided namespace isn't supported in this call." + ] + }, + { + "name": "CollectionNotEmpty", + "doc": [ + "Can't delete non-empty collections." + ] + }, + { + "name": "WitnessRequired", + "doc": [ + "The witness data should be provided." + ] + } + ], + "errors_value": { + "type": 443 + }, + "index": 52 + }, + { + "name": "ForeignAssets", + "prefix": "ForeignAssets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 37, + "value_id": 402 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 444, + "value_id": 405 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 445, + "value_id": 409 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "pallet_assets:types:AssetMetadata@446", + "keys_id": 37, + "value_id": 446 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + }, + { + "name": "NextAssetId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "staging_xcm:v3:multilocation:MultiLocation", + "PlainTypeValue": 37 + }, + "fallback": "0x00", + "docs": [ + " The asset ID enforced for the next asset creation, if any present. Otherwise, this storage", + " item has no effect.", + "", + " This can be useful for setting up constraints for IDs of the new assets. For example, by", + " providing an initial [`NextAssetId`] and using the [`crate::AutoIncAssetId`] callback, an", + " auto-increment model can be applied to all new asset IDs.", + "", + " The initial next asset ID can be set using the [`GenesisConfig`] or the", + " [SetNextAssetId](`migration::next_asset_id::SetNextAssetId`) migration." + ] + } + ], + "calls": [ + { + "lookup": "3500", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset. If [`NextAssetId`] is set, then this must be equal to it.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3501", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset. If [`NextAssetId`] is set, then this must be equal to it.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3502", + "name": "start_destroy", + "docs": [ + "Start the process of destroying a fungible asset class.", + "", + "`start_destroy` is the first in a series of extrinsics that should be called, to allow", + "destruction of an asset class.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "The asset class must be frozen before calling `start_destroy`." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3503", + "name": "destroy_accounts", + "docs": [ + "Destroy all accounts associated with a given asset.", + "", + "`destroy_accounts` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedAccounts` event." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3504", + "name": "destroy_approvals", + "docs": [ + "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).", + "", + "`destroy_approvals` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedApprovals` event." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3505", + "name": "finish_destroy", + "docs": [ + "Complete destroying asset and unreserve currency.", + "", + "`finish_destroy` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state. All accounts or approvals should be destroyed before", + "hand.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each successful call emits the `Event::Destroyed` event." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3506", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3507", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3508", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3509", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "350a", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "350b", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`", + "must already exist as an entry in `Account`s of the asset. If you want to freeze an", + "account that does not have an entry, use `touch_other` first.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "350c", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers to and from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "350d", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "350e", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "350f", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3510", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3511", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3512", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3513", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3514", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3515", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3516", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3517", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3518", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3519", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "351a", + "name": "touch", + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "351b", + "name": "refund", + "docs": [ + "Return the deposit (if any) of an asset account or a consumer reference (if any) of an", + "account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for which the caller would like the deposit", + " refunded.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "351c", + "name": "set_min_balance", + "docs": [ + "Sets the minimum balance of an asset.", + "", + "Only works if there aren't any accounts that are holding the asset or if", + "the new value of `min_balance` is less than the old one.", + "", + "Origin must be Signed and the sender has to be the Owner of the", + "asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `min_balance`: The new value of `min_balance`.", + "", + "Emits `AssetMinBalanceChanged` event when successful." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "351d", + "name": "touch_other", + "docs": [ + "Create an asset account for `who`.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account", + " must have sufficient funds for a deposit to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "- `who`: The account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "351e", + "name": "refund_other", + "docs": [ + "Return the deposit (if any) of a target asset account. Useful if you are the depositor.", + "", + "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In", + "order to burn a non-zero balance of the asset, the caller must be the account and should", + "use `refund`.", + "", + "- `id`: The identifier of the asset for the account holding a deposit.", + "- `who`: The account to refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "351f", + "name": "block", + "docs": [ + "Disallow further unprivileged transfers of an asset `id` to and from an account `who`.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the account's asset.", + "- `who`: The account to be unblocked.", + "", + "Emits `Blocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 379 + }, + "events": [ + { + "lookup": "3500", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3501", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3502", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3503", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3504", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3505", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3506", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3507", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3508", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3509", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "350b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "350c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "350f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3510", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3511", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3512", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3513", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3514", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3515", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3516", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3517", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3518", + "name": "Deposited", + "docs": [ + "Some assets were deposited (e.g. for transaction fees)." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "who", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3519", + "name": "Withdrawn", + "docs": [ + "Some assets were withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "who", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 145 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "c07e5778000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + }, + { + "name": "BadAssetId", + "doc": [ + "The asset ID must be equal to the [`NextAssetId`]." + ] + } + ], + "errors_value": { + "type": 448 + }, + "index": 53 + }, + { + "name": "PoolAssets", + "prefix": "PoolAssets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 402 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 404, + "value_id": 405 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 408, + "value_id": 409 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata@449", + "keys_id": 4, + "value_id": 449 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + }, + { + "name": "NextAssetId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " The asset ID enforced for the next asset creation, if any present. Otherwise, this storage", + " item has no effect.", + "", + " This can be useful for setting up constraints for IDs of the new assets. For example, by", + " providing an initial [`NextAssetId`] and using the [`crate::AutoIncAssetId`] callback, an", + " auto-increment model can be applied to all new asset IDs.", + "", + " The initial next asset ID can be set using the [`GenesisConfig`] or the", + " [SetNextAssetId](`migration::next_asset_id::SetNextAssetId`) migration." + ] + } + ], + "calls": [ + { + "lookup": "3600", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset. If [`NextAssetId`] is set, then this must be equal to it.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3601", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset. If [`NextAssetId`] is set, then this must be equal to it.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3602", + "name": "start_destroy", + "docs": [ + "Start the process of destroying a fungible asset class.", + "", + "`start_destroy` is the first in a series of extrinsics that should be called, to allow", + "destruction of an asset class.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "The asset class must be frozen before calling `start_destroy`." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3603", + "name": "destroy_accounts", + "docs": [ + "Destroy all accounts associated with a given asset.", + "", + "`destroy_accounts` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedAccounts` event." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3604", + "name": "destroy_approvals", + "docs": [ + "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).", + "", + "`destroy_approvals` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedApprovals` event." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3605", + "name": "finish_destroy", + "docs": [ + "Complete destroying asset and unreserve currency.", + "", + "`finish_destroy` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state. All accounts or approvals should be destroyed before", + "hand.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each successful call emits the `Event::Destroyed` event." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3606", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3607", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3608", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3609", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "360a", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "360b", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`", + "must already exist as an entry in `Account`s of the asset. If you want to freeze an", + "account that does not have an entry, use `touch_other` first.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "360c", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers to and from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "360d", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "360e", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "360f", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3610", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3611", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3612", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3613", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3614", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3615", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3616", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3617", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3618", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3619", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "361a", + "name": "touch", + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "361b", + "name": "refund", + "docs": [ + "Return the deposit (if any) of an asset account or a consumer reference (if any) of an", + "account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for which the caller would like the deposit", + " refunded.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "361c", + "name": "set_min_balance", + "docs": [ + "Sets the minimum balance of an asset.", + "", + "Only works if there aren't any accounts that are holding the asset or if", + "the new value of `min_balance` is less than the old one.", + "", + "Origin must be Signed and the sender has to be the Owner of the", + "asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `min_balance`: The new value of `min_balance`.", + "", + "Emits `AssetMinBalanceChanged` event when successful." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "361d", + "name": "touch_other", + "docs": [ + "Create an asset account for `who`.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account", + " must have sufficient funds for a deposit to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "- `who`: The account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "361e", + "name": "refund_other", + "docs": [ + "Return the deposit (if any) of a target asset account. Useful if you are the depositor.", + "", + "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In", + "order to burn a non-zero balance of the asset, the caller must be the account and should", + "use `refund`.", + "", + "- `id`: The identifier of the asset for the account holding a deposit.", + "- `who`: The account to refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "361f", + "name": "block", + "docs": [ + "Disallow further unprivileged transfers of an asset `id` to and from an account `who`.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the account's asset.", + "- `who`: The account to be unblocked.", + "", + "Emits `Blocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 380 + }, + "events": [ + { + "lookup": "3600", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3601", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3602", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3603", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3604", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3605", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3606", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3607", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3608", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3609", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "360a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "360b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "360c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "360d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "360e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "360f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3610", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3611", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3612", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3613", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3614", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3615", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "U32", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3616", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3617", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3618", + "name": "Deposited", + "docs": [ + "Some assets were deposited (e.g. for transaction fees)." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "who", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3619", + "name": "Withdrawn", + "docs": [ + "Some assets were withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "who", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 146 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00000000000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00000000000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "00000000000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + }, + { + "name": "BadAssetId", + "doc": [ + "The asset ID must be equal to the [`NextAssetId`]." + ] + } + ], + "errors_value": { + "type": 451 + }, + "index": 54 + }, + { + "name": "AssetConversion", + "prefix": "AssetConversion", + "storage": [ + { + "name": "Pools", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "U32", + "keys_id": 148, + "value_id": 452 + } + }, + "fallback": "0x00", + "docs": [ + " Map from `PoolAssetId` to `PoolInfo`. This establishes whether a pool has been officially", + " created rather than people sending tokens directly to a pool's public account." + ] + }, + { + "name": "NextPoolAssetId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Stores the `PoolAssetId` that is going to be used for the next lp token.", + " This gets incremented whenever a new lp pool is created." + ] + } + ], + "calls": [ + { + "lookup": "3700", + "name": "create_pool", + "docs": [ + "Creates an empty liquidity pool and an associated new `lp_token` asset", + "(the id of which is returned in the `Event::PoolCreated` event).", + "", + "Once a pool is created, someone may [`Pallet::add_liquidity`] to it." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "3701", + "name": "add_liquidity", + "docs": [ + "Provide liquidity into the pool of `asset1` and `asset2`.", + "NOTE: an optimal amount of asset1 and asset2 will be calculated and", + "might be different than the provided `amount1_desired`/`amount2_desired`", + "thus you should provide the min amount you're happy to provide.", + "Params `amount1_min`/`amount2_min` represent that.", + "`mint_to` will be sent the liquidity tokens that represent this share of the pool.", + "", + "NOTE: when encountering an incorrect exchange rate and non-withdrawable pool liquidity,", + "batch an atomic call with [`Pallet::add_liquidity`] and", + "[`Pallet::swap_exact_tokens_for_tokens`] or [`Pallet::swap_tokens_for_exact_tokens`]", + "calls to render the liquidity withdrawable and rectify the exchange rate.", + "", + "Once liquidity is added, someone may successfully call", + "[`Pallet::swap_exact_tokens_for_tokens`] successfully." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "amount1_desired", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount2_desired", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount1_min", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount2_min", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "mint_to", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3702", + "name": "remove_liquidity", + "docs": [ + "Allows you to remove liquidity by providing the `lp_token_burn` tokens that will be", + "burned in the process. With the usage of `amount1_min_receive`/`amount2_min_receive`", + "it's possible to control the min amount of returned tokens you're happy with." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "lp_token_burn", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount1_min_receive", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount2_min_receive", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "withdraw_to", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3703", + "name": "swap_exact_tokens_for_tokens", + "docs": [ + "Swap the exact amount of `asset1` into `asset2`.", + "`amount_out_min` param allows you to specify the min amount of the `asset2`", + "you're happy to receive.", + "", + "[`AssetConversionApi::quote_price_exact_tokens_for_tokens`] runtime call can be called", + "for a quote." + ], + "args": [ + { + "name": "path", + "type": "Vec", + "type_name": "Vec>" + }, + { + "name": "amount_in", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount_out_min", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "send_to", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3704", + "name": "swap_tokens_for_exact_tokens", + "docs": [ + "Swap any amount of `asset1` to get the exact amount of `asset2`.", + "`amount_in_max` param allows to specify the max amount of the `asset1`", + "you're happy to provide.", + "", + "[`AssetConversionApi::quote_price_tokens_for_exact_tokens`] runtime call can be called", + "for a quote." + ], + "args": [ + { + "name": "path", + "type": "Vec", + "type_name": "Vec>" + }, + { + "name": "amount_out", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount_in_max", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "send_to", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3705", + "name": "touch", + "docs": [ + "Touch an existing pool to fulfill prerequisites before providing liquidity, such as", + "ensuring that the pool's accounts are in place. It is typically useful when a pool", + "creator removes the pool's accounts and does not provide a liquidity. This action may", + "involve holding assets from the caller as a deposit for creating the pool's accounts.", + "", + "The origin must be Signed.", + "", + "- `asset1`: The asset ID of an existing pool with a pair (asset1, asset2).", + "- `asset2`: The asset ID of an existing pool with a pair (asset1, asset2).", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + } + ] + } + ], + "calls_value": { + "type": 381 + }, + "events": [ + { + "lookup": "3700", + "name": "PoolCreated", + "docs": [ + "A successful call of the `CreatePool` extrinsic will create this event." + ], + "args": [ + "AccountId", + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U32" + ], + "args_name": [ + "creator", + "pool_id", + "pool_account", + "lp_token" + ], + "args_type_name": [ + "AccountId", + "PoolId", + "AccountId", + "PoolAssetId" + ] + }, + { + "lookup": "3701", + "name": "LiquidityAdded", + "docs": [ + "A successful call of the `AddLiquidity` extrinsic will create this event." + ], + "args": [ + "AccountId", + "AccountId", + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "U128", + "U128", + "U32", + "U128" + ], + "args_name": [ + "who", + "mint_to", + "pool_id", + "amount1_provided", + "amount2_provided", + "lp_token", + "lp_token_minted" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "PoolId", + "Balance", + "Balance", + "PoolAssetId", + "Balance" + ] + }, + { + "lookup": "3702", + "name": "LiquidityRemoved", + "docs": [ + "A successful call of the `RemoveLiquidity` extrinsic will create this event." + ], + "args": [ + "AccountId", + "AccountId", + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "U128", + "U128", + "U32", + "U128", + "U32" + ], + "args_name": [ + "who", + "withdraw_to", + "pool_id", + "amount1", + "amount2", + "lp_token", + "lp_token_burned", + "withdrawal_fee" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "PoolId", + "Balance", + "Balance", + "PoolAssetId", + "Balance", + "Permill" + ] + }, + { + "lookup": "3703", + "name": "SwapExecuted", + "docs": [ + "Assets have been converted from one to another. Both `SwapExactTokenForToken`", + "and `SwapTokenForExactToken` will generate this event." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "U128", + "Vec" + ], + "args_name": [ + "who", + "send_to", + "amount_in", + "amount_out", + "path" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Balance", + "BalancePath" + ] + }, + { + "lookup": "3704", + "name": "SwapCreditExecuted", + "docs": [ + "Assets have been converted from one to another." + ], + "args": [ + "U128", + "U128", + "Vec" + ], + "args_name": [ + "amount_in", + "amount_out", + "path" + ], + "args_type_name": [ + "Balance", + "Balance", + "BalancePath" + ] + }, + { + "lookup": "3705", + "name": "Touched", + "docs": [ + "Pool has been touched in order to fulfill operational requirements." + ], + "args": [ + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "pool_id", + "who" + ], + "args_type_name": [ + "PoolId", + "AccountId" + ] + } + ], + "events_value": { + "type": 147 + }, + "constants": [ + { + "name": "LPFee", + "type": "U32", + "type_value": 4, + "constants_value": "03000000", + "docs": [ + " A % the liquidity providers will take of every swap. Represents 10ths of a percent." + ] + }, + { + "name": "PoolSetupFee", + "type": "U128", + "type_value": 6, + "constants_value": "402d93ef000000000000000000000000", + "docs": [ + " A one-time fee to setup the pool." + ] + }, + { + "name": "PoolSetupFeeAsset", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_value": 37, + "constants_value": "0100", + "docs": [ + " Asset class from [`Config::Assets`] used to pay the [`Config::PoolSetupFee`]." + ] + }, + { + "name": "LiquidityWithdrawalFee", + "type": "U32", + "type_value": 149, + "constants_value": "00000000", + "docs": [ + " A fee to withdraw the liquidity." + ] + }, + { + "name": "MintMinLiquidity", + "type": "U128", + "type_value": 6, + "constants_value": "64000000000000000000000000000000", + "docs": [ + " The minimum LP token amount that could be minted. Ameliorates rounding errors." + ] + }, + { + "name": "MaxSwapPathLength", + "type": "U32", + "type_value": 4, + "constants_value": "03000000", + "docs": [ + " The max number of hops in a swap." + ] + }, + { + "name": "PalletId", + "type": "[U8; 8]", + "type_value": 453, + "constants_value": "70792f6173636f6e", + "docs": [ + " The pallet's id, used for deriving its sovereign account ID." + ] + } + ], + "errors": [ + { + "name": "InvalidAssetPair", + "doc": [ + "Provided asset pair is not supported for pool." + ] + }, + { + "name": "PoolExists", + "doc": [ + "Pool already exists." + ] + }, + { + "name": "WrongDesiredAmount", + "doc": [ + "Desired amount can't be zero." + ] + }, + { + "name": "AmountOneLessThanMinimal", + "doc": [ + "Provided amount should be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "AmountTwoLessThanMinimal", + "doc": [ + "Provided amount should be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "ReserveLeftLessThanMinimal", + "doc": [ + "Reserve needs to always be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "AmountOutTooHigh", + "doc": [ + "Desired amount can't be equal to the pool reserve." + ] + }, + { + "name": "PoolNotFound", + "doc": [ + "The pool doesn't exist." + ] + }, + { + "name": "Overflow", + "doc": [ + "An overflow happened." + ] + }, + { + "name": "AssetOneDepositDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the first token in the pair wasn't met." + ] + }, + { + "name": "AssetTwoDepositDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the second token in the pair wasn't met." + ] + }, + { + "name": "AssetOneWithdrawalDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the first token in the pair wasn't met." + ] + }, + { + "name": "AssetTwoWithdrawalDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the second token in the pair wasn't met." + ] + }, + { + "name": "OptimalAmountLessThanDesired", + "doc": [ + "Optimal calculated amount is less than desired." + ] + }, + { + "name": "InsufficientLiquidityMinted", + "doc": [ + "Insufficient liquidity minted." + ] + }, + { + "name": "ZeroLiquidity", + "doc": [ + "Requested liquidity can't be zero." + ] + }, + { + "name": "ZeroAmount", + "doc": [ + "Amount can't be zero." + ] + }, + { + "name": "ProvidedMinimumNotSufficientForSwap", + "doc": [ + "Calculated amount out is less than provided minimum amount." + ] + }, + { + "name": "ProvidedMaximumNotSufficientForSwap", + "doc": [ + "Provided maximum amount is not sufficient for swap." + ] + }, + { + "name": "InvalidPath", + "doc": [ + "The provided path must consists of 2 assets at least." + ] + }, + { + "name": "NonUniquePath", + "doc": [ + "The provided path must consists of unique assets." + ] + }, + { + "name": "IncorrectPoolAssetId", + "doc": [ + "It was not possible to get or increment the Id of the pool." + ] + }, + { + "name": "BelowMinimum", + "doc": [ + "The destination account cannot exist with the swapped funds." + ] + } + ], + "errors_value": { + "type": 454 + }, + "index": 55 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v1003003.json b/src/demo_substrate_events/abi/assethub/v1003003.json new file mode 100644 index 000000000..ef13703b4 --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v1003003.json @@ -0,0 +1,18901 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "InherentsApplied", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " Whether all inherents have been applied." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:dispatch:PerDispatchClass@9", + "PlainTypeValue": 9 + }, + "fallback": "0x000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 13 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 14 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 13 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 15 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 19 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: The item is unbound and should therefore never be read on chain.", + " It could otherwise inflate the PoV size of a block.", + "", + " Events have a large in-memory size. Box the events to not go out-of-memory", + " just in case someone still reads them from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 13, + "value_id": 154 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(BlockNumberFor, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 156 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 152 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:CodeUpgradeAuthorization", + "PlainTypeValue": 158 + }, + "fallback": "0x00", + "docs": [ + " `Some` if a code upgrade has been authorized." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "remark", + "docs": [ + "Make some on-chain remark.", + "", + "Can be executed by every `origin`." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0001", + "name": "set_heap_pages", + "docs": [ + "Set the number of pages in the WebAssembly environment's heap." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0002", + "name": "set_code", + "docs": [ + "Set the new runtime code." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0003", + "name": "set_code_without_checks", + "docs": [ + "Set the new runtime code without doing any checks of the given `code`.", + "", + "Note that runtime upgrades will not run if this is called with a not-increasing spec", + "version!" + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_storage", + "docs": [ + "Set some items of storage." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0005", + "name": "kill_storage", + "docs": [ + "Kill some items from storage." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_prefix", + "docs": [ + "Kill all storage items with a key that starts with the given prefix.", + "", + "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", + "the prefix we are removing to accurately calculate the weight of this function." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0007", + "name": "remark_with_event", + "docs": [ + "Make some on-chain remark and emit event." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0009", + "name": "authorize_upgrade", + "docs": [ + "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied", + "later.", + "", + "This call requires Root origin." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "000a", + "name": "authorize_upgrade_without_checks", + "docs": [ + "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied", + "later.", + "", + "WARNING: This authorizes an upgrade that will take place without any safety checks, for", + "example that the spec name remains the same and that the version number increases. Not", + "recommended for normal use. Use `authorize_upgrade` instead.", + "", + "This call requires Root origin." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "000b", + "name": "apply_authorized_upgrade", + "docs": [ + "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized.", + "", + "If the authorization required a version check, this call will ensure the spec name", + "remains unchanged and that the spec version has increased.", + "", + "Depending on the runtime's `OnSetCode` configuration, this function may directly apply", + "the new `code` in the same block or attempt to schedule the upgrade.", + "", + "All origins are allowed." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 159 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + }, + { + "lookup": "0006", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade was authorized." + ], + "args": [ + "H256", + "Bool" + ], + "args_name": [ + "code_hash", + "check_version" + ], + "args_type_name": [ + "Hash", + "bool" + ] + } + ], + "events_value": { + "type": 22 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 163, + "constants_value": "0700f2052a0100070088526a74020040010265cd1d000107c0d22c76510200e000010700e6bd4f570200f0000100000265cd1d000107c074c1906e0200300101070088526a7402004001010700a2941a1d020050000265cd1d00000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:dispatch:PerDispatchClass@168", + "type_value": 167, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "00100000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "sp_weights:RuntimeDbWeight", + "type_value": 169, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 170, + "constants_value": "2473746174656d696e742473746174656d696e7401000000fb4d0f000000000048dd718d5cc53262d401000000d7bdd8a272ca0d6501000000df6acb689907609b0500000037e397fc7c91f5e40200000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000f3ff14d5ab527059030000006ff52ee858e6c5bd0100000091b1c8b16328eb92010000009ffb505aa738d69c01000000de92b8a0426b9bf602000000ea93e3f16f3d696202000000fbc577b9d747efd6010000008a8047a53a8277ec010000000f00000000", + "docs": [ + " Get the chain's in-code version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 129, + "constants_value": "0000", + "docs": [ + " The designated SS58 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + }, + { + "name": "MultiBlockMigrationsOngoing", + "doc": [ + "A multi-block migration is ongoing and prevents the current code from being replaced." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No upgrade authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The submitted code is not authorized." + ] + } + ], + "errors_value": { + "type": 174 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "UnincludedSegment", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 175 + }, + "fallback": "0x00", + "docs": [ + " Latest included block descendants the runtime accepted. In other words, these are", + " ancestors of the currently executing block which have not been included in the observed", + " relay-chain state.", + "", + " The segment length is limited by the capacity returned from the [`ConsensusHook`] configured", + " in the pallet." + ] + }, + { + "name": "AggregatedUnincludedSegment", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:unincluded_segment:SegmentTracker", + "PlainTypeValue": 185 + }, + "fallback": "0x00", + "docs": [ + " Storage field that keeps track of bandwidth used by the unincluded segment along with the", + " latest HRMP watermark. Used for limiting the acceptance of new blocks with", + " respect to relay chain constraints." + ] + }, + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 14 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be", + " applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the", + " [`:code`][sp_core::storage::well_known_keys::CODE] which will result the next block process", + " with the new validation code. This concludes the upgrade process." + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 14 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v7:PersistedValidationData", + "PlainTypeValue": 186 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "LastRelayChainBlockNumber", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The relay chain block number associated with the last parachain block.", + "", + " This is updated in `on_finalize`." + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 188 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "UpgradeGoAhead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 183 + }, + "fallback": "0x00", + "docs": [ + " Optional upgrade go-ahead signal from the relay-chain.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelayStateProof", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 190 + }, + "fallback": "0x00", + "docs": [ + " The state proof for the last relay parent block.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 192 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v7:AbridgedHostConfiguration", + "PlainTypeValue": 197 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 199 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 200 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 203 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 162 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 162 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "UpwardDeliveryFeeFactor", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 205 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": [ + " The factor to multiply the base delivery fee by for UMP." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 14 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See `Pallet::set_custom_validation_head_data` for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "Set the current validation data.", + "", + "This should be invoked exactly once per block. It will panic at the finalization", + "phase if the call was not invoked.", + "", + "The dispatch origin for this call must be `Inherent`", + "", + "As a side effect, this function upgrades the current validation function", + "if the appropriate time has come." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": null, + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": [ + "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied", + "later.", + "", + "The `check_version` parameter sets a boolean flag for whether or not the runtime's spec", + "version and name should be verified on upgrade. Since the authorization only has a hash,", + "it cannot actually perform the verification.", + "", + "This call requires Root origin." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + }, + { + "name": "check_version", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": [ + "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized.", + "", + "If the authorization required a version check, this call will ensure the spec name", + "remains unchanged and that the spec version has increased.", + "", + "Note that this function will not apply the new `code`, but only attempt to schedule the", + "upgrade with the Relay Chain.", + "", + "All origins are allowed." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 206 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "relay_chain_block_num" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed." + ], + "args": [ + "U32" + ], + "args_name": [ + "count" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight." + ], + "args": [ + "sp_weights:weight_v2:Weight", + "H256" + ], + "args_name": [ + "weight_used", + "dmq_head" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + }, + { + "lookup": "0105", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option<[U8; 32]>" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + } + ], + "events_value": { + "type": 31 + }, + "constants": [ + { + "name": "SelfParaId", + "type": "U32", + "type_value": 120, + "constants_value": "e8030000", + "docs": [ + " Returns the parachain ID we are running with." + ] + } + ], + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending." + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function." + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run." + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block." + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block." + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 215 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 12 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " Whether the timestamp has been updated in this block.", + "", + " This value is updated to `true` upon successful submission of a timestamp by a node.", + " It is then checked at the end of each block execution in the `on_finalize` hook." + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "Set the current time.", + "", + "This call should be invoked exactly once per block. It will panic at the finalization", + "phase, if this call hasn't been invoked by that time.", + "", + "The timestamp should be greater than the previous one by the amount specified by", + "[`Config::MinimumPeriod`].", + "", + "The dispatch origin for this call must be _None_.", + "", + "This dispatch class is _Mandatory_ to ensure it gets executed in the block. Be aware", + "that changing the complexity of this call could result exhausting the resources in a", + "block to execute any other calls.", + "", + "## Complexity", + "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", + "- 1 storage read and 1 storage mutation (codec `O(1)` because of `DidUpdate::take` in", + " `on_finalize`)", + "- 1 event handler `on_timestamp_set`. Must be `O(1)`." + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 216 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 12, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks.", + "", + " Be aware that this is different to the *expected* period that the block production", + " apparatus provides. Your chosen consensus system will generally work with this to", + " determine a sensible block time. For example, in the Aura pallet it will be double this", + " period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 120 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "calls_value": { + "type": 217 + }, + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "InactiveIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units of outstanding deactivated balance in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:types:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 218 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock.", + "", + " Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/`" + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 222 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances.", + "", + " Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`" + ] + }, + { + "name": "Holds", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 225 + } + }, + "fallback": "0x00", + "docs": [ + " Holds on account balances." + ] + }, + { + "name": "Freezes", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 229 + } + }, + "fallback": "0x00", + "docs": [ + " Freeze locks on account balances." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer_allow_death", + "docs": [ + "Transfer some liquid free balance to another account.", + "", + "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver.", + "If the sender's account is below the existential deposit as a result", + "of the transfer, the account will be reaped.", + "", + "The dispatch origin for this call must be `Signed` by the transactor." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "Exactly as `transfer_allow_death`, except the origin must be root and the source account", + "may be specified." + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not", + "kill the origin account.", + "", + "99% of the time you want [`transfer_allow_death`] instead.", + "", + "[`transfer_allow_death`]: struct.Pallet.html#method.transfer" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "Transfer the entire transferable balance from the caller account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the account has, causing the sender account to be killed (false), or", + " transfer everything except at least the existential deposit, which will guarantee to", + " keep the sender account alive (true)." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "Unreserve some balance from a user by force.", + "", + "Can only be called by ROOT." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a06", + "name": "upgrade_accounts", + "docs": [ + "Upgrade a specified account.", + "", + "- `origin`: Must be `Signed`.", + "- `who`: The account to be upgraded.", + "", + "This will waive the transaction fee if at least all but 10% of the accounts needed to", + "be upgraded. (We let some not have to be upgraded just in order to allow for the", + "possibility of churn)." + ], + "args": [ + { + "name": "who", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0a08", + "name": "force_set_balance", + "docs": [ + "Set the regular balance of a given account.", + "", + "The dispatch origin for this call is `root`." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a09", + "name": "force_adjust_total_issuance", + "docs": [ + "Adjust the total issuance in a saturating way.", + "", + "Can only be called by root and always needs a positive `delta`.", + "", + "# Example" + ], + "args": [ + { + "name": "direction", + "type": "pallet_balances:types:AdjustmentDirection", + "type_name": "AdjustmentDirection" + }, + { + "name": "delta", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a0a", + "name": "burn", + "docs": [ + "Burn the specified liquid free balance from the origin account.", + "", + "If the origin's account ends up below the existential deposit as a result", + "of the burn and `keep_alive` is false, the account will be reaped.", + "", + "Unlike sending funds to a _burn_ address, which merely makes the funds inaccessible,", + "this `burn` operation will reduce total issuance by the amount _burned_." + ], + "args": [ + { + "name": "value", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 232 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "free" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0a", + "name": "Minted", + "docs": [ + "Some amount was minted into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0b", + "name": "Burned", + "docs": [ + "Some amount was burned from an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0c", + "name": "Suspended", + "docs": [ + "Some amount was suspended from an account (it can be restored later)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0d", + "name": "Restored", + "docs": [ + "Some amount was restored into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0e", + "name": "Upgraded", + "docs": [ + "An account was upgraded." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "who" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0a0f", + "name": "Issued", + "docs": [ + "Total issuance was increased by `amount`, creating a credit to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a10", + "name": "Rescinded", + "docs": [ + "Total issuance was decreased by `amount`, creating a debt to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a11", + "name": "Locked", + "docs": [ + "Some balance was locked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a12", + "name": "Unlocked", + "docs": [ + "Some balance was unlocked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a13", + "name": "Frozen", + "docs": [ + "Some balance was frozen." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a14", + "name": "Thawed", + "docs": [ + "Some balance was thawed." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a15", + "name": "TotalIssuanceForced", + "docs": [ + "The `TotalIssuance` was forcefully changed." + ], + "args": [ + "U128", + "U128" + ], + "args_name": [ + "old", + "new" + ], + "args_type_name": [ + "Balance", + "Balance" + ] + } + ], + "events_value": { + "type": 33 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!", + "", + " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for", + " this pallet. However, you do so at your own risk: this will open up a major DoS vector.", + " In case you have multiple sources of provider references, you may also get unexpected", + " behaviour if you set this to zero.", + "", + " Bottom line: Do yourself a favour and make it at least one!" + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation.", + "", + " Use of locks is deprecated in favour of freezes. See `https://github.com/paritytech/substrate/pull/12951/`" + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account.", + "", + " Use of reserves is deprecated in favour of holds. See `https://github.com/paritytech/substrate/pull/12951/`" + ] + }, + { + "name": "MaxFreezes", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The maximum number of individual freeze locks that can exist on an account at any time." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value." + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal." + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value." + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit." + ] + }, + { + "name": "Expendability", + "doc": [ + "Transfer/payment would kill account." + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account." + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist." + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed `MaxReserves`." + ] + }, + { + "name": "TooManyHolds", + "doc": [ + "Number of holds exceed `VariantCountOf`." + ] + }, + { + "name": "TooManyFreezes", + "doc": [ + "Number of freezes exceed `MaxFreezes`." + ] + }, + { + "name": "IssuanceDeactivated", + "doc": [ + "The issuance cannot be modified since it is already deactivated." + ] + }, + { + "name": "DeltaZero", + "doc": [ + "The delta cannot be zero." + ] + } + ], + "errors_value": { + "type": 236 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 205 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 237 + }, + "fallback": "0x00", + "docs": null + } + ], + "events": [ + { + "lookup": "0b00", + "name": "TransactionFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who`." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "actual_fee", + "tip" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf" + ] + } + ], + "events_value": { + "type": 35 + }, + "constants": [ + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee multiplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multiplied by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "0d00", + "name": "AssetTxFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who` in an asset `asset_id`." + ], + "args": [ + "AccountId", + "U128", + "U128", + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "who", + "actual_fee", + "tip", + "asset_id" + ], + "args_type_name": [ + "AccountId", + "AssetBalanceOf", + "BalanceOf", + "ChargeAssetIdOf" + ] + }, + { + "lookup": "0d01", + "name": "AssetRefundFailed", + "docs": [ + "A swap of the refund in native currency back to asset failed." + ], + "args": [ + "U128" + ], + "args_name": [ + "native_amount_kept" + ], + "args_type_name": [ + "BalanceOf" + ] + } + ], + "events_value": { + "type": 36 + }, + "errors": null, + "errors_value": null, + "index": 13 + }, + { + "name": "Vesting", + "prefix": "Vesting", + "storage": [ + { + "name": "Vesting", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 238 + } + }, + "fallback": "0x00", + "docs": [ + " Information regarding the vesting of a given account." + ] + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_vesting:Releases", + "PlainTypeValue": 241 + }, + "fallback": "0x00", + "docs": [ + " Storage version of the pallet.", + "", + " New networks start with latest version, as determined by the genesis build." + ] + } + ], + "calls": [ + { + "lookup": "0e00", + "name": "vest", + "docs": [ + "Unlock any vested funds of the sender account.", + "", + "The dispatch origin for this call must be _Signed_ and the sender must have funds still", + "locked under this pallet.", + "", + "Emits either `VestingCompleted` or `VestingUpdated`.", + "", + "## Complexity", + "- `O(1)`." + ], + "args": null + }, + { + "lookup": "0e01", + "name": "vest_other", + "docs": [ + "Unlock any vested funds of a `target` account.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `target`: The account whose vested funds should be unlocked. Must have funds still", + "locked under this pallet.", + "", + "Emits either `VestingCompleted` or `VestingUpdated`.", + "", + "## Complexity", + "- `O(1)`." + ], + "args": [ + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "0e02", + "name": "vested_transfer", + "docs": [ + "Create a vested transfer.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `target`: The account receiving the vested funds.", + "- `schedule`: The vesting schedule attached to the transfer.", + "", + "Emits `VestingCreated`.", + "", + "NOTE: This will unlock all schedules through the current block.", + "", + "## Complexity", + "- `O(1)`." + ], + "args": [ + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "schedule", + "type": "pallet_vesting:vesting_info:VestingInfo", + "type_name": "VestingInfo" + } + ] + }, + { + "lookup": "0e03", + "name": "force_vested_transfer", + "docs": [ + "Force a vested transfer.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "- `source`: The account whose funds should be transferred.", + "- `target`: The account that should be transferred the vested funds.", + "- `schedule`: The vesting schedule attached to the transfer.", + "", + "Emits `VestingCreated`.", + "", + "NOTE: This will unlock all schedules through the current block.", + "", + "## Complexity", + "- `O(1)`." + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "schedule", + "type": "pallet_vesting:vesting_info:VestingInfo", + "type_name": "VestingInfo" + } + ] + }, + { + "lookup": "0e04", + "name": "merge_schedules", + "docs": [ + "Merge two vesting schedules together, creating a new vesting schedule that unlocks over", + "the highest possible start and end blocks. If both schedules have already started the", + "current block will be used as the schedule start; with the caveat that if one schedule", + "is finished by the current block, the other will be treated as the new merged schedule,", + "unmodified.", + "", + "NOTE: If `schedule1_index == schedule2_index` this is a no-op.", + "NOTE: This will unlock all schedules through the current block prior to merging.", + "NOTE: If both schedules have ended by the current block, no new schedule will be created", + "and both will be removed.", + "", + "Merged schedule attributes:", + "- `starting_block`: `MAX(schedule1.starting_block, scheduled2.starting_block,", + " current_block)`.", + "- `ending_block`: `MAX(schedule1.ending_block, schedule2.ending_block)`.", + "- `locked`: `schedule1.locked_at(current_block) + schedule2.locked_at(current_block)`.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `schedule1_index`: index of the first schedule to merge.", + "- `schedule2_index`: index of the second schedule to merge." + ], + "args": [ + { + "name": "schedule1_index", + "type": "U32", + "type_name": "u32" + }, + { + "name": "schedule2_index", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0e05", + "name": "force_remove_vesting_schedule", + "docs": [ + "Force remove a vesting schedule", + "", + "The dispatch origin for this call must be _Root_.", + "", + "- `target`: An account that has a vesting schedule", + "- `schedule_index`: The vesting schedule index that should be removed" + ], + "args": [ + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "schedule_index", + "type": "U32", + "type_name": "u32" + } + ] + } + ], + "calls_value": { + "type": 242 + }, + "events": [ + { + "lookup": "0e00", + "name": "VestingUpdated", + "docs": [ + "The amount vested has been updated. This could indicate a change in funds available.", + "The balance given is the amount which is left unvested (and thus locked)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "unvested" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "0e01", + "name": "VestingCompleted", + "docs": [ + "An \\[account\\] has become fully vested." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 47 + }, + "constants": [ + { + "name": "MinVestedTransfer", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The minimum amount transferred to call `vested_transfer`." + ] + }, + { + "name": "MaxVestingSchedules", + "type": "U32", + "type_value": 4, + "constants_value": "1c000000", + "docs": null + } + ], + "errors": [ + { + "name": "NotVesting", + "doc": [ + "The account given is not vesting." + ] + }, + { + "name": "AtMaxVestingSchedules", + "doc": [ + "The account already has `MaxVestingSchedules` count of schedules and thus", + "cannot add another one. Consider merging existing schedules in order to add another." + ] + }, + { + "name": "AmountLow", + "doc": [ + "Amount being transferred is too low to create a vesting schedule." + ] + }, + { + "name": "ScheduleIndexOutOfBounds", + "doc": [ + "An index was out of bounds of the vesting schedules." + ] + }, + { + "name": "InvalidScheduleParams", + "doc": [ + "Failed to create a new schedule because some parameter was invalid." + ] + } + ], + "errors_value": { + "type": 243 + }, + "index": 14 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 244 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, permissioned collators. This list must be sorted." + ] + }, + { + "name": "CandidateList", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 245 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates. `Candidates` and `Invulnerables` should be", + " mutually exclusive.", + "", + " This list is sorted in ascending order by deposit and when the deposits are equal, the least", + " recently updated is considered greater." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "Set the list of invulnerable (fixed) collators. These collators must do some", + "preparation, namely to have registered session keys.", + "", + "The call will remove any accounts that have not registered keys from the set. That is,", + "it is non-atomic; the caller accepts all `AccountId`s passed in `new` _individually_ as", + "acceptable Invulnerables, and is not proposing a _set_ of new Invulnerables.", + "", + "This call does not maintain mutual exclusivity of `Invulnerables` and `Candidates`. It", + "is recommended to use a batch of `add_invulnerable` and `remove_invulnerable` instead. A", + "`batch_all` can also be used to enforce atomicity. If any candidates are included in", + "`new`, they should be removed with `remove_invulnerable_candidate` after execution.", + "", + "Must be called by the `UpdateOrigin`." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "Set the ideal number of non-invulnerable collators. If lowering this number, then the", + "number of running collators could be higher than this figure. Aside from that edge case,", + "there should be no other way to have more candidates than the desired number.", + "", + "The origin for this call must be the `UpdateOrigin`." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "Set the candidacy bond amount.", + "", + "If the candidacy bond is increased by this call, all current candidates which have a", + "deposit lower than the new bond will be kicked from the list and get their deposits", + "back.", + "", + "The origin for this call must be the `UpdateOrigin`." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "Register this account as a collator candidate. The account must (a) already have", + "registered session keys and (b) be able to reserve the `CandidacyBond`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "Deregister `origin` as a collator candidate. Note that the collator can only leave on", + "session change. The `CandidacyBond` will be unreserved immediately.", + "", + "This call will fail if the total number of candidates would drop below", + "`MinEligibleCollators`." + ], + "args": null + }, + { + "lookup": "1505", + "name": "add_invulnerable", + "docs": [ + "Add a new account `who` to the list of `Invulnerables` collators. `who` must have", + "registered session keys. If `who` is a candidate, they will be removed.", + "", + "The origin for this call must be the `UpdateOrigin`." + ], + "args": [ + { + "name": "who", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "1506", + "name": "remove_invulnerable", + "docs": [ + "Remove an account `who` from the list of `Invulnerables` collators. `Invulnerables` must", + "be sorted.", + "", + "The origin for this call must be the `UpdateOrigin`." + ], + "args": [ + { + "name": "who", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "1507", + "name": "update_bond", + "docs": [ + "Update the candidacy bond of collator candidate `origin` to a new amount `new_deposit`.", + "", + "Setting a `new_deposit` that is lower than the current deposit while `origin` is", + "occupying a top-`DesiredCandidates` slot is not allowed.", + "", + "This call will fail if `origin` is not a collator candidate, the updated bond is lower", + "than the minimum candidacy bond, and/or the amount cannot be reserved." + ], + "args": [ + { + "name": "new_deposit", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1508", + "name": "take_candidate_slot", + "docs": [ + "The caller `origin` replaces a candidate `target` in the collator candidate list by", + "reserving `deposit`. The amount `deposit` reserved by the caller must be greater than", + "the existing bond of the target it is trying to replace.", + "", + "This call will fail if the caller is already a collator candidate or invulnerable, the", + "caller does not have registered session keys, the target is not a collator candidate,", + "and/or the `deposit` amount cannot be reserved." + ], + "args": [ + { + "name": "deposit", + "type": "U128", + "type_name": "BalanceOf" + }, + { + "name": "target", + "type": "AccountId", + "type_name": "AccountId" + } + ] + } + ], + "calls_value": { + "type": 248 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": [ + "New Invulnerables were set." + ], + "args": [ + "Vec" + ], + "args_name": [ + "invulnerables" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "InvulnerableAdded", + "docs": [ + "A new Invulnerable was added." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1502", + "name": "InvulnerableRemoved", + "docs": [ + "An Invulnerable was removed." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1503", + "name": "NewDesiredCandidates", + "docs": [ + "The number of desired candidates was set." + ], + "args": [ + "U32" + ], + "args_name": [ + "desired_candidates" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1504", + "name": "NewCandidacyBond", + "docs": [ + "The candidacy bond was set." + ], + "args": [ + "U128" + ], + "args_name": [ + "bond_amount" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1505", + "name": "CandidateAdded", + "docs": [ + "A new candidate joined." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1506", + "name": "CandidateBondUpdated", + "docs": [ + "Bond of a candidate updated." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1507", + "name": "CandidateRemoved", + "docs": [ + "A candidate was removed." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "1508", + "name": "CandidateReplaced", + "docs": [ + "An account was replaced in the candidate list by another one." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "old", + "new", + "deposit" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1509", + "name": "InvalidInvulnerableSkipped", + "docs": [ + "An account was unable to be added to the Invulnerables because they did not have keys", + "registered. Other Invulnerables may have been set." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 48 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "The pallet has too many candidates." + ] + }, + { + "name": "TooFewEligibleCollators", + "doc": [ + "Leaving would result in too few candidates." + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "Account is already a candidate." + ] + }, + { + "name": "NotCandidate", + "doc": [ + "Account is not a candidate." + ] + }, + { + "name": "TooManyInvulnerables", + "doc": [ + "There are too many Invulnerables." + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "Account is already an Invulnerable." + ] + }, + { + "name": "NotInvulnerable", + "doc": [ + "Account is not an Invulnerable." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID." + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered." + ] + }, + { + "name": "InsertToCandidateListFailed", + "doc": [ + "Could not insert in the candidate list." + ] + }, + { + "name": "RemoveFromCandidateListFailed", + "doc": [ + "Could not remove from the candidate list." + ] + }, + { + "name": "DepositTooLow", + "doc": [ + "New deposit amount would be below the minimum candidacy bond." + ] + }, + { + "name": "UpdateCandidateListFailed", + "doc": [ + "Could not update the candidate list." + ] + }, + { + "name": "InsufficientBond", + "doc": [ + "Deposit amount is too low to take the target's slot in the candidate list." + ] + }, + { + "name": "TargetIsNotCandidate", + "doc": [ + "The target account to be replaced in the candidate list is not a candidate." + ] + }, + { + "name": "IdenticalDeposit", + "doc": [ + "The updated deposit amount is equal to the amount already reserved." + ] + }, + { + "name": "InvalidUnreserve", + "doc": [ + "Cannot lower candidacy bond while occupying a future collator slot in the list." + ] + } + ], + "errors_value": { + "type": 249 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 49 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 250 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 133 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 252 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 254, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "Sets the session key(s) of the function caller to `keys`.", + "Allows an account to set its session key prior to becoming a validator.", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be signed.", + "", + "## Complexity", + "- `O(1)`. Actual cost depends on the number of length of `T::Keys::key_ids()` which is", + " fixed." + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "Removes any session key(s) of the function caller.", + "", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be Signed and the account must be either be", + "convertible to a validator ID using the chain's typical addressing system (this usually", + "means being a controller account) or directly convertible into a validator ID (which", + "usually means being a stash account).", + "", + "## Complexity", + "- `O(1)` in number of key types. Actual cost depends on the number of length of", + " `T::Keys::key_ids()` which is fixed." + ], + "args": null + } + ], + "calls_value": { + "type": 256 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 50 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 257 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 258 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 260 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "constants": [ + { + "name": "SlotDuration", + "type": "U64", + "type_value": 12, + "constants_value": "e02e000000000000", + "docs": [ + " The slot duration Aura should run with, expressed in milliseconds.", + " The effective value of this type should not change while the chain is running.", + "", + " For backwards compatibility either use [`MinimumPeriodTimesTwo`] or a const." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 258 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will", + " always be updated to the latest AuRa authorities in `on_finalize`." + ] + }, + { + "name": "SlotInfo", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Tuple:U64U32", + "PlainTypeValue": 261 + }, + "fallback": "0x00", + "docs": [ + " Current slot paired with a number of authored blocks.", + "", + " Updated on each block initialization." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 262 + }, + "fallback": "0x00", + "docs": [ + " The suspended inbound XCMP channels. All others are not suspended.", + "", + " This is a `StorageValue` instead of a `StorageMap` since we expect multiple reads per block", + " to different keys with a one byte payload. The access to `BoundedBTreeSet` will be cached", + " within the block and therefore only included once in the proof size.", + "", + " NOTE: The PoV benchmarking cannot know this and will over-estimate, but the actual proof", + " will be smaller." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 265 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 269, + "value_id": 270 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 120, + "value_id": 270 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 271 + }, + "fallback": "0x200000003000000008000000", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + }, + { + "name": "DeliveryFeeFactor", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U128", + "keys_id": 120, + "value_id": 205 + } + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": [ + " The factor to multiply the base delivery fee by." + ] + } + ], + "calls": [ + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "Suspends all XCM executions for the XCMP queue, regardless of the sender's origin.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "Resumes all XCM executions for the XCMP queue.", + "", + "Note that this function doesn't change the status of the in/out bound channels.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "Overwrites the number of pages which must be in the queue for the other side to be", + "told to suspend their sending.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.suspend_value`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "Overwrites the number of pages which must be in the queue after which we drop any", + "further messages from the channel.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.drop_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "Overwrites the number of pages which the queue must be reduced to before it signals", + "that message sending may recommence after it has been suspended.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.resume_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + } + ], + "calls_value": { + "type": 272 + }, + "events": [ + { + "lookup": "1e00", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "XcmHash" + ] + } + ], + "events_value": { + "type": 51 + }, + "constants": [ + { + "name": "MaxInboundSuspended", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " The maximum number of inbound XCMP channels that can be suspended simultaneously.", + "", + " Any further channel suspensions will fail and messages may get dropped without further", + " notice. Choosing a high value (1000) is okay; the trade-off that is described in", + " [`InboundXcmpSuspended`] still applies at that scale." + ] + }, + { + "name": "MaxActiveOutboundChannels", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " Maximal number of outbound XCMP channels that can have messages queued at the same time.", + "", + " If this is reached, then no further messages can be sent to channels that do not yet", + " have a message queued. This should be set to the expected maximum of outbound channels", + " which is determined by [`Self::ChannelInfo`]. It is important to set this large enough,", + " since otherwise the congestion control protocol will not work as intended and messages", + " may be dropped. This value increases the PoV and should therefore not be picked too", + " high. Governance needs to pay attention to not open more channels than this value." + ] + }, + { + "name": "MaxPageSize", + "type": "U32", + "type_value": 4, + "constants_value": "009c0100", + "docs": [ + " The maximal page size for HRMP message pages.", + "", + " A lower limit can be set dynamically, but this is the hard-limit for the PoV worst case", + " benchmarking. The limit for the size of a message is slightly below this, since some", + " overhead is incurred for encoding the format." + ] + } + ], + "errors": [ + { + "name": "BadQueueConfig", + "doc": [ + "Setting the queue config failed since one of its values was invalid." + ] + }, + { + "name": "AlreadySuspended", + "doc": [ + "The execution is already suspended." + ] + }, + { + "name": "AlreadyResumed", + "doc": [ + "The execution is already resumed." + ] + }, + { + "name": "TooManyActiveOutboundChannels", + "doc": [ + "There are too many active outbound channels." + ] + }, + { + "name": "TooBig", + "doc": [ + "The message is too big." + ] + } + ], + "errors_value": { + "type": 273 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 12 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 12, + "value_id": 274 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 13, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `Assets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedLocation" + ], + "value": "U32", + "keys_id": 288, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedLocation" + ], + "value": "U64", + "keys_id": 288, + "value_id": 12 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedLocation" + ], + "value": "Tuple:U64sp_weights:weight_v2:WeightU32", + "keys_id": 288, + "value_id": 289 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 290 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 293 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + }, + { + "name": "RemoteLockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "xcm:VersionedAssetId" + ], + "value": "pallet_xcm:pallet:RemoteLockedFungibleRecord", + "keys_id": 295, + "value_id": 297 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on a remote chain." + ] + }, + { + "name": "LockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 301 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on this chain." + ] + }, + { + "name": "XcmExecutionSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " Global suspension state of the XCM executor." + ] + }, + { + "name": "ShouldRecordXcm", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " Whether or not incoming XCMs (both executed locally and received) should be recorded.", + " Only one XCM program will be recorded at a time.", + " This is meant to be used in runtime APIs, and it's advised it stays false", + " for all other use cases, so as to not degrade regular performance.", + "", + " Only relevant if this pallet is being used as the [`xcm_executor::traits::RecordXcm`]", + " implementation in the XCM executor configuration." + ] + }, + { + "name": "RecordedXcm", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 68 + }, + "fallback": "0x00", + "docs": [ + " If [`ShouldRecordXcm`] is set to true, then the last XCM program executed locally", + " will be stored here.", + " Runtime APIs can fetch the XCM that was executed by accessing this value.", + "", + " Only relevant if this pallet is being used as the [`xcm_executor::traits::RecordXcm`]", + " implementation in the XCM executor configuration." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": null, + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@305", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "**This function is deprecated: Use `limited_teleport_assets` instead.**", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `[Parent,", + " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from", + " relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will", + " generally be an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the", + " fee on the `dest` chain.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the destination chain through their local,", + "destination or remote reserve.", + "", + "`assets` must have same reserve location and may not be teleportable to `dest`.", + " - `assets` have local reserve: transfer assets to sovereign account of destination", + " chain and forward a notification XCM to `dest` to mint and deposit reserve-based", + " assets to `beneficiary`.", + " - `assets` have destination reserve: burn local assets and forward a notification to", + " `dest` chain to withdraw the reserve assets from this chain's sovereign account and", + " deposit them to `beneficiary`.", + " - `assets` have remote reserve: burn local assets, forward XCM to reserve chain to move", + " reserves from this chain's SA to `dest` chain's SA, and forward another XCM to `dest`", + " to mint and deposit reserve-based assets to `beneficiary`.", + "", + "**This function is deprecated: Use `limited_reserve_transfer_assets` instead.**", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `[Parent,", + " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from", + " relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will", + " generally be an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the", + " fee on the `dest` (and possibly reserve) chains.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "Execute an XCM message from a local, signed, origin.", + "", + "An event is deposited indicating whether `msg` could be executed completely or only", + "partially.", + "", + "No more than `max_weight` will be used in its attempted execution. If this is less than", + "the maximum amount of weight that the message could take to be executed, then no", + "execution attempt will be made." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@322", + "type_name": "Box::RuntimeCall>>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "Extoll that a particular destination can be communicated with through a particular", + "version of XCM.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `location`: The destination that is being described.", + "- `xcm_version`: The latest version of XCM that `location` supports." + ], + "args": [ + { + "name": "location", + "type": "staging_xcm:v4:location:Location", + "type_name": "Box" + }, + { + "name": "version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "Set a safe XCM version (the version that XCM should be encoded with if the most recent", + "version a destination can accept is unknown).", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "Ask a location to notify us regarding their XCM version and any changes to it.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `location`: The location to which we should subscribe for XCM version notifications." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "Require that a particular destination should no longer notify us regarding any XCM", + "version changes.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `location`: The location to which we are currently subscribed for XCM version", + " notifications which we no longer desire." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the destination chain through their local,", + "destination or remote reserve.", + "", + "`assets` must have same reserve location and may not be teleportable to `dest`.", + " - `assets` have local reserve: transfer assets to sovereign account of destination", + " chain and forward a notification XCM to `dest` to mint and deposit reserve-based", + " assets to `beneficiary`.", + " - `assets` have destination reserve: burn local assets and forward a notification to", + " `dest` chain to withdraw the reserve assets from this chain's sovereign account and", + " deposit them to `beneficiary`.", + " - `assets` have remote reserve: burn local assets, forward XCM to reserve chain to move", + " reserves from this chain's SA to `dest` chain's SA, and forward another XCM to `dest`", + " to mint and deposit reserve-based assets to `beneficiary`.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the sent assets may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `[Parent,", + " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from", + " relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will", + " generally be an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the", + " fee on the `dest` (and possibly reserve) chains.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the sent assets may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `[Parent,", + " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from", + " relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will", + " generally be an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the", + " fee on the `dest` chain.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f0a", + "name": "force_suspension", + "docs": [ + "Set or unset the global suspension state of the XCM executor.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `suspended`: `true` to suspend, `false` to resume." + ], + "args": [ + { + "name": "suspended", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "1f0b", + "name": "transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the destination chain through their local,", + "destination or remote reserve, or through teleports.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item` (hence referred to as `fees`), up to enough to pay for", + "`weight_limit` of weight. If more weight is needed than `weight_limit`, then the", + "operation will fail and the sent assets may be at risk.", + "", + "`assets` (excluding `fees`) must have same reserve location or otherwise be teleportable", + "to `dest`, no limitations imposed on `fees`.", + " - for local reserve: transfer assets to sovereign account of destination chain and", + " forward a notification XCM to `dest` to mint and deposit reserve-based assets to", + " `beneficiary`.", + " - for destination reserve: burn local assets and forward a notification to `dest` chain", + " to withdraw the reserve assets from this chain's sovereign account and deposit them", + " to `beneficiary`.", + " - for remote reserve: burn local assets, forward XCM to reserve chain to move reserves", + " from this chain's SA to `dest` chain's SA, and forward another XCM to `dest` to mint", + " and deposit reserve-based assets to `beneficiary`.", + " - for teleports: burn local assets and forward XCM to `dest` chain to mint/teleport", + " assets and deposit them to `beneficiary`.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent,", + " Parachain(..))` to send from parachain to parachain, or `X1(Parachain(..))` to send", + " from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will", + " generally be an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the", + " fee on the `dest` (and possibly reserve) chains.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f0c", + "name": "claim_assets", + "docs": [ + "Claims assets trapped on this pallet because of leftover assets during XCM execution.", + "", + "- `origin`: Anyone can call this extrinsic.", + "- `assets`: The exact assets that were trapped. Use the version to specify what version", + "was the latest when they were trapped.", + "- `beneficiary`: The location/account where the claimed assets will be deposited." + ], + "args": [ + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f0d", + "name": "transfer_assets_using_type_and_then", + "docs": [ + "Transfer assets from the local chain to the destination chain using explicit transfer", + "types for assets and fees.", + "", + "`assets` must have same reserve location or may be teleportable to `dest`. Caller must", + "provide the `assets_transfer_type` to be used for `assets`:", + " - `TransferType::LocalReserve`: transfer assets to sovereign account of destination", + " chain and forward a notification XCM to `dest` to mint and deposit reserve-based", + " assets to `beneficiary`.", + " - `TransferType::DestinationReserve`: burn local assets and forward a notification to", + " `dest` chain to withdraw the reserve assets from this chain's sovereign account and", + " deposit them to `beneficiary`.", + " - `TransferType::RemoteReserve(reserve)`: burn local assets, forward XCM to `reserve`", + " chain to move reserves from this chain's SA to `dest` chain's SA, and forward another", + " XCM to `dest` to mint and deposit reserve-based assets to `beneficiary`. Typically", + " the remote `reserve` is Asset Hub.", + " - `TransferType::Teleport`: burn local assets and forward XCM to `dest` chain to", + " mint/teleport assets and deposit them to `beneficiary`.", + "", + "On the destination chain, as well as any intermediary hops, `BuyExecution` is used to", + "buy execution using transferred `assets` identified by `remote_fees_id`.", + "Make sure enough of the specified `remote_fees_id` asset is included in the given list", + "of `assets`. `remote_fees_id` should be enough to pay for `weight_limit`. If more weight", + "is needed than `weight_limit`, then the operation will fail and the sent assets may be", + "at risk.", + "", + "`remote_fees_id` may use different transfer type than rest of `assets` and can be", + "specified through `fees_transfer_type`.", + "", + "The caller needs to specify what should happen to the transferred assets once they reach", + "the `dest` chain. This is done through the `custom_xcm_on_dest` parameter, which", + "contains the instructions to execute on `dest` as a final step.", + " This is usually as simple as:", + " `Xcm(vec![DepositAsset { assets: Wild(AllCounted(assets.len())), beneficiary }])`,", + " but could be something more exotic like sending the `assets` even further.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `[Parent,", + " Parachain(..)]` to send from parachain to parachain, or `[Parachain(..)]` to send from", + " relay to parachain, or `(parents: 2, (GlobalConsensus(..), ..))` to send from", + " parachain across a bridge to another ecosystem destination.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the", + " fee on the `dest` (and possibly reserve) chains.", + "- `assets_transfer_type`: The XCM `TransferType` used to transfer the `assets`.", + "- `remote_fees_id`: One of the included `assets` to be used to pay fees.", + "- `fees_transfer_type`: The XCM `TransferType` used to transfer the `fees` assets.", + "- `custom_xcm_on_dest`: The XCM to be executed on `dest` chain as the last step of the", + " transfer, which also determines what happens to the assets on the destination chain.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedAssets", + "type_name": "Box" + }, + { + "name": "assets_transfer_type", + "type": "staging_xcm_executor:traits:asset_transfer:TransferType", + "type_name": "Box" + }, + { + "name": "remote_fees_id", + "type": "xcm:VersionedAssetId", + "type_name": "Box" + }, + { + "name": "fees_transfer_type", + "type": "staging_xcm_executor:traits:asset_transfer:TransferType", + "type_name": "Box" + }, + { + "name": "custom_xcm_on_dest", + "type": "xcm:VersionedXcm@305", + "type_name": "Box>" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + } + ], + "calls_value": { + "type": 304 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted." + ], + "args": [ + "staging_xcm:v4:traits:Outcome" + ], + "args_name": [ + "outcome" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent." + ], + "args": [ + "staging_xcm:v4:location:Location", + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "origin", + "destination", + "message", + "message_id" + ], + "args_type_name": [ + "Location", + "Location", + "Xcm<()>", + "XcmHash" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "Location", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call." + ], + "args": [ + "U64", + "staging_xcm:v4:Response" + ], + "args_name": [ + "query_id", + "response" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification", + "could not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result." + ], + "args": [ + "U64", + "U8", + "U8", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index", + "actual_weight", + "max_budgeted_weight" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`." + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "query_id", + "pallet_index", + "call_index" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64", + "option" + ], + "args_name": [ + "origin", + "query_id", + "expected_location" + ], + "args_type_name": [ + "Location", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "Location", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed." + ], + "args": [ + "U64" + ], + "args_name": [ + "query_id" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap." + ], + "args": [ + "H256", + "staging_xcm:v4:location:Location", + "xcm:VersionedAssets" + ], + "args_name": [ + "hash", + "origin", + "assets" + ], + "args_type_name": [ + "H256", + "Location", + "VersionedAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "The cost of sending it (borne by the chain) is included." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U32", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "result", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "XcmVersion", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U32" + ], + "args_name": [ + "location", + "version" + ], + "args_type_name": [ + "Location", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64", + "xcm:v3:traits:Error" + ], + "args_name": [ + "location", + "query_id", + "error" + ], + "args_type_name": [ + "Location", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format." + ], + "args": [ + "xcm:VersionedLocation", + "U64" + ], + "args_name": [ + "location", + "query_id" + ], + "args_type_name": [ + "VersionedLocation", + "QueryId" + ] + }, + { + "lookup": "1f10", + "name": "InvalidQuerierVersion", + "docs": [ + "Expected query response has been received but the expected querier location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64" + ], + "args_name": [ + "origin", + "query_id" + ], + "args_type_name": [ + "Location", + "QueryId" + ] + }, + { + "lookup": "1f11", + "name": "InvalidQuerier", + "docs": [ + "Expected query response has been received but the querier location of the response does", + "not match the expected. The query remains registered for a later, valid, response to", + "be received and acted upon." + ], + "args": [ + "staging_xcm:v4:location:Location", + "U64", + "staging_xcm:v4:location:Location", + "option" + ], + "args_name": [ + "origin", + "query_id", + "expected_querier", + "maybe_actual_querier" + ], + "args_type_name": [ + "Location", + "QueryId", + "Location", + "Option" + ] + }, + { + "lookup": "1f12", + "name": "VersionNotifyStarted", + "docs": [ + "A remote has requested XCM version change notification from us and we have honored it.", + "A version information message is sent to them and its cost is included." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f13", + "name": "VersionNotifyRequested", + "docs": [ + "We have requested that a remote chain send us XCM version change notifications." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f14", + "name": "VersionNotifyUnrequested", + "docs": [ + "We have requested that a remote chain stops sending us XCM version change", + "notifications." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec", + "[U8; 32]" + ], + "args_name": [ + "destination", + "cost", + "message_id" + ], + "args_type_name": [ + "Location", + "Assets", + "XcmHash" + ] + }, + { + "lookup": "1f15", + "name": "FeesPaid", + "docs": [ + "Fees were paid from a location for an operation (often for using `SendXcm`)." + ], + "args": [ + "staging_xcm:v4:location:Location", + "Vec" + ], + "args_name": [ + "paying", + "fees" + ], + "args_type_name": [ + "Location", + "Assets" + ] + }, + { + "lookup": "1f16", + "name": "AssetsClaimed", + "docs": [ + "Some assets have been claimed from an asset trap" + ], + "args": [ + "H256", + "staging_xcm:v4:location:Location", + "xcm:VersionedAssets" + ], + "args_name": [ + "hash", + "origin", + "assets" + ], + "args_type_name": [ + "H256", + "Location", + "VersionedAssets" + ] + }, + { + "lookup": "1f17", + "name": "VersionMigrationFinished", + "docs": [ + "A XCM version migration finished." + ], + "args": [ + "U32" + ], + "args_name": [ + "version" + ], + "args_type_name": [ + "XcmVersion" + ] + } + ], + "events_value": { + "type": 52 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message.", + "Perhaps a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `Location` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + }, + { + "name": "CannotCheckOutTeleport", + "doc": [ + "Could not check-out the assets for teleportation to the destination chain." + ] + }, + { + "name": "LowBalance", + "doc": [ + "The owner does not own (all) of the asset that they wish to do the operation on." + ] + }, + { + "name": "TooManyLocks", + "doc": [ + "The asset owner has too many locks on the asset." + ] + }, + { + "name": "AccountNotSovereign", + "doc": [ + "The given account is not an identifiable sovereign account for any location." + ] + }, + { + "name": "FeesNotMet", + "doc": [ + "The operation required fees to be paid which the initiator could not meet." + ] + }, + { + "name": "LockNotFound", + "doc": [ + "A remote lock with the corresponding data could not be found." + ] + }, + { + "name": "InUse", + "doc": [ + "The unlock operation cannot succeed because there are still consumers of the lock." + ] + }, + { + "name": "InvalidAssetUnknownReserve", + "doc": [ + "Invalid asset, reserve chain could not be determined for it." + ] + }, + { + "name": "InvalidAssetUnsupportedReserve", + "doc": [ + "Invalid asset, do not support remote asset reserves with different fees reserves." + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Too many assets with different reserve locations have been attempted for transfer." + ] + }, + { + "name": "LocalExecutionIncomplete", + "doc": [ + "Local XCM execution incomplete." + ] + } + ], + "errors_value": { + "type": 334 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "calls_value": { + "type": 335 + }, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 32]", + "staging_xcm:v4:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 32]", + "Outcome" + ] + } + ], + "events_value": { + "type": 117 + }, + "errors": null, + "errors_value": null, + "index": 32 + }, + { + "name": "ToKusamaXcmRouter", + "prefix": "ToKusamaXcmRouter", + "storage": [ + { + "name": "Bridge", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "bp_xcm_bridge_hub_router:BridgeState", + "PlainTypeValue": 336 + }, + "fallback": "0x000064a7b3b6e00d000000000000000000", + "docs": [ + " Bridge that we are using.", + "", + " **bridges-v1** assumptions: all outbound messages through this router are using single lane", + " and to single remote consensus. If there is some other remote consensus that uses the same", + " bridge hub, the separate pallet instance shall be used, In `v2` we'll have all required", + " primitives (lane-id aka bridge-id, derived from XCM locations) to support multiple bridges", + " by the same pallet instance." + ] + } + ], + "calls": [ + { + "lookup": "2200", + "name": "report_bridge_status", + "docs": [ + "Notification about congested bridge queue." + ], + "args": [ + { + "name": "bridge_id", + "type": "H256", + "type_name": "H256" + }, + { + "name": "is_congested", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 337 + }, + "errors": null, + "errors_value": null, + "index": 34 + }, + { + "name": "MessageQueue", + "prefix": "MessageQueue", + "storage": [ + { + "name": "BookStateFor", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "cumulus_primitives_core:AggregateMessageOrigin" + ], + "value": "pallet_message_queue:BookState", + "keys_id": 119, + "value_id": 338 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The index of the first and last (non-empty) pages." + ] + }, + { + "name": "ServiceHead", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_primitives_core:AggregateMessageOrigin", + "PlainTypeValue": 119 + }, + "fallback": "0x00", + "docs": [ + " The origin at which we should begin servicing." + ] + }, + { + "name": "Pages", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Twox64Concat" + ], + "key_vec": [ + "cumulus_primitives_core:AggregateMessageOrigin", + "U32" + ], + "value": "pallet_message_queue:Page", + "keys_id": 341, + "value_id": 342 + } + }, + "fallback": "0x00", + "docs": [ + " The map of page indices to pages." + ] + } + ], + "calls": [ + { + "lookup": "2300", + "name": "reap_page", + "docs": [ + "Remove a page which has no more messages remaining to be processed or is stale." + ], + "args": [ + { + "name": "message_origin", + "type": "cumulus_primitives_core:AggregateMessageOrigin", + "type_name": "MessageOriginOf" + }, + { + "name": "page_index", + "type": "U32", + "type_name": "PageIndex" + } + ] + }, + { + "lookup": "2301", + "name": "execute_overweight", + "docs": [ + "Execute an overweight message.", + "", + "Temporary processing errors will be propagated whereas permanent errors are treated", + "as success condition.", + "", + "- `origin`: Must be `Signed`.", + "- `message_origin`: The origin from which the message to be executed arrived.", + "- `page`: The page in the queue in which the message to be executed is sitting.", + "- `index`: The index into the queue of the message to be executed.", + "- `weight_limit`: The maximum amount of weight allowed to be consumed in the execution", + " of the message.", + "", + "Benchmark complexity considerations: O(index + weight_limit)." + ], + "args": [ + { + "name": "message_origin", + "type": "cumulus_primitives_core:AggregateMessageOrigin", + "type_name": "MessageOriginOf" + }, + { + "name": "page", + "type": "U32", + "type_name": "PageIndex" + }, + { + "name": "index", + "type": "U32", + "type_name": "Size" + }, + { + "name": "weight_limit", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 344 + }, + "events": [ + { + "lookup": "2300", + "name": "ProcessingFailed", + "docs": [ + "Message discarded due to an error in the `MessageProcessor` (usually a format error)." + ], + "args": [ + "H256", + "cumulus_primitives_core:AggregateMessageOrigin", + "frame_support:traits:messages:ProcessMessageError" + ], + "args_name": [ + "id", + "origin", + "error" + ], + "args_type_name": [ + "H256", + "MessageOriginOf", + "ProcessMessageError" + ] + }, + { + "lookup": "2301", + "name": "Processed", + "docs": [ + "Message is processed." + ], + "args": [ + "H256", + "cumulus_primitives_core:AggregateMessageOrigin", + "sp_weights:weight_v2:Weight", + "Bool" + ], + "args_name": [ + "id", + "origin", + "weight_used", + "success" + ], + "args_type_name": [ + "H256", + "MessageOriginOf", + "Weight", + "bool" + ] + }, + { + "lookup": "2302", + "name": "OverweightEnqueued", + "docs": [ + "Message placed in overweight queue." + ], + "args": [ + "[U8; 32]", + "cumulus_primitives_core:AggregateMessageOrigin", + "U32", + "U32" + ], + "args_name": [ + "id", + "origin", + "page_index", + "message_index" + ], + "args_type_name": [ + "[u8; 32]", + "MessageOriginOf", + "PageIndex", + "Size" + ] + }, + { + "lookup": "2303", + "name": "PageReaped", + "docs": [ + "This page was reaped." + ], + "args": [ + "cumulus_primitives_core:AggregateMessageOrigin", + "U32" + ], + "args_name": [ + "origin", + "index" + ], + "args_type_name": [ + "MessageOriginOf", + "PageIndex" + ] + } + ], + "events_value": { + "type": 118 + }, + "constants": [ + { + "name": "HeapSize", + "type": "U32", + "type_value": 4, + "constants_value": "00000100", + "docs": [ + " The size of the page; this implies the maximum message size which can be sent.", + "", + " A good value depends on the expected message sizes, their weights, the weight that is", + " available for processing them and the maximal needed message size. The maximal message", + " size is slightly lower than this as defined by [`MaxMessageLenOf`]." + ] + }, + { + "name": "MaxStale", + "type": "U32", + "type_value": 4, + "constants_value": "08000000", + "docs": [ + " The maximum number of stale pages (i.e. of overweight messages) allowed before culling", + " can happen. Once there are more stale pages than this, then historical pages may be", + " dropped, even if they contain unprocessed overweight messages." + ] + }, + { + "name": "ServiceWeight", + "type": "option", + "type_value": 166, + "constants_value": "01070016d0be2802007000", + "docs": [ + " The amount of weight (if any) which should be provided to the message queue for", + " servicing enqueued items `on_initialize`.", + "", + " This may be legitimately `None` in the case that you will call", + " `ServiceQueues::service_queues` manually or set [`Self::IdleMaxServiceWeight`] to have", + " it run in `on_idle`." + ] + }, + { + "name": "IdleMaxServiceWeight", + "type": "option", + "type_value": 166, + "constants_value": "010700e876481702004000", + "docs": [ + " The maximum amount of weight (if any) to be used from remaining weight `on_idle` which", + " should be provided to the message queue for servicing enqueued items `on_idle`.", + " Useful for parachains to process messages at the same block they are received.", + "", + " If `None`, it will not call `ServiceQueues::service_queues` in `on_idle`." + ] + } + ], + "errors": [ + { + "name": "NotReapable", + "doc": [ + "Page is not reapable because it has items remaining to be processed and is not old", + "enough." + ] + }, + { + "name": "NoPage", + "doc": [ + "Page to be reaped does not exist." + ] + }, + { + "name": "NoMessage", + "doc": [ + "The referenced message could not be found." + ] + }, + { + "name": "AlreadyProcessed", + "doc": [ + "The message was already processed and cannot be processed again." + ] + }, + { + "name": "Queued", + "doc": [ + "The message is queued for future execution." + ] + }, + { + "name": "InsufficientWeight", + "doc": [ + "There is temporarily not enough weight to continue servicing messages." + ] + }, + { + "name": "TemporarilyUnprocessable", + "doc": [ + "This message is temporarily unprocessable.", + "", + "Such errors are expected, but not guaranteed, to resolve themselves eventually through", + "retrying." + ] + }, + { + "name": "QueuePaused", + "doc": [ + "The queue is paused and no message can be executed from it.", + "", + "This can change at any time and may resolve in the future by re-trying." + ] + }, + { + "name": "RecursiveDisallowed", + "doc": [ + "Another call is in progress and needs to finish before this call can happen." + ] + } + ], + "errors_value": { + "type": 345 + }, + "index": 35 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "Send a batch of dispatch calls.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatched without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "## Complexity", + "- O(C) where C is the number of calls to be batched.", + "", + "This will return `Ok` in all circumstances. To determine the success of the batch, an", + "event is deposited. If a call failed and the batch was interrupted, then the", + "`BatchInterrupted` event is deposited, along with the number of successful calls made", + "and the error of the failed call. If all were successful, then the `BatchCompleted`", + "event is deposited." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "Send a call through an indexed pseudonym of the sender.", + "", + "Filter from origin are passed along. The call will be dispatched with an origin which", + "use the same filter as the origin of this call.", + "", + "NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", + "because you expect `proxy` to have been used prior in the call stack and you do not want", + "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", + "in the Multisig pallet instead.", + "", + "NOTE: Prior to version *12, this was called `as_limited_sub`.", + "", + "The dispatch origin for this call must be _Signed_." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "Send a batch of dispatch calls and atomically execute them.", + "The whole transaction will rollback and fail if any of the calls failed.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatched without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "## Complexity", + "- O(C) where C is the number of calls to be batched." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "Dispatches a function call with a provided origin.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "## Complexity", + "- O(1)." + ], + "args": [ + { + "name": "as_origin", + "type": "asset_hub_polkadot_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2804", + "name": "force_batch", + "docs": [ + "Send a batch of dispatch calls.", + "Unlike `batch`, it allows errors and won't interrupt.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatch without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "## Complexity", + "- O(C) where C is the number of calls to be batched." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2805", + "name": "with_weight", + "docs": [ + "Dispatch a function call with a specified weight.", + "", + "This function does not check the weight of the call, and instead allows the", + "Root origin to specify the weight of the call.", + "", + "The dispatch origin for this call must be _Root_." + ], + "args": [ + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 346 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "BatchCompletedWithErrors", + "docs": [ + "Batch of dispatches completed but has errors." + ], + "args": null + }, + { + "lookup": "2803", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2804", + "name": "ItemFailed", + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ], + "args": [ + "sp_runtime:DispatchError" + ], + "args_name": [ + "error" + ], + "args_type_name": [ + "DispatchError" + ] + }, + { + "lookup": "2805", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 122 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 388 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 389, + "value_id": 390 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "Immediately dispatch a multi-signature call using a single approval from the caller.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `other_signatories`: The accounts (other than the sender) who are part of the", + "multi-signature, but do not participate in the approval process.", + "- `call`: The call to be executed.", + "", + "Result is equivalent to the dispatched result.", + "", + "## Complexity", + "O(Z + C) where Z is the length of the call and C its execution weight." + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "If there are enough, then dispatch the call.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call`: The call to be executed.", + "", + "NOTE: Unless this is the final approval, you will generally want to use", + "`approve_as_multi` instead, since it only requires a hash of the call.", + "", + "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", + "on success, result is `Ok` and the result from the interior call, if it was executed,", + "may be found in the deposited `MultisigExecuted` event.", + "", + "## Complexity", + "- `O(S + Z + Call)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- The weight of the `call`.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call_hash`: The hash of the call to be executed.", + "", + "NOTE: If this is the final approval, you will want to use `as_multi` instead.", + "", + "## Complexity", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", + "for this operation will be unreserved on success.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `timepoint`: The timepoint (block number and transaction index) of the first approval", + "transaction for this dispatch.", + "- `call_hash`: The hash of the call to be executed.", + "", + "## Complexity", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- One event.", + "- I/O: 1 read `O(S)`, one remove.", + "- Storage: removes one item." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 349 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 125 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00dbbb77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "00d43000000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U32", + "type_value": 4, + "constants_value": "64000000", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 392 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@394U128", + "keys_id": 0, + "value_id": 393 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@398U128", + "keys_id": 0, + "value_id": 397 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorised for through", + "`add_proxy`.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "Register a proxy account for the sender that is able to make calls on its behalf.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to make a proxy.", + "- `proxy_type`: The permissions allowed for this proxy account.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "Unregister a proxy account for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to remove as a proxy.", + "- `proxy_type`: The permissions currently enabled for the removed proxy account." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "Unregister all proxy accounts for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "WARNING: This may be called on accounts created by `pure`, however if done, then", + "the unreserved fees will be inaccessible. **All access to this account will be lost.**" + ], + "args": null + }, + { + "lookup": "2a04", + "name": "create_pure", + "docs": [ + "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", + "initialize it with a proxy of `proxy_type` for `origin` sender.", + "", + "Requires a `Signed` origin.", + "", + "- `proxy_type`: The type of the proxy that the sender will be registered as over the", + "new account. This will almost always be the most permissive `ProxyType` possible to", + "allow for maximum flexibility.", + "- `index`: A disambiguation index, in case this is called multiple times in the same", + "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", + "want to use `0`.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "Fails with `Duplicate` if this has already been called in this transaction, from the", + "same sender, with the same parameters.", + "", + "Fails if there are insufficient funds to pay for deposit." + ], + "args": [ + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumberFor" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_pure", + "docs": [ + "Removes a previously spawned pure proxy.", + "", + "WARNING: **All access to this account will be lost.** Any funds held in it will be", + "inaccessible.", + "", + "Requires a `Signed` origin, and the sender account must have been created by a call to", + "`pure` with corresponding parameters.", + "", + "- `spawner`: The account that originally called `pure` to create this account.", + "- `index`: The disambiguation index originally passed to `pure`. Probably `0`.", + "- `proxy_type`: The proxy type originally passed to `pure`.", + "- `height`: The height of the chain when the call to `pure` was processed.", + "- `ext_index`: The extrinsic index in which the call to `pure` was processed.", + "", + "Fails with `NoPermission` in case the caller is not a previously created pure", + "account whose `pure` call has corresponding parameters." + ], + "args": [ + { + "name": "spawner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "asset_hub_polkadot_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumberFor" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "Publish the hash of a proxy-call that will be made in the future.", + "", + "This must be called some number of blocks before the corresponding `proxy` is attempted", + "if the delay associated with the proxy relationship is greater than zero.", + "", + "No more than `MaxPending` announcements may be made at any one time.", + "", + "This will take a deposit of `AnnouncementDepositFactor` as well as", + "`AnnouncementDepositBase` if there are no other pending announcements.", + "", + "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "Remove a given announcement.", + "", + "May be called by a proxy account to remove a call they previously announced and return", + "the deposit.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "Remove the given announcement of a delegate.", + "", + "May be called by a target (proxied) account to remove a call that one of their delegates", + "(`delegate`) has announced they want to execute. The deposit is returned.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `delegate`: The account that previously announced the call.", + "- `call_hash`: The hash of the call to be made." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorized for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + } + ], + "calls_value": { + "type": 351 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "PureCreated", + "docs": [ + "A pure account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U16" + ], + "args_name": [ + "pure", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumberFor" + ] + }, + { + "lookup": "2a04", + "name": "ProxyRemoved", + "docs": [ + "A proxy was removed." + ], + "args": [ + "AccountId", + "AccountId", + "asset_hub_polkadot_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumberFor" + ] + } + ], + "events_value": { + "type": 127 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "009d7277000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "a05a3200000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00d27e77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "40b56400000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 401 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 402 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 404, + "value_id": 405 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 408, + "value_id": 409 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata@410", + "keys_id": 4, + "value_id": 410 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + }, + { + "name": "NextAssetId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " The asset ID enforced for the next asset creation, if any present. Otherwise, this storage", + " item has no effect.", + "", + " This can be useful for setting up constraints for IDs of the new assets. For example, by", + " providing an initial [`NextAssetId`] and using the [`crate::AutoIncAssetId`] callback, an", + " auto-increment model can be applied to all new asset IDs.", + "", + " The initial next asset ID can be set using the [`GenesisConfig`] or the", + " [SetNextAssetId](`migration::next_asset_id::SetNextAssetId`) migration." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset. If [`NextAssetId`] is set, then this must be equal to it.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset. If [`NextAssetId`] is set, then this must be equal to it.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "start_destroy", + "docs": [ + "Start the process of destroying a fungible asset class.", + "", + "`start_destroy` is the first in a series of extrinsics that should be called, to allow", + "destruction of an asset class.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "The asset class must be frozen before calling `start_destroy`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3203", + "name": "destroy_accounts", + "docs": [ + "Destroy all accounts associated with a given asset.", + "", + "`destroy_accounts` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedAccounts` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3204", + "name": "destroy_approvals", + "docs": [ + "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).", + "", + "`destroy_approvals` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedApprovals` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3205", + "name": "finish_destroy", + "docs": [ + "Complete destroying asset and unreserve currency.", + "", + "`finish_destroy` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state. All accounts or approvals should be destroyed before", + "hand.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each successful call emits the `Event::Destroyed` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3206", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3209", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320a", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320b", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`", + "must already exist as an entry in `Account`s of the asset. If you want to freeze an", + "account that does not have an entry, use `touch_other` first.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320c", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers to and from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320d", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320e", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320f", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3210", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3211", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3212", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3213", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3214", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3215", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3216", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3218", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3219", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321a", + "name": "touch", + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "321b", + "name": "refund", + "docs": [ + "Return the deposit (if any) of an asset account or a consumer reference (if any) of an", + "account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for which the caller would like the deposit", + " refunded.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "321c", + "name": "set_min_balance", + "docs": [ + "Sets the minimum balance of an asset.", + "", + "Only works if there aren't any accounts that are holding the asset or if", + "the new value of `min_balance` is less than the old one.", + "", + "Origin must be Signed and the sender has to be the Owner of the", + "asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `min_balance`: The new value of `min_balance`.", + "", + "Emits `AssetMinBalanceChanged` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321d", + "name": "touch_other", + "docs": [ + "Create an asset account for `who`.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account", + " must have sufficient funds for a deposit to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "- `who`: The account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "321e", + "name": "refund_other", + "docs": [ + "Return the deposit (if any) of a target asset account. Useful if you are the depositor.", + "", + "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In", + "order to burn a non-zero balance of the asset, the caller must be the account and should", + "use `refund`.", + "", + "- `id`: The identifier of the asset for the account holding a deposit.", + "- `who`: The account to refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "321f", + "name": "block", + "docs": [ + "Disallow further unprivileged transfers of an asset `id` to and from an account `who`.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the account's asset.", + "- `who`: The account to be unblocked.", + "", + "Emits `Blocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 353 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3210", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3211", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3212", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3213", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3214", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3215", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "U32", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3216", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3217", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3218", + "name": "Deposited", + "docs": [ + "Some assets were deposited (e.g. for transaction fees)." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "who", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3219", + "name": "Withdrawn", + "docs": [ + "Some assets were withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "who", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 130 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "c07e5778000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + }, + { + "name": "BadAssetId", + "doc": [ + "The asset ID must be equal to the [`NextAssetId`]." + ] + } + ], + "errors_value": { + "type": 412 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionDetails", + "keys_id": 4, + "value_id": 413 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 414, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 415, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemDetails", + "keys_id": 155, + "value_id": 416 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionMetadata", + "keys_id": 4, + "value_id": 417 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemMetadata", + "keys_id": 155, + "value_id": 418 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 419, + "value_id": 420 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 155, + "value_id": 421 + } + }, + "fallback": "0x00", + "docs": [ + " Price of an asset instance." + ] + }, + { + "name": "CollectionMaxSupply", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U32", + "keys_id": 4, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " Keeps track of the number of items a collection might have." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "`ItemDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `collection`: The identifier of the new collection. This must not be currently in use.", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `collection`: The identifier of the new item. This must not be currently in use.", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions", + "over this item, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.items`", + "- `m = witness.item_metadatas`", + "- `a = witness.attributes`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must be the Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: The item value of the item to be minted.", + "- `beneficiary`: The initial owner of the minted item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "Destroy a single item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item of the item to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " item is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "Move an item from the sender account to another.", + "", + "This resets the approved account of the item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item of the item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "Reevaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown of the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be frozen.", + "- `item`: The item of the item to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be thawed.", + "- `item`: The item of the item to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_collection", + "docs": [ + "Disallow further unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "", + "Emits `CollectionFrozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_collection", + "docs": [ + "Re-allow unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection to be thawed.", + "", + "Emits `CollectionThawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "new_owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be", + "either the owner of the `item` or the admin of the collection.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item of the item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "", + "Important NOTE: The `approved` account gets reset after each transfer.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "Cancel the prior approval for the transfer of an item by a delegate.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the `collection`;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the item of whose approval will be cancelled.", + "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", + " which permission of transfer is delegated.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "330f", + "name": "force_item_status", + "docs": [ + "Alter the attributes of a given item.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the item.", + "- `owner`: The new Owner of this item.", + "- `issuer`: The new Issuer of this item.", + "- `admin`: The new Admin of this item.", + "- `freezer`: The new Freezer of this item.", + "- `free_holding`: Whether a deposit is taken for holding an item of this collection.", + "- `is_frozen`: Whether this collection is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `ItemStatusChanged` with the identity of the item.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3314", + "name": "set_collection_metadata", + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_collection_metadata", + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "3316", + "name": "set_accept_ownership", + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3317", + "name": "set_collection_max_supply", + "docs": [ + "Set the maximum amount of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Note: This function can only succeed once per collection.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum amount of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "3318", + "name": "set_price", + "docs": [ + "Set (or reset) the price for an item.", + "", + "Origin must be Signed and must be the owner of the asset `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item to set the price for.", + "- `price`: The price for the item. Pass `None`, to reset the price.", + "- `buyer`: Restricts the buy operation to a specific account.", + "", + "Emits `ItemPriceSet` on success if the price is not `None`.", + "Emits `ItemPriceRemoved` on success if the price is `None`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3319", + "name": "buy_item", + "docs": [ + "Allows to buy an item if it's up for sale.", + "", + "Origin must be Signed and must not be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item the sender wants to buy.", + "- `bid_price`: The price the sender is willing to pay.", + "", + "Emits `ItemBought` on success." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + } + ], + "calls_value": { + "type": 354 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some `item` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some `item` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3308", + "name": "CollectionFrozen", + "docs": [ + "Some `collection` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3309", + "name": "CollectionThawed", + "docs": [ + "Some `collection` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "ItemStatusChanged", + "docs": [ + "A `collection` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330f", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "item", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec" + ] + }, + { + "lookup": "3316", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "3317", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "3318", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the instance." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "3319", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the instance was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "331a", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + } + ], + "events_value": { + "type": 131 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The item ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The item or collection is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership of the collection is acceptable." + ] + }, + { + "name": "Locked", + "doc": [ + "The item is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyAlreadySet", + "doc": [ + "The max supply has already been set." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less to the amount of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + } + ], + "errors_value": { + "type": 422 + }, + "index": 51 + }, + { + "name": "Nfts", + "prefix": "Nfts", + "storage": [ + { + "name": "Collection", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionDetails", + "keys_id": 4, + "value_id": 423 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 414, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "CollectionAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 415, + "value_id": 124 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "CollectionRoleOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "U8", + "keys_id": 404, + "value_id": 424 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details.", + " Stores collection roles as per account." + ] + }, + { + "name": "Item", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:ItemDetails", + "keys_id": 155, + "value_id": 426 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "CollectionMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionMetadata", + "keys_id": 4, + "value_id": 432 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "ItemMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:ItemMetadata", + "keys_id": 155, + "value_id": 433 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "pallet_nfts:types:AttributeNamespace", + "Vec" + ], + "value": "Tuple:Vecpallet_nfts:types:AttributeDeposit", + "keys_id": 435, + "value_id": 436 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 155, + "value_id": 421 + } + }, + "fallback": "0x00", + "docs": [ + " A price of an item." + ] + }, + { + "name": "ItemAttributesApprovalsOf", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 155, + "value_id": 438 + } + }, + "fallback": "0x00", + "docs": [ + " Item attribute approvals." + ] + }, + { + "name": "NextCollectionId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Stores the `CollectionId` that is going to be used for the next collection.", + " This gets incremented whenever a new collection is created." + ] + }, + { + "name": "PendingSwapOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:PendingSwap", + "keys_id": 155, + "value_id": 440 + } + }, + "fallback": "0x00", + "docs": [ + " Handles all the pending swaps." + ] + }, + { + "name": "CollectionConfigOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionConfig", + "keys_id": 4, + "value_id": 359 + } + }, + "fallback": "0x00", + "docs": [ + " Config of a collection." + ] + }, + { + "name": "ItemConfigOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "U64", + "keys_id": 155, + "value_id": 369 + } + }, + "fallback": "0x00", + "docs": [ + " Config of an item." + ] + } + ], + "calls": [ + { + "lookup": "3400", + "name": "create", + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "`CollectionDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "3401", + "name": "force_create", + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions over this item, but may later change and configure the permissions using", + " `transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "3402", + "name": "destroy", + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "NOTE: The collection must have 0 items to be destroyed.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(m + c + a)` where:", + "- `m = witness.item_metadatas`", + "- `c = witness.item_configs`", + "- `a = witness.attributes`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_nfts:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3403", + "name": "mint", + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must comply with the `mint_settings` rules.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: An identifier of the new item.", + "- `mint_to`: Account into which the item will be minted.", + "- `witness_data`: When the mint type is `HolderOf(collection_id)`, then the owned", + " item_id from that collection needs to be provided within the witness data object. If", + " the mint price is set, then it should be additionally confirmed in the `witness_data`.", + "", + "Note: the deposit will be taken from the `origin` and not the `owner` of the `item`.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "mint_to", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "witness_data", + "type": "option", + "type_name": "Option>" + } + ] + }, + { + "lookup": "3404", + "name": "force_mint", + "docs": [ + "Mint an item of a particular collection from a privileged origin.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: An identifier of the new item.", + "- `mint_to`: Account into which the item will be minted.", + "- `item_config`: A config of the new item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "mint_to", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "item_config", + "type": "U64", + "type_name": "ItemConfig" + } + ] + }, + { + "lookup": "3405", + "name": "burn", + "docs": [ + "Destroy a single item.", + "", + "The origin must conform to `ForceOrigin` or must be Signed and the signing account must", + "be the owner of the `item`.", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item to be burned.", + "", + "Emits `Burned`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3406", + "name": "transfer", + "docs": [ + "Move an item from the sender account to another.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3407", + "name": "redeposit", + "docs": [ + "Re-evaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection of the items to be reevaluated.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown or the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3408", + "name": "lock_item_transfer", + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be changed.", + "- `item`: The item to become non-transferable.", + "", + "Emits `ItemTransferLocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3409", + "name": "unlock_item_transfer", + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be changed.", + "- `item`: The item to become transferable.", + "", + "Emits `ItemTransferUnlocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "340a", + "name": "lock_collection", + "docs": [ + "Disallows specified settings for the whole collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection to be locked.", + "- `lock_settings`: The settings to be locked.", + "", + "Note: it's possible to only lock(set) the setting, but not to unset it.", + "", + "Emits `CollectionLocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "lock_settings", + "type": "U64", + "type_name": "CollectionSettings" + } + ] + }, + { + "lookup": "340b", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "new_owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "340c", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Note: by setting the role to `None` only the `ForceOrigin` will be able to change it", + "after to `Some(account)`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "option", + "type_name": "Option" + }, + { + "name": "admin", + "type": "option", + "type_name": "Option" + }, + { + "name": "freezer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "340d", + "name": "force_collection_owner", + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the collection.", + "- `owner`: The new Owner of this collection.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "340e", + "name": "force_collection_config", + "docs": [ + "Change the config of a collection.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the collection.", + "- `config`: The new config of this collection.", + "", + "Emits `CollectionConfigChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "340f", + "name": "approve_transfer", + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "- `maybe_deadline`: Optional deadline for the approval. Specified by providing the", + "\tnumber of blocks after which the approval will expire", + "", + "Emits `TransferApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "maybe_deadline", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3410", + "name": "cancel_approval", + "docs": [ + "Cancel one of the transfer approvals for a specific item.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the collection of whose approval will be cancelled.", + "- `delegate`: The account that is going to loose their approval.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3411", + "name": "clear_all_transfer_approvals", + "docs": [ + "Cancel all the approvals of a specific item.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approvals will be cleared.", + "- `item`: The item of the collection of whose approvals will be cleared.", + "", + "Emits `AllApprovalsCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3412", + "name": "lock_item_properties", + "docs": [ + "Disallows changing the metadata or attributes of the item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Admin", + "of the `collection`.", + "", + "- `collection`: The collection if the `item`.", + "- `item`: An item to be locked.", + "- `lock_metadata`: Specifies whether the metadata should be locked.", + "- `lock_attributes`: Specifies whether the attributes in the `CollectionOwner` namespace", + " should be locked.", + "", + "Note: `lock_attributes` affects the attributes in the `CollectionOwner` namespace only.", + "When the metadata or attributes are locked, it won't be possible the unlock them.", + "", + "Emits `ItemPropertiesLocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "lock_metadata", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "lock_attributes", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3413", + "name": "set_attribute", + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be Signed and must conform to the namespace ruleset:", + "- `CollectionOwner` namespace could be modified by the `collection` Admin only;", + "- `ItemOwner` namespace could be modified by the `maybe_item` owner only. `maybe_item`", + " should be set in that case;", + "- `Account(AccountId)` namespace could be modified only when the `origin` was given a", + " permission to do so;", + "", + "The funds of `origin` are reserved according to the formula:", + "`AttributeDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `namespace`: Attribute's namespace.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3414", + "name": "force_set_attribute", + "docs": [ + "Force-set an attribute for a collection or item.", + "", + "Origin must be `ForceOrigin`.", + "", + "If the attribute already exists and it was set by another account, the deposit", + "will be returned to the previous owner.", + "", + "- `set_as`: An optional owner of the attribute.", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `namespace`: Attribute's namespace.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "set_as", + "type": "option", + "type_name": "Option" + }, + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3415", + "name": "clear_attribute", + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "attribute.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `namespace`: Attribute's namespace.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3416", + "name": "approve_item_attributes", + "docs": [ + "Approve item's attributes to be changed by a delegated third-party account.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `collection`: A collection of the item.", + "- `item`: The item that holds attributes.", + "- `delegate`: The account to delegate permission to change attributes of the item.", + "", + "Emits `ItemAttributesApprovalAdded` on success." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3417", + "name": "cancel_item_attributes_approval", + "docs": [ + "Cancel the previously provided approval to change item's attributes.", + "All the previously set attributes by the `delegate` will be removed.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `collection`: Collection that the item is contained within.", + "- `item`: The item that holds attributes.", + "- `delegate`: The previously approved account to remove.", + "", + "Emits `ItemAttributesApprovalRemoved` on success." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "witness", + "type": "U32", + "type_name": "CancelAttributesApprovalWitness" + } + ] + }, + { + "lookup": "3418", + "name": "set_metadata", + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Admin of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "", + "Emits `ItemMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3419", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Admin of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `ItemMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "341a", + "name": "set_collection_metadata", + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Admin of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "341b", + "name": "clear_collection_metadata", + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Admin of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "341c", + "name": "set_accept_ownership", + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "341d", + "name": "set_collection_max_supply", + "docs": [ + "Set the maximum number of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum number of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "341e", + "name": "update_mint_settings", + "docs": [ + "Update mint settings.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Issuer", + "of the `collection`.", + "", + "- `collection`: The identifier of the collection to change.", + "- `mint_settings`: The new mint settings.", + "", + "Emits `CollectionMintSettingsUpdated` event when successful." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "mint_settings", + "type": "pallet_nfts:types:MintSettings", + "type_name": "MintSettings" + } + ] + }, + { + "lookup": "341f", + "name": "set_price", + "docs": [ + "Set (or reset) the price for an item.", + "", + "Origin must be Signed and must be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item to set the price for.", + "- `price`: The price for the item. Pass `None`, to reset the price.", + "- `buyer`: Restricts the buy operation to a specific account.", + "", + "Emits `ItemPriceSet` on success if the price is not `None`.", + "Emits `ItemPriceRemoved` on success if the price is `None`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3420", + "name": "buy_item", + "docs": [ + "Allows to buy an item if it's up for sale.", + "", + "Origin must be Signed and must not be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item the sender wants to buy.", + "- `bid_price`: The price the sender is willing to pay.", + "", + "Emits `ItemBought` on success." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + }, + { + "lookup": "3421", + "name": "pay_tips", + "docs": [ + "Allows to pay the tips.", + "", + "Origin must be Signed.", + "", + "- `tips`: Tips array.", + "", + "Emits `TipSent` on every tip transfer." + ], + "args": [ + { + "name": "tips", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3422", + "name": "create_swap", + "docs": [ + "Register a new atomic swap, declaring an intention to send an `item` in exchange for", + "`desired_item` from origin to target on the current blockchain.", + "The target can execute the swap during the specified `duration` of blocks (if set).", + "Additionally, the price could be set for the desired `item`.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item an owner wants to give.", + "- `desired_collection`: The collection of the desired item.", + "- `desired_item`: The desired item an owner wants to receive.", + "- `maybe_price`: The price an owner is willing to pay or receive for the desired `item`.", + "- `duration`: A deadline for the swap. Specified by providing the number of blocks", + "\tafter which the swap will expire.", + "", + "Emits `SwapCreated` on success." + ], + "args": [ + { + "name": "offered_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "offered_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "desired_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_desired_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "maybe_price", + "type": "option", + "type_name": "Option>" + }, + { + "name": "duration", + "type": "U32", + "type_name": "BlockNumberFor" + } + ] + }, + { + "lookup": "3423", + "name": "cancel_swap", + "docs": [ + "Cancel an atomic swap.", + "", + "Origin must be Signed.", + "Origin must be an owner of the `item` if the deadline hasn't expired.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item an owner wants to give.", + "", + "Emits `SwapCancelled` on success." + ], + "args": [ + { + "name": "offered_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "offered_item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3424", + "name": "claim_swap", + "docs": [ + "Claim an atomic swap.", + "This method executes a pending swap, that was created by a counterpart before.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `send_collection`: The collection of the item to be sent.", + "- `send_item`: The item to be sent.", + "- `receive_collection`: The collection of the item to be received.", + "- `receive_item`: The item to be received.", + "- `witness_price`: A price that was previously agreed on.", + "", + "Emits `SwapClaimed` on success." + ], + "args": [ + { + "name": "send_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "send_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "receive_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "receive_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "witness_price", + "type": "option", + "type_name": "Option>" + } + ] + }, + { + "lookup": "3425", + "name": "mint_pre_signed", + "docs": [ + "Mint an item by providing the pre-signed approval.", + "", + "Origin must be Signed.", + "", + "- `mint_data`: The pre-signed approval that consists of the information about the item,", + " its metadata, attributes, who can mint it (`None` for anyone) and until what block", + " number.", + "- `signature`: The signature of the `data` object.", + "- `signer`: The `data` object's signer. Should be an Issuer of the collection.", + "", + "Emits `Issued` on success.", + "Emits `AttributeSet` if the attributes were provided.", + "Emits `ItemMetadataSet` if the metadata was not empty." + ], + "args": [ + { + "name": "mint_data", + "type": "pallet_nfts:types:PreSignedMint", + "type_name": "Box" + }, + { + "name": "signature", + "type": "sp_runtime:MultiSignature", + "type_name": "OffchainSignature" + }, + { + "name": "signer", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3426", + "name": "set_attributes_pre_signed", + "docs": [ + "Set attributes for an item by providing the pre-signed approval.", + "", + "Origin must be Signed and must be an owner of the `data.item`.", + "", + "- `data`: The pre-signed approval that consists of the information about the item,", + " attributes to update and until what block number.", + "- `signature`: The signature of the `data` object.", + "- `signer`: The `data` object's signer. Should be an Admin of the collection for the", + " `CollectionOwner` namespace.", + "", + "Emits `AttributeSet` for each provided attribute.", + "Emits `ItemAttributesApprovalAdded` if the approval wasn't set before.", + "Emits `PreSignedAttributesSet` on success." + ], + "args": [ + { + "name": "data", + "type": "pallet_nfts:types:PreSignedAttributes", + "type_name": "PreSignedAttributesOf" + }, + { + "name": "signature", + "type": "sp_runtime:MultiSignature", + "type_name": "OffchainSignature" + }, + { + "name": "signer", + "type": "AccountId", + "type_name": "AccountId" + } + ] + } + ], + "calls_value": { + "type": 358 + }, + "events": [ + { + "lookup": "3400", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3401", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3402", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3403", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3404", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3405", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3406", + "name": "ItemTransferLocked", + "docs": [ + "An `item` became non-transferable." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3407", + "name": "ItemTransferUnlocked", + "docs": [ + "An `item` became transferable." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3408", + "name": "ItemPropertiesLocked", + "docs": [ + "`item` metadata or attributes were locked." + ], + "args": [ + "U32", + "U32", + "Bool", + "Bool" + ], + "args_name": [ + "collection", + "item", + "lock_metadata", + "lock_attributes" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "bool", + "bool" + ] + }, + { + "lookup": "3409", + "name": "CollectionLocked", + "docs": [ + "Some `collection` was locked." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "340a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "340b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "option", + "option", + "option" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "Option", + "Option", + "Option" + ] + }, + { + "lookup": "340c", + "name": "TransferApproved", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId", + "option" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId", + "Option" + ] + }, + { + "lookup": "340d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "340e", + "name": "AllApprovalsCancelled", + "docs": [ + "All approvals of an item got cancelled." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "340f", + "name": "CollectionConfigChanged", + "docs": [ + "A `collection` has had its config changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3410", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "data" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec" + ] + }, + { + "lookup": "3411", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3412", + "name": "ItemMetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec" + ], + "args_name": [ + "collection", + "item", + "data" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec" + ] + }, + { + "lookup": "3413", + "name": "ItemMetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3414", + "name": "Redeposited", + "docs": [ + "The deposit for a set of `item`s within a `collection` has been updated." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3415", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec", + "AttributeNamespace" + ] + }, + { + "lookup": "3416", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "AttributeNamespace" + ] + }, + { + "lookup": "3417", + "name": "ItemAttributesApprovalAdded", + "docs": [ + "A new approval to modify item attributes was added." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3418", + "name": "ItemAttributesApprovalRemoved", + "docs": [ + "A new approval to modify item attributes was removed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3419", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "341a", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "341b", + "name": "CollectionMintSettingsUpdated", + "docs": [ + "Mint settings for a collection had changed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "341c", + "name": "NextCollectionIdIncremented", + "docs": [ + "Event gets emitted when the `NextCollectionId` gets incremented." + ], + "args": [ + "option" + ], + "args_name": [ + "next_id" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "341d", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the item." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "341e", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the item was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "341f", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3420", + "name": "TipSent", + "docs": [ + "A tip was sent." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "collection", + "item", + "sender", + "receiver", + "amount" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId", + "DepositBalanceOf" + ] + }, + { + "lookup": "3421", + "name": "SwapCreated", + "docs": [ + "An `item` swap intent was created." + ], + "args": [ + "U32", + "U32", + "U32", + "option", + "option", + "U32" + ], + "args_name": [ + "offered_collection", + "offered_item", + "desired_collection", + "desired_item", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "CollectionId", + "Option", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3422", + "name": "SwapCancelled", + "docs": [ + "The swap was cancelled." + ], + "args": [ + "U32", + "U32", + "U32", + "option", + "option", + "U32" + ], + "args_name": [ + "offered_collection", + "offered_item", + "desired_collection", + "desired_item", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "CollectionId", + "Option", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3423", + "name": "SwapClaimed", + "docs": [ + "The swap has been claimed." + ], + "args": [ + "U32", + "U32", + "AccountId", + "U32", + "U32", + "AccountId", + "option", + "U32" + ], + "args_name": [ + "sent_collection", + "sent_item", + "sent_item_owner", + "received_collection", + "received_item", + "received_item_owner", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "CollectionId", + "ItemId", + "AccountId", + "Option>", + "BlockNumberFor" + ] + }, + { + "lookup": "3424", + "name": "PreSignedAttributesSet", + "docs": [ + "New attributes have been set for an `item` of the `collection`." + ], + "args": [ + "U32", + "U32", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "item", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AttributeNamespace" + ] + }, + { + "lookup": "3425", + "name": "PalletAttributeSet", + "docs": [ + "A new attribute in the `Pallet` namespace was set for the `collection` or an `item`", + "within that `collection`." + ], + "args": [ + "U32", + "option", + "pallet_nfts:types:PalletAttributes", + "Vec" + ], + "args_name": [ + "collection", + "item", + "attribute", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "PalletAttributes", + "BoundedVec" + ] + } + ], + "events_value": { + "type": 138 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "40f1fb77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "10320103000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "1071ff0b000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00c2eb0b000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "00010000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "00010000", + "docs": [ + " The maximum length of an attribute value." + ] + }, + { + "name": "ApprovalsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "14000000", + "docs": [ + " The maximum approvals an item could have." + ] + }, + { + "name": "ItemAttributesApprovalsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "1e000000", + "docs": [ + " The maximum attributes approvals an item could have." + ] + }, + { + "name": "MaxTips", + "type": "U32", + "type_value": 4, + "constants_value": "0a000000", + "docs": [ + " The max number of tips a user could send." + ] + }, + { + "name": "MaxDeadlineDuration", + "type": "U32", + "type_value": 4, + "constants_value": "008d2700", + "docs": [ + " The max duration in blocks for deadlines." + ] + }, + { + "name": "MaxAttributesPerCall", + "type": "U32", + "type_value": 4, + "constants_value": "0a000000", + "docs": [ + " The max number of attributes a user could set per call." + ] + }, + { + "name": "Features", + "type": "U64", + "type_value": 441, + "constants_value": "0000000000000000", + "docs": [ + " Disables some of pallet's features." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "ApprovalExpired", + "doc": [ + "The approval had a deadline that expired, so the approval isn't valid anymore." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "The witness data given does not match the current state of the chain." + ] + }, + { + "name": "CollectionIdInUse", + "doc": [ + "Collection ID is already taken." + ] + }, + { + "name": "ItemsNonTransferable", + "doc": [ + "Items within that collection are non-transferable." + ] + }, + { + "name": "NotDelegate", + "doc": [ + "The provided account is not a delegate." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership acceptance of the collection." + ] + }, + { + "name": "ItemLocked", + "doc": [ + "The item is locked (non-transferable)." + ] + }, + { + "name": "LockedItemAttributes", + "doc": [ + "Item's attributes are locked." + ] + }, + { + "name": "LockedCollectionAttributes", + "doc": [ + "Collection's attributes are locked." + ] + }, + { + "name": "LockedItemMetadata", + "doc": [ + "Item's metadata is locked." + ] + }, + { + "name": "LockedCollectionMetadata", + "doc": [ + "Collection's metadata is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyLocked", + "doc": [ + "The max supply is locked and can't be changed." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less than the number of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "UnknownSwap", + "doc": [ + "Swap doesn't exist." + ] + }, + { + "name": "MetadataNotFound", + "doc": [ + "The given item has no metadata set." + ] + }, + { + "name": "AttributeNotFound", + "doc": [ + "The provided attribute can't be found." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + }, + { + "name": "ReachedApprovalLimit", + "doc": [ + "The item has reached its approval limit." + ] + }, + { + "name": "DeadlineExpired", + "doc": [ + "The deadline has already expired." + ] + }, + { + "name": "WrongDuration", + "doc": [ + "The duration provided should be less than or equal to `MaxDeadlineDuration`." + ] + }, + { + "name": "MethodDisabled", + "doc": [ + "The method is disabled by system settings." + ] + }, + { + "name": "WrongSetting", + "doc": [ + "The provided setting can't be set." + ] + }, + { + "name": "InconsistentItemConfig", + "doc": [ + "Item's config already exists and should be equal to the provided one." + ] + }, + { + "name": "NoConfig", + "doc": [ + "Config for a collection or an item can't be found." + ] + }, + { + "name": "RolesNotCleared", + "doc": [ + "Some roles were not cleared." + ] + }, + { + "name": "MintNotStarted", + "doc": [ + "Mint has not started yet." + ] + }, + { + "name": "MintEnded", + "doc": [ + "Mint has already ended." + ] + }, + { + "name": "AlreadyClaimed", + "doc": [ + "The provided Item was already used for claiming." + ] + }, + { + "name": "IncorrectData", + "doc": [ + "The provided data is incorrect." + ] + }, + { + "name": "WrongOrigin", + "doc": [ + "The extrinsic was sent by the wrong origin." + ] + }, + { + "name": "WrongSignature", + "doc": [ + "The provided signature is incorrect." + ] + }, + { + "name": "IncorrectMetadata", + "doc": [ + "The provided metadata might be too long." + ] + }, + { + "name": "MaxAttributesLimitReached", + "doc": [ + "Can't set more attributes per one call." + ] + }, + { + "name": "WrongNamespace", + "doc": [ + "The provided namespace isn't supported in this call." + ] + }, + { + "name": "CollectionNotEmpty", + "doc": [ + "Can't delete non-empty collections." + ] + }, + { + "name": "WitnessRequired", + "doc": [ + "The witness data should be provided." + ] + } + ], + "errors_value": { + "type": 443 + }, + "index": 52 + }, + { + "name": "ForeignAssets", + "prefix": "ForeignAssets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 37, + "value_id": 402 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 444, + "value_id": 405 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 445, + "value_id": 409 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "pallet_assets:types:AssetMetadata@446", + "keys_id": 37, + "value_id": 446 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + }, + { + "name": "NextAssetId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "staging_xcm:v3:multilocation:MultiLocation", + "PlainTypeValue": 37 + }, + "fallback": "0x00", + "docs": [ + " The asset ID enforced for the next asset creation, if any present. Otherwise, this storage", + " item has no effect.", + "", + " This can be useful for setting up constraints for IDs of the new assets. For example, by", + " providing an initial [`NextAssetId`] and using the [`crate::AutoIncAssetId`] callback, an", + " auto-increment model can be applied to all new asset IDs.", + "", + " The initial next asset ID can be set using the [`GenesisConfig`] or the", + " [SetNextAssetId](`migration::next_asset_id::SetNextAssetId`) migration." + ] + } + ], + "calls": [ + { + "lookup": "3500", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset. If [`NextAssetId`] is set, then this must be equal to it.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3501", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset. If [`NextAssetId`] is set, then this must be equal to it.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3502", + "name": "start_destroy", + "docs": [ + "Start the process of destroying a fungible asset class.", + "", + "`start_destroy` is the first in a series of extrinsics that should be called, to allow", + "destruction of an asset class.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "The asset class must be frozen before calling `start_destroy`." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3503", + "name": "destroy_accounts", + "docs": [ + "Destroy all accounts associated with a given asset.", + "", + "`destroy_accounts` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedAccounts` event." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3504", + "name": "destroy_approvals", + "docs": [ + "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).", + "", + "`destroy_approvals` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedApprovals` event." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3505", + "name": "finish_destroy", + "docs": [ + "Complete destroying asset and unreserve currency.", + "", + "`finish_destroy` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state. All accounts or approvals should be destroyed before", + "hand.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each successful call emits the `Event::Destroyed` event." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3506", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3507", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3508", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3509", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "350a", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "350b", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`", + "must already exist as an entry in `Account`s of the asset. If you want to freeze an", + "account that does not have an entry, use `touch_other` first.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "350c", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers to and from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "350d", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "350e", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "350f", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3510", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3511", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3512", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3513", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3514", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3515", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3516", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3517", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3518", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3519", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "351a", + "name": "touch", + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "351b", + "name": "refund", + "docs": [ + "Return the deposit (if any) of an asset account or a consumer reference (if any) of an", + "account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for which the caller would like the deposit", + " refunded.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "351c", + "name": "set_min_balance", + "docs": [ + "Sets the minimum balance of an asset.", + "", + "Only works if there aren't any accounts that are holding the asset or if", + "the new value of `min_balance` is less than the old one.", + "", + "Origin must be Signed and the sender has to be the Owner of the", + "asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `min_balance`: The new value of `min_balance`.", + "", + "Emits `AssetMinBalanceChanged` event when successful." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "351d", + "name": "touch_other", + "docs": [ + "Create an asset account for `who`.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account", + " must have sufficient funds for a deposit to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "- `who`: The account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "351e", + "name": "refund_other", + "docs": [ + "Return the deposit (if any) of a target asset account. Useful if you are the depositor.", + "", + "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In", + "order to burn a non-zero balance of the asset, the caller must be the account and should", + "use `refund`.", + "", + "- `id`: The identifier of the asset for the account holding a deposit.", + "- `who`: The account to refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "351f", + "name": "block", + "docs": [ + "Disallow further unprivileged transfers of an asset `id` to and from an account `who`.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the account's asset.", + "- `who`: The account to be unblocked.", + "", + "Emits `Blocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 379 + }, + "events": [ + { + "lookup": "3500", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3501", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3502", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3503", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3504", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3505", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3506", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3507", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3508", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3509", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "350b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "350c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "350f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3510", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3511", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3512", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3513", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3514", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3515", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3516", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3517", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3518", + "name": "Deposited", + "docs": [ + "Some assets were deposited (e.g. for transaction fees)." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "who", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3519", + "name": "Withdrawn", + "docs": [ + "Some assets were withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "staging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "who", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 145 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "c07e5778000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + }, + { + "name": "BadAssetId", + "doc": [ + "The asset ID must be equal to the [`NextAssetId`]." + ] + } + ], + "errors_value": { + "type": 448 + }, + "index": 53 + }, + { + "name": "PoolAssets", + "prefix": "PoolAssets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 402 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 404, + "value_id": 405 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 408, + "value_id": 409 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata@449", + "keys_id": 4, + "value_id": 449 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + }, + { + "name": "NextAssetId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " The asset ID enforced for the next asset creation, if any present. Otherwise, this storage", + " item has no effect.", + "", + " This can be useful for setting up constraints for IDs of the new assets. For example, by", + " providing an initial [`NextAssetId`] and using the [`crate::AutoIncAssetId`] callback, an", + " auto-increment model can be applied to all new asset IDs.", + "", + " The initial next asset ID can be set using the [`GenesisConfig`] or the", + " [SetNextAssetId](`migration::next_asset_id::SetNextAssetId`) migration." + ] + } + ], + "calls": [ + { + "lookup": "3600", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset. If [`NextAssetId`] is set, then this must be equal to it.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3601", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset. If [`NextAssetId`] is set, then this must be equal to it.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3602", + "name": "start_destroy", + "docs": [ + "Start the process of destroying a fungible asset class.", + "", + "`start_destroy` is the first in a series of extrinsics that should be called, to allow", + "destruction of an asset class.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "The asset class must be frozen before calling `start_destroy`." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3603", + "name": "destroy_accounts", + "docs": [ + "Destroy all accounts associated with a given asset.", + "", + "`destroy_accounts` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedAccounts` event." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3604", + "name": "destroy_approvals", + "docs": [ + "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).", + "", + "`destroy_approvals` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedApprovals` event." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3605", + "name": "finish_destroy", + "docs": [ + "Complete destroying asset and unreserve currency.", + "", + "`finish_destroy` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state. All accounts or approvals should be destroyed before", + "hand.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each successful call emits the `Event::Destroyed` event." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3606", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3607", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3608", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3609", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "360a", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "360b", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`", + "must already exist as an entry in `Account`s of the asset. If you want to freeze an", + "account that does not have an entry, use `touch_other` first.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "360c", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers to and from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "360d", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "360e", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "360f", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3610", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3611", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3612", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3613", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3614", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3615", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3616", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3617", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3618", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3619", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "361a", + "name": "touch", + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "361b", + "name": "refund", + "docs": [ + "Return the deposit (if any) of an asset account or a consumer reference (if any) of an", + "account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for which the caller would like the deposit", + " refunded.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "361c", + "name": "set_min_balance", + "docs": [ + "Sets the minimum balance of an asset.", + "", + "Only works if there aren't any accounts that are holding the asset or if", + "the new value of `min_balance` is less than the old one.", + "", + "Origin must be Signed and the sender has to be the Owner of the", + "asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `min_balance`: The new value of `min_balance`.", + "", + "Emits `AssetMinBalanceChanged` event when successful." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "361d", + "name": "touch_other", + "docs": [ + "Create an asset account for `who`.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account", + " must have sufficient funds for a deposit to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "- `who`: The account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "361e", + "name": "refund_other", + "docs": [ + "Return the deposit (if any) of a target asset account. Useful if you are the depositor.", + "", + "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In", + "order to burn a non-zero balance of the asset, the caller must be the account and should", + "use `refund`.", + "", + "- `id`: The identifier of the asset for the account holding a deposit.", + "- `who`: The account to refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "361f", + "name": "block", + "docs": [ + "Disallow further unprivileged transfers of an asset `id` to and from an account `who`.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the account's asset.", + "- `who`: The account to be unblocked.", + "", + "Emits `Blocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "U32", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 380 + }, + "events": [ + { + "lookup": "3600", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3601", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3602", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3603", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3604", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3605", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3606", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3607", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3608", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3609", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "360a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "360b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "360c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "360d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "360e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "360f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3610", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3611", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3612", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3613", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3614", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3615", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "U32", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3616", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3617", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3618", + "name": "Deposited", + "docs": [ + "Some assets were deposited (e.g. for transaction fees)." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "who", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3619", + "name": "Withdrawn", + "docs": [ + "Some assets were withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "who", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 146 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00000000000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00000000000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "00000000000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + }, + { + "name": "BadAssetId", + "doc": [ + "The asset ID must be equal to the [`NextAssetId`]." + ] + } + ], + "errors_value": { + "type": 451 + }, + "index": 54 + }, + { + "name": "AssetConversion", + "prefix": "AssetConversion", + "storage": [ + { + "name": "Pools", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "staging_xcm:v3:multilocation:MultiLocation", + "staging_xcm:v3:multilocation:MultiLocation" + ], + "value": "U32", + "keys_id": 148, + "value_id": 452 + } + }, + "fallback": "0x00", + "docs": [ + " Map from `PoolAssetId` to `PoolInfo`. This establishes whether a pool has been officially", + " created rather than people sending tokens directly to a pool's public account." + ] + }, + { + "name": "NextPoolAssetId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Stores the `PoolAssetId` that is going to be used for the next lp token.", + " This gets incremented whenever a new lp pool is created." + ] + } + ], + "calls": [ + { + "lookup": "3700", + "name": "create_pool", + "docs": [ + "Creates an empty liquidity pool and an associated new `lp_token` asset", + "(the id of which is returned in the `Event::PoolCreated` event).", + "", + "Once a pool is created, someone may [`Pallet::add_liquidity`] to it." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "3701", + "name": "add_liquidity", + "docs": [ + "Provide liquidity into the pool of `asset1` and `asset2`.", + "NOTE: an optimal amount of asset1 and asset2 will be calculated and", + "might be different than the provided `amount1_desired`/`amount2_desired`", + "thus you should provide the min amount you're happy to provide.", + "Params `amount1_min`/`amount2_min` represent that.", + "`mint_to` will be sent the liquidity tokens that represent this share of the pool.", + "", + "NOTE: when encountering an incorrect exchange rate and non-withdrawable pool liquidity,", + "batch an atomic call with [`Pallet::add_liquidity`] and", + "[`Pallet::swap_exact_tokens_for_tokens`] or [`Pallet::swap_tokens_for_exact_tokens`]", + "calls to render the liquidity withdrawable and rectify the exchange rate.", + "", + "Once liquidity is added, someone may successfully call", + "[`Pallet::swap_exact_tokens_for_tokens`] successfully." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "amount1_desired", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount2_desired", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount1_min", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount2_min", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "mint_to", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3702", + "name": "remove_liquidity", + "docs": [ + "Allows you to remove liquidity by providing the `lp_token_burn` tokens that will be", + "burned in the process. With the usage of `amount1_min_receive`/`amount2_min_receive`", + "it's possible to control the min amount of returned tokens you're happy with." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "lp_token_burn", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount1_min_receive", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount2_min_receive", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "withdraw_to", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3703", + "name": "swap_exact_tokens_for_tokens", + "docs": [ + "Swap the exact amount of `asset1` into `asset2`.", + "`amount_out_min` param allows you to specify the min amount of the `asset2`", + "you're happy to receive.", + "", + "[`AssetConversionApi::quote_price_exact_tokens_for_tokens`] runtime call can be called", + "for a quote." + ], + "args": [ + { + "name": "path", + "type": "Vec", + "type_name": "Vec>" + }, + { + "name": "amount_in", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount_out_min", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "send_to", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3704", + "name": "swap_tokens_for_exact_tokens", + "docs": [ + "Swap any amount of `asset1` to get the exact amount of `asset2`.", + "`amount_in_max` param allows to specify the max amount of the `asset1`", + "you're happy to provide.", + "", + "[`AssetConversionApi::quote_price_tokens_for_exact_tokens`] runtime call can be called", + "for a quote." + ], + "args": [ + { + "name": "path", + "type": "Vec", + "type_name": "Vec>" + }, + { + "name": "amount_out", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "amount_in_max", + "type": "U128", + "type_name": "Balance" + }, + { + "name": "send_to", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3705", + "name": "touch", + "docs": [ + "Touch an existing pool to fulfill prerequisites before providing liquidity, such as", + "ensuring that the pool's accounts are in place. It is typically useful when a pool", + "creator removes the pool's accounts and does not provide a liquidity. This action may", + "involve holding assets from the caller as a deposit for creating the pool's accounts.", + "", + "The origin must be Signed.", + "", + "- `asset1`: The asset ID of an existing pool with a pair (asset1, asset2).", + "- `asset2`: The asset ID of an existing pool with a pair (asset1, asset2).", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "asset1", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "asset2", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + } + ] + } + ], + "calls_value": { + "type": 381 + }, + "events": [ + { + "lookup": "3700", + "name": "PoolCreated", + "docs": [ + "A successful call of the `CreatePool` extrinsic will create this event." + ], + "args": [ + "AccountId", + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "AccountId", + "U32" + ], + "args_name": [ + "creator", + "pool_id", + "pool_account", + "lp_token" + ], + "args_type_name": [ + "AccountId", + "PoolId", + "AccountId", + "PoolAssetId" + ] + }, + { + "lookup": "3701", + "name": "LiquidityAdded", + "docs": [ + "A successful call of the `AddLiquidity` extrinsic will create this event." + ], + "args": [ + "AccountId", + "AccountId", + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "U128", + "U128", + "U32", + "U128" + ], + "args_name": [ + "who", + "mint_to", + "pool_id", + "amount1_provided", + "amount2_provided", + "lp_token", + "lp_token_minted" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "PoolId", + "Balance", + "Balance", + "PoolAssetId", + "Balance" + ] + }, + { + "lookup": "3702", + "name": "LiquidityRemoved", + "docs": [ + "A successful call of the `RemoveLiquidity` extrinsic will create this event." + ], + "args": [ + "AccountId", + "AccountId", + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "U128", + "U128", + "U32", + "U128", + "U32" + ], + "args_name": [ + "who", + "withdraw_to", + "pool_id", + "amount1", + "amount2", + "lp_token", + "lp_token_burned", + "withdrawal_fee" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "PoolId", + "Balance", + "Balance", + "PoolAssetId", + "Balance", + "Permill" + ] + }, + { + "lookup": "3703", + "name": "SwapExecuted", + "docs": [ + "Assets have been converted from one to another. Both `SwapExactTokenForToken`", + "and `SwapTokenForExactToken` will generate this event." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "U128", + "Vec" + ], + "args_name": [ + "who", + "send_to", + "amount_in", + "amount_out", + "path" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Balance", + "BalancePath" + ] + }, + { + "lookup": "3704", + "name": "SwapCreditExecuted", + "docs": [ + "Assets have been converted from one to another." + ], + "args": [ + "U128", + "U128", + "Vec" + ], + "args_name": [ + "amount_in", + "amount_out", + "path" + ], + "args_type_name": [ + "Balance", + "Balance", + "BalancePath" + ] + }, + { + "lookup": "3705", + "name": "Touched", + "docs": [ + "Pool has been touched in order to fulfill operational requirements." + ], + "args": [ + "Tuple:staging_xcm:v3:multilocation:MultiLocationstaging_xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "pool_id", + "who" + ], + "args_type_name": [ + "PoolId", + "AccountId" + ] + } + ], + "events_value": { + "type": 147 + }, + "constants": [ + { + "name": "LPFee", + "type": "U32", + "type_value": 4, + "constants_value": "03000000", + "docs": [ + " A % the liquidity providers will take of every swap. Represents 10ths of a percent." + ] + }, + { + "name": "PoolSetupFee", + "type": "U128", + "type_value": 6, + "constants_value": "402d93ef000000000000000000000000", + "docs": [ + " A one-time fee to setup the pool." + ] + }, + { + "name": "PoolSetupFeeAsset", + "type": "staging_xcm:v3:multilocation:MultiLocation", + "type_value": 37, + "constants_value": "0100", + "docs": [ + " Asset class from [`Config::Assets`] used to pay the [`Config::PoolSetupFee`]." + ] + }, + { + "name": "LiquidityWithdrawalFee", + "type": "U32", + "type_value": 149, + "constants_value": "00000000", + "docs": [ + " A fee to withdraw the liquidity." + ] + }, + { + "name": "MintMinLiquidity", + "type": "U128", + "type_value": 6, + "constants_value": "64000000000000000000000000000000", + "docs": [ + " The minimum LP token amount that could be minted. Ameliorates rounding errors." + ] + }, + { + "name": "MaxSwapPathLength", + "type": "U32", + "type_value": 4, + "constants_value": "03000000", + "docs": [ + " The max number of hops in a swap." + ] + }, + { + "name": "PalletId", + "type": "[U8; 8]", + "type_value": 453, + "constants_value": "70792f6173636f6e", + "docs": [ + " The pallet's id, used for deriving its sovereign account ID." + ] + } + ], + "errors": [ + { + "name": "InvalidAssetPair", + "doc": [ + "Provided asset pair is not supported for pool." + ] + }, + { + "name": "PoolExists", + "doc": [ + "Pool already exists." + ] + }, + { + "name": "WrongDesiredAmount", + "doc": [ + "Desired amount can't be zero." + ] + }, + { + "name": "AmountOneLessThanMinimal", + "doc": [ + "Provided amount should be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "AmountTwoLessThanMinimal", + "doc": [ + "Provided amount should be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "ReserveLeftLessThanMinimal", + "doc": [ + "Reserve needs to always be greater than or equal to the existential deposit/asset's", + "minimal amount." + ] + }, + { + "name": "AmountOutTooHigh", + "doc": [ + "Desired amount can't be equal to the pool reserve." + ] + }, + { + "name": "PoolNotFound", + "doc": [ + "The pool doesn't exist." + ] + }, + { + "name": "Overflow", + "doc": [ + "An overflow happened." + ] + }, + { + "name": "AssetOneDepositDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the first token in the pair wasn't met." + ] + }, + { + "name": "AssetTwoDepositDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the second token in the pair wasn't met." + ] + }, + { + "name": "AssetOneWithdrawalDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the first token in the pair wasn't met." + ] + }, + { + "name": "AssetTwoWithdrawalDidNotMeetMinimum", + "doc": [ + "The minimal amount requirement for the second token in the pair wasn't met." + ] + }, + { + "name": "OptimalAmountLessThanDesired", + "doc": [ + "Optimal calculated amount is less than desired." + ] + }, + { + "name": "InsufficientLiquidityMinted", + "doc": [ + "Insufficient liquidity minted." + ] + }, + { + "name": "ZeroLiquidity", + "doc": [ + "Requested liquidity can't be zero." + ] + }, + { + "name": "ZeroAmount", + "doc": [ + "Amount can't be zero." + ] + }, + { + "name": "ProvidedMinimumNotSufficientForSwap", + "doc": [ + "Calculated amount out is less than provided minimum amount." + ] + }, + { + "name": "ProvidedMaximumNotSufficientForSwap", + "doc": [ + "Provided maximum amount is not sufficient for swap." + ] + }, + { + "name": "InvalidPath", + "doc": [ + "The provided path must consists of 2 assets at least." + ] + }, + { + "name": "NonUniquePath", + "doc": [ + "The provided path must consists of unique assets." + ] + }, + { + "name": "IncorrectPoolAssetId", + "doc": [ + "It was not possible to get or increment the Id of the pool." + ] + }, + { + "name": "BelowMinimum", + "doc": [ + "The destination account cannot exist with the swapped funds." + ] + } + ], + "errors_value": { + "type": 454 + }, + "index": 55 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v2.json b/src/demo_substrate_events/abi/assethub/v2.json new file mode 100644 index 000000000..030fa1ac0 --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v2.json @@ -0,0 +1,1292 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:weights:PerDispatchClass@6", + "PlainTypeValue": 6 + }, + "fallback": "0x000000000000000000000000000000000000000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 8 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 9 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 8 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 17 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: This storage item is explicitly unbounded since it is never intended to be read", + " from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 8, + "value_id": 34 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 36 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 39 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 39 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 32 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "fill_block", + "docs": [ + "A dispatch that will fill the block weight up to the given ratio." + ], + "args": [ + { + "name": "ratio", + "type": "U32", + "type_name": "Perbill" + } + ] + }, + { + "lookup": "0001", + "name": "remark", + "docs": [ + "Make some on-chain remark.", + "", + "# ", + "- `O(1)`", + "# " + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0002", + "name": "set_heap_pages", + "docs": [ + "Set the number of pages in the WebAssembly environment's heap.", + "", + "# ", + "- `O(1)`", + "- 1 storage write.", + "0x2d2042617365205765696768743a20312e34303520c2b573", + "- 1 write to HEAP_PAGES", + "- 1 digest item", + "# " + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0003", + "name": "set_code", + "docs": [ + "Set the new runtime code.", + "", + "# ", + "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`", + "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is", + " expensive).", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime, but generally this is very", + "expensive. We will treat this as a full block.", + "# " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_code_without_checks", + "docs": [ + "Set the new runtime code without doing any checks of the given `code`.", + "", + "# ", + "- `O(C)` where `C` length of `code`", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime. We will treat this as a full", + "block. # " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0005", + "name": "set_changes_trie_config", + "docs": [ + "Set the new changes trie configuration.", + "", + "# ", + "- `O(1)`", + "- 1 storage write or delete (codec `O(1)`).", + "- 1 call to `deposit_log`: Uses `append` API, so O(1)", + "0x2d2042617365205765696768743a20372e32313820c2b573", + "- DB Weight:", + " - Writes: Changes Trie, System Digest", + "# " + ], + "args": [ + { + "name": "changes_trie_config", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "0006", + "name": "set_storage", + "docs": [ + "Set some items of storage.", + "", + "# ", + "- `O(I)` where `I` length of `items`", + "- `I` storage writes (`O(1)`).", + "0x2d2042617365205765696768743a20302e353638202a206920c2b573", + "- Writes: Number of items", + "# " + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0007", + "name": "kill_storage", + "docs": [ + "Kill some items from storage.", + "", + "# ", + "- `O(IK)` where `I` length of `keys` and `K` length of one key", + "- `I` storage deletions.", + "0x2d2042617365205765696768743a202e333738202a206920c2b573", + "- Writes: Number of items", + "# " + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0008", + "name": "kill_prefix", + "docs": [ + "Kill all storage items with a key that starts with the given prefix.", + "", + "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", + "the prefix we are removing to accurately calculate the weight of this function.", + "", + "# ", + "- `O(P)` where `P` amount of keys with prefix `prefix`", + "- `P` storage deletions.", + "0x2d2042617365205765696768743a20302e383334202a205020c2b573", + "- Writes: Number of subkeys + 1", + "# " + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0009", + "name": "remark_with_event", + "docs": [ + "Make some on-chain remark and emit event.", + "", + "# ", + "- `O(b)` where b is the length of the remark.", + "- 1 event.", + "# " + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 40 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully. \\[info\\]" + ], + "args": [ + "frame_support:weights:DispatchInfo" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed. \\[error, info\\]" + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:weights:DispatchInfo" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new \\[account\\] was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An \\[account\\] was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened. \\[origin, remark_hash\\]" + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + } + ], + "events_value": { + "type": 20 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 45, + "constants_value": "00f2052a010000000088526a74000000405973070000000001c0180fa44b0000000100e6bd4f57000000010000000000000000405973070000000001c0baa3be68000000010088526a740000000100a2941a1d0000004059730700000000000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:weights:PerDispatchClass@50", + "type_value": 49, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "fa000000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "frame_support:weights:RuntimeDbWeight", + "type_value": 51, + "constants_value": "00000000000000000000000000000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 52, + "constants_value": "147368656c6c147368656c6c0100000002000000000000001cdf6acb689907609b0300000037e397fc7c91f5e40100000040fe3ad401f8959a05000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000ea93e3f16f3d69620100000001000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 56, + "constants_value": "2a00", + "docs": [ + " The designated SS85 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + } + ], + "errors_value": { + "type": 57 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "PendingRelayChainBlockNumber", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " We need to store the new validation function for the span between", + " setting it and applying it. If it has a", + " value, then [`PendingValidationCode`] must have a real value, and", + " together will coordinate the block number where the upgrade will happen." + ] + }, + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The new validation function we will upgrade to when the relay chain", + " reaches [`PendingRelayChainBlockNumber`]. A real validation function must", + " exist here as long as [`PendingRelayChainBlockNumber`] is set." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v1:PersistedValidationData", + "PlainTypeValue": 58 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 39 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "LastUpgrade", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The last relay parent block number at which we signalled the code upgrade." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 60 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v1:AbridgedHostConfiguration", + "PlainTypeValue": 66 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 67 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 68 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " New validation code that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 71 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 44 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 44 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 7 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 7 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The next authorized upgrade, if there is one." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_upgrade_block", + "docs": [ + "Force an already scheduled validation function upgrade to happen on a particular block.", + "", + "Note that coordinating this block for the upgrade has to happen independently on the", + "relay chain and this parachain. Synchronizing the block for the upgrade is sensitive,", + "and this bypasses all checks and and normal protocols. Very easy to brick your chain", + "if done wrong." + ], + "args": [ + { + "name": "relay_chain_block", + "type": "U32", + "type_name": "RelayChainBlockNumber" + } + ] + }, + { + "lookup": "0101", + "name": "set_validation_data", + "docs": [ + "Set the current validation data.", + "", + "This should be invoked exactly once per block. It will panic at the finalization", + "phase if the call was not invoked.", + "", + "The dispatch origin for this call must be `Inherent`", + "", + "As a side effect, this function upgrades the current validation function", + "if the appropriate time has come." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0102", + "name": "sudo_send_upward_message", + "docs": null, + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0103", + "name": "authorize_upgrade", + "docs": null, + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "0104", + "name": "enact_authorized_upgrade", + "docs": null, + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 73 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply as of the contained relay chain", + "block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade has been authorized." + ], + "args": [ + "H256" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Hash" + ] + }, + { + "lookup": "0103", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed.", + "\\[ count \\]" + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight.", + "\\[ weight_used, result_mqc_head \\]" + ], + "args": [ + "U64", + "H256" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + } + ], + "events_value": { + "type": 27 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending" + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function" + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run" + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block" + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block" + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 83 + }, + "index": 1 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 63 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "errors": null, + "errors_value": null, + "index": 2 + }, + { + "name": "CumulusXcm", + "prefix": "CumulusXcm", + "storage": null, + "calls_value": { + "type": 84 + }, + "events": [ + { + "lookup": "0300", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "0301", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "0302", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 8]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 8]", + "Outcome" + ] + } + ], + "events_value": { + "type": 28 + }, + "errors": null, + "errors_value": { + "type": 85 + }, + "index": 3 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v601.json b/src/demo_substrate_events/abi/assethub/v601.json new file mode 100644 index 000000000..a6cbce1b8 --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v601.json @@ -0,0 +1,8569 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:weights:PerDispatchClass@7", + "PlainTypeValue": 7 + }, + "fallback": "0x000000000000000000000000000000000000000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 9 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 9 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 11 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 18 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: This storage item is explicitly unbounded since it is never intended to be read", + " from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 9, + "value_id": 96 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 98 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 94 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "fill_block", + "docs": [ + "A dispatch that will fill the block weight up to the given ratio." + ], + "args": [ + { + "name": "ratio", + "type": "U32", + "type_name": "Perbill" + } + ] + }, + { + "lookup": "0001", + "name": "remark", + "docs": [ + "Make some on-chain remark.", + "", + "# ", + "- `O(1)`", + "# " + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0002", + "name": "set_heap_pages", + "docs": [ + "Set the number of pages in the WebAssembly environment's heap.", + "", + "# ", + "- `O(1)`", + "- 1 storage write.", + "0x2d2042617365205765696768743a20312e34303520c2b573", + "- 1 write to HEAP_PAGES", + "- 1 digest item", + "# " + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0003", + "name": "set_code", + "docs": [ + "Set the new runtime code.", + "", + "# ", + "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`", + "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is", + " expensive).", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime, but generally this is very", + "expensive. We will treat this as a full block.", + "# " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_code_without_checks", + "docs": [ + "Set the new runtime code without doing any checks of the given `code`.", + "", + "# ", + "- `O(C)` where `C` length of `code`", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime. We will treat this as a full", + "block. # " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0005", + "name": "set_changes_trie_config", + "docs": [ + "Set the new changes trie configuration.", + "", + "# ", + "- `O(1)`", + "- 1 storage write or delete (codec `O(1)`).", + "- 1 call to `deposit_log`: Uses `append` API, so O(1)", + "0x2d2042617365205765696768743a20372e32313820c2b573", + "- DB Weight:", + " - Writes: Changes Trie, System Digest", + "# " + ], + "args": [ + { + "name": "changes_trie_config", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "0006", + "name": "set_storage", + "docs": [ + "Set some items of storage.", + "", + "# ", + "- `O(I)` where `I` length of `items`", + "- `I` storage writes (`O(1)`).", + "0x2d2042617365205765696768743a20302e353638202a206920c2b573", + "- Writes: Number of items", + "# " + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0007", + "name": "kill_storage", + "docs": [ + "Kill some items from storage.", + "", + "# ", + "- `O(IK)` where `I` length of `keys` and `K` length of one key", + "- `I` storage deletions.", + "0x2d2042617365205765696768743a202e333738202a206920c2b573", + "- Writes: Number of items", + "# " + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0008", + "name": "kill_prefix", + "docs": [ + "Kill all storage items with a key that starts with the given prefix.", + "", + "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", + "the prefix we are removing to accurately calculate the weight of this function.", + "", + "# ", + "- `O(P)` where `P` amount of keys with prefix `prefix`", + "- `P` storage deletions.", + "0x2d2042617365205765696768743a20302e383334202a205020c2b573", + "- Writes: Number of subkeys + 1", + "# " + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0009", + "name": "remark_with_event", + "docs": [ + "Make some on-chain remark and emit event.", + "", + "# ", + "- `O(b)` where b is the length of the remark.", + "- 1 event.", + "# " + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 100 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully. \\[info\\]" + ], + "args": [ + "frame_support:weights:DispatchInfo" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed. \\[error, info\\]" + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:weights:DispatchInfo" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new \\[account\\] was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An \\[account\\] was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened. \\[origin, remark_hash\\]" + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + } + ], + "events_value": { + "type": 21 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 105, + "constants_value": "00f2052a010000000088526a74000000405973070000000001c0d22c76510000000100e6bd4f57000000010000000000000000405973070000000001c074c1906e000000010088526a740000000100a2941a1d0000004059730700000000000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:weights:PerDispatchClass@110", + "type_value": 109, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "60090000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "frame_support:weights:RuntimeDbWeight", + "type_value": 111, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 112, + "constants_value": "2473746174656d696e742473746174656d696e7401000000590200000000000028dd718d5cc53262d401000000df6acb689907609b0300000037e397fc7c91f5e40100000040fe3ad401f8959a05000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a801000000ea93e3f16f3d69620100000004000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 85, + "constants_value": "0000", + "docs": [ + " The designated SS85 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + } + ], + "errors_value": { + "type": 116 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][well_known_keys::CODE]", + " which will result the next block process with the new validation code. This concludes the upgrade process.", + "", + " [well_known_keys::CODE]: sp_core::storage::well_known_keys::CODE" + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v1:PersistedValidationData", + "PlainTypeValue": 117 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 119 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 121 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v1:AbridgedHostConfiguration", + "PlainTypeValue": 126 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 127 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 128 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 131 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 104 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 104 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The next authorized upgrade, if there is one." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "Set the current validation data.", + "", + "This should be invoked exactly once per block. It will panic at the finalization", + "phase if the call was not invoked.", + "", + "The dispatch origin for this call must be `Inherent`", + "", + "As a side effect, this function upgrades the current validation function", + "if the appropriate time has come." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": null, + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": null, + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": null, + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 133 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade has been authorized." + ], + "args": [ + "H256" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Hash" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed.", + "\\[ count \\]" + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0105", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight.", + "\\[ weight_used, result_mqc_head \\]" + ], + "args": [ + "U64", + "H256" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + } + ], + "events_value": { + "type": 28 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending" + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function" + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run" + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block" + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block" + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 143 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x0000000000000000", + "docs": [ + " Current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " Did the timestamp get updated in this block?" + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "Set the current time.", + "", + "This call should be invoked exactly once per block. It will panic at the finalization", + "phase, if this call hasn't been invoked by that time.", + "", + "The timestamp should be greater than the previous one by the amount specified by", + "`MinimumPeriod`.", + "", + "The dispatch origin for this call must be `Inherent`.", + "", + "# ", + "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", + "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in", + " `on_finalize`)", + "- 1 event handler `on_timestamp_set`. Must be `O(1)`.", + "# " + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 144 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 8, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks. Beware that this is different to the *expected*", + " period that the block production apparatus provides. Your chosen consensus system will", + " generally work with this to determine a sensible block time. e.g. For Aura, it will be", + " double this period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 124 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The balance of an account.", + "", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 145 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 149 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances." + ] + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_balances:Releases", + "PlainTypeValue": 152 + }, + "fallback": "0x00", + "docs": [ + " Storage version of the pallet.", + "", + " This is set to v2.0.0 for new networks." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer", + "docs": [ + "Transfer some liquid free balance to another account.", + "", + "`transfer` will set the `FreeBalance` of the sender and receiver.", + "It will decrease the total issuance of the system by the `TransferFee`.", + "If the sender's account is below the existential deposit as a result", + "of the transfer, the account will be reaped.", + "", + "The dispatch origin for this call must be `Signed` by the transactor.", + "", + "# ", + "- Dependent on arguments but not critical, given proper implementations for input config", + " types. See related functions below.", + "- It contains a limited number of reads and writes internally and no complex", + " computation.", + "", + "Related functions:", + "", + " - `ensure_can_withdraw` is always called internally but has a bounded complexity.", + " - Transferring balances to accounts that did not exist before will cause", + " `T::OnNewAccount::on_new_account` to be called.", + " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.", + " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check", + " that the transfer will not kill the origin account.", + "---------------------------------", + "0x2d2042617365205765696768743a2037332e363420c2b5732c20776f7273742063617365207363656e6172696f20286163636f756e7420637265617465642c206163636f756e742072656d6f76656429", + "- DB Weight: 1 Read and 1 Write to destination account", + "- Origin account is already in memory, so no DB operations for them.", + "# " + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a01", + "name": "set_balance", + "docs": [ + "Set the balances of a given account.", + "", + "This will alter `FreeBalance` and `ReservedBalance` in storage. it will", + "also decrease the total issuance of the system (`TotalIssuance`).", + "If the new free or reserved balance is below the existential deposit,", + "it will reset the account nonce (`frame_system::AccountNonce`).", + "", + "The dispatch origin for this call is `root`.", + "", + "# ", + "- Independent of the arguments.", + "- Contains a limited number of reads and writes.", + "---------------------", + "- Base Weight:", + "0x202020202d204372656174696e673a2032372e353620c2b573", + "0x202020202d204b696c6c696e673a2033352e313120c2b573", + "- DB Weight: 1 Read, 1 Write to `who`", + "# " + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "new_reserved", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "Exactly as `transfer`, except the origin must be root and the source account may be", + "specified.", + "# ", + "- Same as transfer, but additional read and write because the source account is not", + " assumed to be in the overlay.", + "# " + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "Same as the [`transfer`] call, but with a check that the transfer will not kill the", + "origin account.", + "", + "99% of the time you want [`transfer`] instead.", + "", + "[`transfer`]: struct.Pallet.html#method.transfer", + "# ", + "- Cheaper than transfer because account cannot be killed.", + "0x2d2042617365205765696768743a2035312e3420c2b573", + "- DB Weight: 1 Read and 1 Write to dest (sender is in overlay already)", + "#" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "Transfer the entire transferable balance from the caller account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the account has, causing the sender account to be killed (false), or", + " transfer everything except at least the existential deposit, which will guarantee to", + " keep the sender account alive (true). # ", + "- O(1). Just like transfer, but reading the user's transferable balance first.", + " #" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "Unreserve some balance from a user by force.", + "", + "Can only be called by ROOT." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 153 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance. \\[account, free_balance\\]" + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss. \\[account, balance\\]" + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded. \\[from, to, value\\]" + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root. \\[who, free, reserved\\]" + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "AccountId", + "Balance", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved). \\[who, value\\]" + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free). \\[who, value\\]" + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type.", + "\\[from, to, balance, destination_status\\]" + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited into the account (e.g. for transaction fees). \\[who,", + "deposit\\]" + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees). \\[who, value\\]" + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior). \\[who,", + "amount_slashed\\]" + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 29 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open." + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value" + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal" + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value" + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit" + ] + }, + { + "name": "KeepAlive", + "doc": [ + "Transfer/payment would kill account" + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account" + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist" + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed MaxReserves" + ] + } + ], + "errors_value": { + "type": 156 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 157 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 158 + }, + "fallback": "0x00", + "docs": null + } + ], + "constants": [ + { + "name": "TransactionByteFee", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The fee to be paid for making a transaction; the per-byte portion." + ] + }, + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + }, + { + "name": "WeightToFee", + "type": "Vec", + "type_value": 159, + "constants_value": "0400000000000000000000000000000000ff117a000001", + "docs": [ + " The polynomial that is applied in order to derive fee from weight." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "errors": null, + "errors_value": null, + "index": 12 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Uncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 161 + }, + "fallback": "0x00", + "docs": [ + " Uncles" + ] + }, + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + }, + { + "name": "DidSetUncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " Whether uncles were already set in this block." + ] + } + ], + "calls": [ + { + "lookup": "1400", + "name": "set_uncles", + "docs": [ + "Provide a set of uncles." + ], + "args": [ + { + "name": "new_uncles", + "type": "Vec", + "type_name": "Vec
" + } + ] + } + ], + "calls_value": { + "type": 164 + }, + "constants": [ + { + "name": "UncleGenerations", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The number of blocks back we should accept uncles.", + " This means that we will deal with uncle-parents that are", + " `UncleGenerations + 1` before `now`." + ] + } + ], + "errors": [ + { + "name": "InvalidUncleParent", + "doc": [ + "The uncle parent not in the chain." + ] + }, + { + "name": "UnclesAlreadySet", + "doc": [ + "Uncles already set in the block." + ] + }, + { + "name": "TooManyUncles", + "doc": [ + "Too many uncles." + ] + }, + { + "name": "GenesisUncle", + "doc": [ + "The uncle is genesis." + ] + }, + { + "name": "TooHighUncle", + "doc": [ + "The uncle is too high in chain." + ] + }, + { + "name": "UncleAlreadyIncluded", + "doc": [ + "The uncle is already included." + ] + }, + { + "name": "OldUncle", + "doc": [ + "The uncle isn't recent enough to be included." + ] + } + ], + "errors_value": { + "type": 168 + }, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 32 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, fixed collators." + ] + }, + { + "name": "Candidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 169 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed deposit bond for each candidate." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": null, + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": null, + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": null, + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": null, + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": null, + "args": null + } + ], + "calls_value": { + "type": 171 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": null, + "args": [ + "Vec" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "NewDesiredCandidates", + "docs": null, + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1502", + "name": "NewCandidacyBond", + "docs": null, + "args": [ + "U128" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1503", + "name": "CandidateAdded", + "docs": null, + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1504", + "name": "CandidateRemoved", + "docs": null, + "args": [ + "AccountId" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 31 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "Too many candidates" + ] + }, + { + "name": "TooFewCandidates", + "doc": [ + "Too few candidates" + ] + }, + { + "name": "Unknown", + "doc": [ + "Unknown error" + ] + }, + { + "name": "Permission", + "doc": [ + "Permission issue" + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "User is already a candidate" + ] + }, + { + "name": "NotCandidate", + "doc": [ + "User is not a candidate" + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "User is already an Invulnerable" + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID" + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered" + ] + } + ], + "errors_value": { + "type": 172 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 32 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 173 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 90 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 175 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 178, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "Sets the session key(s) of the function caller to `keys`.", + "Allows an account to set its session key prior to becoming a validator.", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be signed.", + "", + "# ", + "- Complexity: `O(1)`. Actual cost depends on the number of length of", + " `T::Keys::key_ids()` which is fixed.", + "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`", + "- DbWrites: `origin account`, `NextKeys`", + "- DbReads per key id: `KeyOwner`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "Removes any session key(s) of the function caller.", + "", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be Signed and the account must be either be", + "convertible to a validator ID using the chain's typical addressing system (this usually", + "means being a controller account) or directly convertible into a validator ID (which", + "usually means being a stash account).", + "", + "# ", + "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length", + " of `T::Keys::key_ids()` which is fixed.", + "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`", + "- DbWrites: `NextKeys`, `origin account`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": null + } + ], + "calls_value": { + "type": 180 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the \\[session_index\\], not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 33 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 181 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 182 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 184 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 183 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will always", + " be updated to the latest AuRa authorities in `on_finalize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 185 + }, + "fallback": "0x00", + "docs": [ + " Status of the inbound XCMP channels." + ] + }, + { + "name": "InboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 191, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " Inbound aggregate XCMP messages. It can only be one per ParaId/block." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 192 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 195, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 124, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 196 + }, + "fallback": "0x020000000500000001000000a0860100000000000200000000000000", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + } + ], + "calls_value": { + "type": 197 + }, + "events": [ + { + "lookup": "1e00", + "name": "Success", + "docs": [ + "Some XCM was executed ok." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e01", + "name": "Fail", + "docs": [ + "Some XCM failed." + ], + "args": [ + "option", + "xcm:v2:traits:Error" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "Option", + "XcmError" + ] + }, + { + "lookup": "1e02", + "name": "BadVersion", + "docs": [ + "Bad XCM version used." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e03", + "name": "BadFormat", + "docs": [ + "Bad XCM format used." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e04", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e05", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + } + ], + "events_value": { + "type": 34 + }, + "errors": [ + { + "name": "FailedToSend", + "doc": [ + "Failed to send XCM message." + ] + }, + { + "name": "BadXcmOrigin", + "doc": [ + "Bad XCM origin." + ] + }, + { + "name": "BadXcm", + "doc": [ + "Bad XCM data." + ] + } + ], + "errors_value": { + "type": 198 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 8, + "value_id": 199 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 9, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U32", + "keys_id": 205, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U64", + "keys_id": 205, + "value_id": 8 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "Tuple:U64U64U32", + "keys_id": 205, + "value_id": 206 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 207 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 210 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": null, + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@213", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the first asset listed in the `assets` vector and", + "fee-weight is calculated locally and thus remote weights are assumed to be equal to", + "local weights.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `dest_weight`: Equal to the total weight on `dest` of the XCM message", + " `Teleport { assets, effects: [ BuyExecution{..}, DepositAsset{..} ] }`." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination chain and forward", + "a notification XCM.", + "", + "Fee payment on the destination side is made from the first asset listed in the `assets` vector and", + "fee-weight is calculated locally and thus remote weights are assumed to be equal to", + "local weights.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "Execute an XCM message from a local, signed, origin.", + "", + "An event is deposited indicating whether `msg` could be executed completely or only", + "partially.", + "", + "No more than `max_weight` will be used in its attempted execution. If this is less than the", + "maximum amount of weight that the message could take to be executed, then no execution", + "attempt will be made.", + "", + "NOTE: A successful return to this does *not* imply that the `msg` was executed successfully", + "to completion; only that *some* of it was executed." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@222", + "type_name": "Box::Call>>" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "Extoll that a particular destination can be communicated with through a particular", + "version of XCM.", + "", + "- `origin`: Must be Root.", + "- `location`: The destination that is being described.", + "- `xcm_version`: The latest version of XCM that `location` supports." + ], + "args": [ + { + "name": "location", + "type": "xcm:v1:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "xcm_version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "Set a safe XCM version (the version that XCM should be encoded with if the most recent", + "version a destination can accept is unknown).", + "", + "- `origin`: Must be Root.", + "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "Ask a location to notify us regarding their XCM version and any changes to it.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we should subscribe for XCM version notifications." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "Require that a particular destination should no longer notify us regarding any XCM", + "version changes.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we are currently subscribed for XCM version", + " notifications which we no longer desire." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination chain and forward", + "a notification XCM.", + "", + "Fee payment on the destination side is made from the first asset listed in the `assets` vector.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the first asset listed in the `assets` vector.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `dest_weight`: Equal to the total weight on `dest` of the XCM message", + " `Teleport { assets, effects: [ BuyExecution{..}, DepositAsset{..} ] }`.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + } + ], + "calls_value": { + "type": 212 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted.", + "", + "\\[ outcome \\]" + ], + "args": [ + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent.", + "", + "\\[ origin, destination, message \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "xcm:v1:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiLocation", + "Xcm<()>" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call.", + "", + "\\[ id, response \\]" + ], + "args": [ + "U64", + "xcm:v2:Response" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification could", + "not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result.", + "", + "\\[ id, pallet index, call index, actual weight, max budgeted weight \\]" + ], + "args": [ + "U64", + "U8", + "U8", + "U64", + "U64" + ], + "args_name": [ + "", + "", + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon.", + "", + "\\[ origin location, id, expected location \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "option" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storate by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed.", + "", + "\\[ id \\]" + ], + "args": [ + "U64" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap.", + "", + "\\[ hash, origin, assets \\]" + ], + "args": [ + "H256", + "xcm:v1:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "\\[ destination, result \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention.", + "", + "\\[ location, XCM version \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it.", + "", + "\\[ location, query ID, error \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "xcm:v2:traits:Error" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format.", + "", + "\\[ location, query ID \\]" + ], + "args": [ + "xcm:VersionedMultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "VersionedMultiLocation", + "QueryId" + ] + } + ], + "events_value": { + "type": 37 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message. Perhaps", + "a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `MultiLocation` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + } + ], + "errors_value": { + "type": 235 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 8]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 8]", + "Outcome" + ] + } + ], + "events_value": { + "type": 76 + }, + "errors": null, + "errors_value": { + "type": 236 + }, + "index": 32 + }, + { + "name": "DmpQueue", + "prefix": "DmpQueue", + "storage": [ + { + "name": "Configuration", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 237 + }, + "fallback": "0x00e40b5402000000", + "docs": [ + " The configuration." + ] + }, + { + "name": "PageIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_dmp_queue:PageIndexData", + "PlainTypeValue": 238 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The page index." + ] + }, + { + "name": "Pages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec>", + "keys_id": 4, + "value_id": 239 + } + }, + "fallback": "0x00", + "docs": [ + " The queue pages." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32Vec", + "keys_id": 8, + "value_id": 240 + } + }, + "fallback": "0x00", + "docs": [ + " The overweight messages." + ] + } + ], + "calls": [ + { + "lookup": "2100", + "name": "service_overweight", + "docs": [ + "Service a single overweight message.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight message to service.", + "- `weight_limit`: The amount of weight that message execution may take.", + "", + "Errors:", + "- `Unknown`: Message of `index` is unknown.", + "- `OverLimit`: Message execution may use greater than `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 241 + }, + "events": [ + { + "lookup": "2100", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2101", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2102", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 32]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MessageId", + "Outcome" + ] + }, + { + "lookup": "2103", + "name": "WeightExhausted", + "docs": [ + "The weight limit for handling downward messages was reached.", + "\\[ id, remaining, required \\]" + ], + "args": [ + "[U8; 32]", + "U64", + "U64" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MessageId", + "Weight", + "Weight" + ] + }, + { + "lookup": "2104", + "name": "OverweightEnqueued", + "docs": [ + "Downward message is overweight and was placed in the overweight queue.", + "\\[ id, index, required \\]" + ], + "args": [ + "[U8; 32]", + "U64", + "U64" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MessageId", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "2105", + "name": "OverweightServiced", + "docs": [ + "Downward message from the overweight queue was executed.", + "\\[ index, used \\]" + ], + "args": [ + "U64", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 77 + }, + "errors": [ + { + "name": "Unknown", + "doc": [ + "The message index given is unknown." + ] + }, + { + "name": "OverLimit", + "doc": [ + "The amount of weight given is possibly not enough for executing the message." + ] + } + ], + "errors_value": { + "type": 242 + }, + "index": 33 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "Send a batch of dispatch calls.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# ", + "", + "This will return `Ok` in all circumstances. To determine the success of the batch, an", + "event is deposited. If a call failed and the batch was interrupted, then the", + "`BatchInterrupted` event is deposited, along with the number of successful calls made", + "and the error of the failed call. If all were successful, then the `BatchCompleted`", + "event is deposited." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::Call>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "Send a call through an indexed pseudonym of the sender.", + "", + "Filter from origin are passed along. The call will be dispatched with an origin which", + "use the same filter as the origin of this call.", + "", + "NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", + "because you expect `proxy` to have been used prior in the call stack and you do not want", + "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", + "in the Multisig pallet instead.", + "", + "NOTE: Prior to version *12, this was called `as_limited_sub`.", + "", + "The dispatch origin for this call must be _Signed_." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "Send a batch of dispatch calls and atomically execute them.", + "The whole transaction will rollback and fail if any of the calls failed.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# " + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::Call>" + } + ] + } + ], + "calls_value": { + "type": 243 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error. \\[index, error\\]" + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + } + ], + "events_value": { + "type": 78 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "8ee30000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 255 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 256, + "value_id": 257 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + }, + { + "name": "Calls", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "[U8; 32]" + ], + "value": "Tuple:VecAccountIdU128", + "keys_id": 1, + "value_id": 258 + } + }, + "fallback": "0x00", + "docs": null + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "Immediately dispatch a multi-signature call using a single approval from the caller.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `other_signatories`: The accounts (other than the sender) who are part of the", + "multi-signature, but do not participate in the approval process.", + "- `call`: The call to be executed.", + "", + "Result is equivalent to the dispatched result.", + "", + "# ", + "O(Z + C) where Z is the length of the call and C its execution weight.", + "-------------------------------", + "- DB Weight: None", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "If there are enough, then dispatch the call.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call`: The call to be executed.", + "", + "NOTE: Unless this is the final approval, you will generally want to use", + "`approve_as_multi` instead, since it only requires a hash of the call.", + "", + "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", + "on success, result is `Ok` and the result from the interior call, if it was executed,", + "may be found in the deposited `MultisigExecuted` event.", + "", + "# ", + "- `O(S + Z + Call)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- The weight of the `call`.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "-------------------------------", + "- DB Weight:", + " - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)", + " - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "Vec", + "type_name": "OpaqueCall" + }, + { + "name": "store_call", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call_hash`: The hash of the call to be executed.", + "", + "NOTE: If this is the final approval, you will want to use `as_multi` instead.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account]", + " - Write: Multisig Storage, [Caller Account]", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", + "for this operation will be unreserved on success.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `timepoint`: The timepoint (block number and transaction index) of the first approval", + "transaction for this dispatch.", + "- `call_hash`: The hash of the call to be executed.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- One event.", + "- I/O: 1 read `O(S)`, one remove.", + "- Storage: removes one item.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account], Refund Account, Calls", + " - Write: Multisig Storage, [Caller Account], Refund Account, Calls", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 246 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun. \\[approving, multisig, call_hash\\]" + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone.", + "\\[approving, timepoint, multisig, call_hash\\]" + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed. \\[approving, timepoint, multisig, call_hash\\]" + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "", + "", + "", + "", + "" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled. \\[cancelling, timepoint, multisig, call_hash\\]" + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 79 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "008e56ad040000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "0048e801000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U16", + "type_value": 85, + "constants_value": "6400", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 259 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:frame_support:storage:bounded_vec:BoundedVec@261U128", + "keys_id": 0, + "value_id": 260 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:frame_support:storage:bounded_vec:BoundedVec@265U128", + "keys_id": 0, + "value_id": 264 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorised for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "Register a proxy account for the sender that is able to make calls on its behalf.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to make a proxy.", + "- `proxy_type`: The permissions allowed for this proxy account.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "Unregister a proxy account for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to remove as a proxy.", + "- `proxy_type`: The permissions currently enabled for the removed proxy account.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "Unregister all proxy accounts for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "WARNING: This may be called on accounts created by `anonymous`, however if done, then", + "the unreserved fees will be inaccessible. **All access to this account will be lost.**", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": null + }, + { + "lookup": "2a04", + "name": "anonymous", + "docs": [ + "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", + "initialize it with a proxy of `proxy_type` for `origin` sender.", + "", + "Requires a `Signed` origin.", + "", + "- `proxy_type`: The type of the proxy that the sender will be registered as over the", + "new account. This will almost always be the most permissive `ProxyType` possible to", + "allow for maximum flexibility.", + "- `index`: A disambiguation index, in case this is called multiple times in the same", + "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", + "want to use `0`.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "Fails with `Duplicate` if this has already been called in this transaction, from the", + "same sender, with the same parameters.", + "", + "Fails if there are insufficient funds to pay for deposit.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# ", + "TODO: Might be over counting 1 read" + ], + "args": [ + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_anonymous", + "docs": [ + "Removes a previously spawned anonymous proxy.", + "", + "WARNING: **All access to this account will be lost.** Any funds held in it will be", + "inaccessible.", + "", + "Requires a `Signed` origin, and the sender account must have been created by a call to", + "`anonymous` with corresponding parameters.", + "", + "- `spawner`: The account that originally called `anonymous` to create this account.", + "- `index`: The disambiguation index originally passed to `anonymous`. Probably `0`.", + "- `proxy_type`: The proxy type originally passed to `anonymous`.", + "- `height`: The height of the chain when the call to `anonymous` was processed.", + "- `ext_index`: The extrinsic index in which the call to `anonymous` was processed.", + "", + "Fails with `NoPermission` in case the caller is not a previously created anonymous", + "account whose `anonymous` call has corresponding parameters.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "spawner", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumber" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "Publish the hash of a proxy-call that will be made in the future.", + "", + "This must be called some number of blocks before the corresponding `proxy` is attempted", + "if the delay associated with the proxy relationship is greater than zero.", + "", + "No more than `MaxPending` announcements may be made at any one time.", + "", + "This will take a deposit of `AnnouncementDepositFactor` as well as", + "`AnnouncementDepositBase` if there are no other pending announcements.", + "", + "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "Remove a given announcement.", + "", + "May be called by a proxy account to remove a call they previously announced and return", + "the deposit.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "Remove the given announcement of a delegate.", + "", + "May be called by a target (proxied) account to remove a call that one of their delegates", + "(`delegate`) has announced they want to execute. The deposit is returned.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `delegate`: The account that previously announced the call.", + "- `call_hash`: The hash of the call to be made.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorized for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + } + ], + "calls_value": { + "type": 248 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given \\[result\\]." + ], + "args": [ + "Result" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "AnonymousCreated", + "docs": [ + "Anonymous account has been created by new proxy with given", + "disambiguation index and proxy type. \\[anonymous, who, proxy_type,", + "disambiguation_index\\]" + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U16" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future. \\[real, proxy, call_hash\\]" + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added. \\[delegator, delegatee, proxy_type, delay\\]" + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + } + ], + "events_value": { + "type": 83 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00227aaa040000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "408af701000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "0034f4aa040000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "8014ef03000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 268 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 269 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetBalance", + "keys_id": 270, + "value_id": 271 + } + }, + "fallback": "0x000000000000000000000000000000000000", + "docs": [ + " The number of units of assets held by any given account." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 272, + "value_id": 273 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata", + "keys_id": 4, + "value_id": 274 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "destroy", + "docs": [ + "Destroy a class of fungible assets.", + "", + "The origin must conform to `ForceOrigin` or must be Signed and the sender must be the", + "owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + "asset.", + "", + "Emits `Destroyed` event when successful.", + "", + "NOTE: It can be helpful to first freeze an asset before destroying it so that you", + "can provide accurate witness information and prevent users from manipulating state", + "in a way that can make it harder to destroy.", + "", + "Weight: `O(c + p + a)` where:", + "- `c = (witness.accounts - witness.sufficients)`", + "- `s = witness.sufficients`", + "- `a = witness.approvals`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "witness", + "type": "pallet_assets:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3203", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3204", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `BalanceZero` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3205", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3206", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers from an account.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3209", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "320a", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "320b", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "320c", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "320d", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "320e", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "320f", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3210", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3211", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3212", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3213", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3214", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3215", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3216", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 250 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created. \\[asset_id, creator, owner\\]" + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued. \\[asset_id, owner, total_supply\\]" + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred. \\[asset_id, from, to, amount\\]" + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed. \\[asset_id, owner, balance\\]" + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed \\[asset_id, issuer, admin, freezer\\]" + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed \\[asset_id, owner\\]" + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen. \\[asset_id, who\\]" + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed. \\[asset_id, who\\]" + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen. \\[asset_id\\]" + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed. \\[asset_id\\]" + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320b", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created. \\[asset_id, owner\\]" + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320c", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset. \\[asset_id, name, symbol, decimals, is_frozen\\]" + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "", + "", + "", + "", + "" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "320d", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset. \\[asset_id\\]" + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account.", + "\\[asset_id, source, delegate, amount\\]" + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "320f", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`.", + "\\[id, owner, delegate\\]" + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3210", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`.", + "\\[id, owner, delegate, destination\\]" + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "", + "", + "", + "", + "" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3211", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin.", + "\\[id\\]" + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "AssetId" + ] + } + ], + "events_value": { + "type": 86 + }, + "constants": [ + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "0010a5d4e80000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "006125ac040000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "40420f00000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "BalanceZero", + "doc": [ + "Balance should be non-zero." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "NoProvider", + "doc": [ + "No provider reference exists to allow a non-zero balance of a non-self-sufficient", + "asset." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + } + ], + "errors_value": { + "type": 276 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:ClassDetails", + "keys_id": 4, + "value_id": 277 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset class." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 278, + "value_id": 82 + } + }, + "fallback": "0x00", + "docs": [ + " The assets held by any given account; set out this way so that assets owned by a single", + " account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:InstanceDetails", + "keys_id": 97, + "value_id": 279 + } + }, + "fallback": "0x00", + "docs": [ + " The assets in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:ClassMetadata", + "keys_id": 4, + "value_id": 280 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an asset class." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:InstanceMetadata", + "keys_id": 97, + "value_id": 281 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an asset instance." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 282, + "value_id": 283 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an asset class." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "Issue a new class of non-fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "`AssetDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `class`: The identifier of the new asset class. This must not be currently in use.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "Issue a new class of non-fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `class`: The identifier of the new asset. This must not be currently in use.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "Destroy a class of fungible assets.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the asset `class`.", + "", + "- `class`: The identifier of the asset class to be destroyed.", + "- `witness`: Information on the instances minted in the asset class. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.instances`", + "- `m = witness.instance_metadatas`", + "- `a = witness.attributes`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "Mint an asset instance of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `class`.", + "", + "- `class`: The class of the asset to be minted.", + "- `instance`: The instance value of the asset to be minted.", + "- `beneficiary`: The initial owner of the minted asset.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "Destroy a single asset instance.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `class`.", + "", + "- `class`: The class of the asset to be burned.", + "- `instance`: The instance of the asset to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " asset is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option<::Source>" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "Move an asset from the sender account to another.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the asset `class`;", + "- the Owner of the asset `instance`;", + "- the approved delegate for the asset `instance` (in this case, the approval is reset).", + "", + "Arguments:", + "- `class`: The class of the asset to be transferred.", + "- `instance`: The instance of the asset to be transferred.", + "- `dest`: The account to receive ownership of the asset.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "Reevaluate the deposits on some assets.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `class`.", + "", + "- `class`: The class of the asset to be frozen.", + "- `instances`: The instances of the asset class whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any asset instances which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on instances", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the class is unknown of the signer is", + "not permitted to call it.", + "", + "Weight: `O(instances.len())`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instances", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfer of an asset instance.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `class`.", + "", + "- `class`: The class of the asset to be frozen.", + "- `instance`: The instance of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "Re-allow unprivileged transfer of an asset instance.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `class`.", + "", + "- `class`: The class of the asset to be thawed.", + "- `instance`: The instance of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_class", + "docs": [ + "Disallow further unprivileged transfers for a whole asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `class`.", + "", + "- `class`: The asset class to be frozen.", + "", + "Emits `ClassFrozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_class", + "docs": [ + "Re-allow unprivileged transfers for a whole asset class.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `class`.", + "", + "- `class`: The class to be thawed.", + "", + "Emits `ClassThawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset class.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `class`.", + "", + "- `class`: The asset class whose owner should be changed.", + "- `owner`: The new Owner of this asset class.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset class.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `class`.", + "", + "- `class`: The asset class whose team should be changed.", + "- `issuer`: The new Issuer of this asset class.", + "- `admin`: The new Admin of this asset class.", + "- `freezer`: The new Freezer of this asset class.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "Approve an instance to be transferred by a delegated third-party account.", + "", + "Origin must be Signed and must be the owner of the asset `instance`.", + "", + "- `class`: The class of the asset to be approved for delegated transfer.", + "- `instance`: The instance of the asset to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the asset.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "Cancel the prior approval for the transfer of an asset by a delegate.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the asset `class`;", + "- `Signed` with the signer being the Owner of the asset `instance`;", + "", + "Arguments:", + "- `class`: The class of the asset of whose approval will be cancelled.", + "- `instance`: The instance of the asset of whose approval will be cancelled.", + "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", + " which permission of transfer is delegated.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option<::Source>" + } + ] + }, + { + "lookup": "330f", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `class`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `free_holding`: Whether a deposit is taken for holding an instance of this asset", + " class.", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "Set an attribute for an asset class or instance.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "asset `class`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `class`: The identifier of the asset class whose instance's metadata to set.", + "- `maybe_instance`: The identifier of the asset instance whose metadata to set.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "maybe_instance", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "Set an attribute for an asset class or instance.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "asset `class`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `class`: The identifier of the asset class whose instance's metadata to set.", + "- `instance`: The identifier of the asset instance whose metadata to set.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "maybe_instance", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset instance.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "asset `class`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `class`: The identifier of the asset class whose instance's metadata to set.", + "- `instance`: The identifier of the asset instance whose metadata to set.", + "- `data`: The general information of this asset. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset instance.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "asset `instance`.", + "", + "Any deposit is freed for the asset class owner.", + "", + "- `class`: The identifier of the asset class whose instance's metadata to clear.", + "- `instance`: The identifier of the asset instance whose metadata to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + } + ] + }, + { + "lookup": "3314", + "name": "set_class_metadata", + "docs": [ + "Set the metadata for an asset class.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the asset `class`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `class`: The identifier of the asset whose metadata to update.", + "- `data`: The general information of this asset. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `ClassMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_class_metadata", + "docs": [ + "Clear the metadata for an asset class.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the asset `class`.", + "", + "Any deposit is freed for the asset class owner.", + "", + "- `class`: The identifier of the asset class whose metadata to clear.", + "", + "Emits `ClassMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + } + ] + } + ], + "calls_value": { + "type": 252 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "An asset class was created. \\[ class, creator, owner \\]" + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "ClassId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "An asset class was force-created. \\[ class, owner \\]" + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "ClassId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "An asset `class` was destroyed. \\[ class \\]" + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An asset `instance` was issued. \\[ class, instance, owner \\]" + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An asset `instance` was transferred. \\[ class, instance, from, to \\]" + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An asset `instance` was destroyed. \\[ class, instance, owner \\]" + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some asset `instance` was frozen. \\[ class, instance \\]" + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "ClassId", + "InstanceId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some asset `instance` was thawed. \\[ class, instance \\]" + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "ClassId", + "InstanceId" + ] + }, + { + "lookup": "3308", + "name": "ClassFrozen", + "docs": [ + "Some asset `class` was frozen. \\[ class \\]" + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "3309", + "name": "ClassThawed", + "docs": [ + "Some asset `class` was thawed. \\[ class \\]" + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed \\[ class, new_owner \\]" + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "ClassId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed \\[ class, issuer, admin, freezer \\]" + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "ClassId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `instance` of an asset `class` has been approved by the `owner` for transfer by a", + "`delegate`.", + "\\[ class, instance, owner, delegate \\]" + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `instance` of an asset `class` was", + "cancelled by its `owner`.", + "\\[ class, instance, owner, delegate \\]" + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "AssetStatusChanged", + "docs": [ + "An asset `class` has had its attributes changed by the `Force` origin.", + "\\[ class \\]" + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "330f", + "name": "ClassMetadataSet", + "docs": [ + "New metadata has been set for an asset class. \\[ class, data, is_frozen \\]" + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "ClassId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "ClassMetadataCleared", + "docs": [ + "Metadata has been cleared for an asset class. \\[ class \\]" + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset instance.", + "\\[ class, instance, data, is_frozen \\]" + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset instance. \\[ class, instance \\]" + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "ClassId", + "InstanceId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an asset instance. \\[ class, successful_instances \\]" + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "ClassId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for an asset class or instance.", + "\\[ class, maybe_instance, key, value \\]" + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "ClassId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for an asset class or instance.", + "\\[ class, maybe_instance, key, maybe_value \\]" + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "ClassId", + "Option", + "BoundedVec" + ] + } + ], + "events_value": { + "type": 88 + }, + "constants": [ + { + "name": "ClassDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e40b54020000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset class." + ] + }, + { + "name": "InstanceDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset instance." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "402ac8af040000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00c817a8040000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an asset." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "40420f00000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset instance ID has already been used for an asset." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The asset instance or class is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + } + ], + "errors_value": { + "type": 284 + }, + "index": 51 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v700.json b/src/demo_substrate_events/abi/assethub/v700.json new file mode 100644 index 000000000..375fb6e6b --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v700.json @@ -0,0 +1,8956 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:weights:PerDispatchClass@7", + "PlainTypeValue": 7 + }, + "fallback": "0x000000000000000000000000000000000000000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 9 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 9 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 11 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 15 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: This storage item is explicitly unbounded since it is never intended to be read", + " from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 9, + "value_id": 95 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 97 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 86 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 86 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 93 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "fill_block", + "docs": [ + "A dispatch that will fill the block weight up to the given ratio." + ], + "args": [ + { + "name": "ratio", + "type": "U32", + "type_name": "Perbill" + } + ] + }, + { + "lookup": "0001", + "name": "remark", + "docs": [ + "Make some on-chain remark.", + "", + "# ", + "- `O(1)`", + "# " + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0002", + "name": "set_heap_pages", + "docs": [ + "Set the number of pages in the WebAssembly environment's heap." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0003", + "name": "set_code", + "docs": [ + "Set the new runtime code.", + "", + "# ", + "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`", + "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is", + " expensive).", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime, but generally this is very", + "expensive. We will treat this as a full block.", + "# " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_code_without_checks", + "docs": [ + "Set the new runtime code without doing any checks of the given `code`.", + "", + "# ", + "- `O(C)` where `C` length of `code`", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime. We will treat this as a full", + "block. # " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0005", + "name": "set_storage", + "docs": [ + "Set some items of storage." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_storage", + "docs": [ + "Kill some items from storage." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0007", + "name": "kill_prefix", + "docs": [ + "Kill all storage items with a key that starts with the given prefix.", + "", + "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", + "the prefix we are removing to accurately calculate the weight of this function." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0008", + "name": "remark_with_event", + "docs": [ + "Make some on-chain remark and emit event." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 99 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:weights:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:weights:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + } + ], + "events_value": { + "type": 18 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 104, + "constants_value": "00f2052a010000000088526a74000000405973070000000001c0d22c76510000000100e6bd4f57000000010000000000000000405973070000000001c074c1906e000000010088526a740000000100a2941a1d0000004059730700000000000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:weights:PerDispatchClass@109", + "type_value": 108, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "60090000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "frame_support:weights:RuntimeDbWeight", + "type_value": 110, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 111, + "constants_value": "2473746174656d696e742473746174656d696e7401000000bc0200000000000028dd718d5cc53262d401000000df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a05000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a801000000ea93e3f16f3d6962020000000500000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 84, + "constants_value": "0000", + "docs": [ + " The designated SS85 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + } + ], + "errors_value": { + "type": 115 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][well_known_keys::CODE]", + " which will result the next block process with the new validation code. This concludes the upgrade process.", + "", + " [well_known_keys::CODE]: sp_core::storage::well_known_keys::CODE" + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v1:PersistedValidationData", + "PlainTypeValue": 116 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 86 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 118 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 120 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v1:AbridgedHostConfiguration", + "PlainTypeValue": 124 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 125 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 126 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 129 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 103 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 103 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The next authorized upgrade, if there is one." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See [`Pallet::set_custom_validation_head_data`] for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "Set the current validation data.", + "", + "This should be invoked exactly once per block. It will panic at the finalization", + "phase if the call was not invoked.", + "", + "The dispatch origin for this call must be `Inherent`", + "", + "As a side effect, this function upgrades the current validation function", + "if the appropriate time has come." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": null, + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": null, + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": null, + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 131 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade has been authorized." + ], + "args": [ + "H256" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Hash" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed.", + "\\[ count \\]" + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0105", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight.", + "\\[ weight_used, result_mqc_head \\]" + ], + "args": [ + "U64", + "H256" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + } + ], + "events_value": { + "type": 26 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending" + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function" + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run" + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block" + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block" + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 141 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x0000000000000000", + "docs": [ + " Current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 86 + }, + "fallback": "0x00", + "docs": [ + " Did the timestamp get updated in this block?" + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "Set the current time.", + "", + "This call should be invoked exactly once per block. It will panic at the finalization", + "phase, if this call hasn't been invoked by that time.", + "", + "The timestamp should be greater than the previous one by the amount specified by", + "`MinimumPeriod`.", + "", + "The dispatch origin for this call must be `Inherent`.", + "", + "# ", + "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", + "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in", + " `on_finalize`)", + "- 1 event handler `on_timestamp_set`. Must be `O(1)`.", + "# " + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 142 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 8, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks. Beware that this is different to the *expected*", + " period that the block production apparatus provides. Your chosen consensus system will", + " generally work with this to determine a sensible block time. e.g. For Aura, it will be", + " double this period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 35 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 143 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 147 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances." + ] + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_balances:Releases", + "PlainTypeValue": 150 + }, + "fallback": "0x00", + "docs": [ + " Storage version of the pallet.", + "", + " This is set to v2.0.0 for new networks." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer", + "docs": [ + "Transfer some liquid free balance to another account.", + "", + "`transfer` will set the `FreeBalance` of the sender and receiver.", + "If the sender's account is below the existential deposit as a result", + "of the transfer, the account will be reaped.", + "", + "The dispatch origin for this call must be `Signed` by the transactor.", + "", + "# ", + "- Dependent on arguments but not critical, given proper implementations for input config", + " types. See related functions below.", + "- It contains a limited number of reads and writes internally and no complex", + " computation.", + "", + "Related functions:", + "", + " - `ensure_can_withdraw` is always called internally but has a bounded complexity.", + " - Transferring balances to accounts that did not exist before will cause", + " `T::OnNewAccount::on_new_account` to be called.", + " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.", + " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check", + " that the transfer will not kill the origin account.", + "---------------------------------", + "- Origin account is already in memory, so no DB operations for them.", + "# " + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a01", + "name": "set_balance", + "docs": [ + "Set the balances of a given account.", + "", + "This will alter `FreeBalance` and `ReservedBalance` in storage. it will", + "also alter the total issuance of the system (`TotalIssuance`) appropriately.", + "If the new free or reserved balance is below the existential deposit,", + "it will reset the account nonce (`frame_system::AccountNonce`).", + "", + "The dispatch origin for this call is `root`." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "new_reserved", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "Exactly as `transfer`, except the origin must be root and the source account may be", + "specified.", + "# ", + "- Same as transfer, but additional read and write because the source account is not", + " assumed to be in the overlay.", + "# " + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "Same as the [`transfer`] call, but with a check that the transfer will not kill the", + "origin account.", + "", + "99% of the time you want [`transfer`] instead.", + "", + "[`transfer`]: struct.Pallet.html#method.transfer" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "Transfer the entire transferable balance from the caller account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the account has, causing the sender account to be killed (false), or", + " transfer everything except at least the existential deposit, which will guarantee to", + " keep the sender account alive (true). # ", + "- O(1). Just like transfer, but reading the user's transferable balance first.", + " #" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "Unreserve some balance from a user by force.", + "", + "Can only be called by ROOT." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 151 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "free", + "reserved" + ], + "args_type_name": [ + "AccountId", + "Balance", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 27 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open." + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value" + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal" + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value" + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit" + ] + }, + { + "name": "KeepAlive", + "doc": [ + "Transfer/payment would kill account" + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account" + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist" + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed MaxReserves" + ] + } + ], + "errors_value": { + "type": 154 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 155 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 156 + }, + "fallback": "0x00", + "docs": null + } + ], + "constants": [ + { + "name": "TransactionByteFee", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The fee to be paid for making a transaction; the per-byte portion." + ] + }, + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + }, + { + "name": "WeightToFee", + "type": "Vec", + "type_value": 157, + "constants_value": "0400000000000000000000000000000000ff117a000001", + "docs": [ + " The polynomial that is applied in order to derive fee from weight." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "errors": null, + "errors_value": null, + "index": 12 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Uncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 159 + }, + "fallback": "0x00", + "docs": [ + " Uncles" + ] + }, + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + }, + { + "name": "DidSetUncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 86 + }, + "fallback": "0x00", + "docs": [ + " Whether uncles were already set in this block." + ] + } + ], + "calls": [ + { + "lookup": "1400", + "name": "set_uncles", + "docs": [ + "Provide a set of uncles." + ], + "args": [ + { + "name": "new_uncles", + "type": "Vec", + "type_name": "Vec
" + } + ] + } + ], + "calls_value": { + "type": 162 + }, + "constants": [ + { + "name": "UncleGenerations", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The number of blocks back we should accept uncles.", + " This means that we will deal with uncle-parents that are", + " `UncleGenerations + 1` before `now`." + ] + } + ], + "errors": [ + { + "name": "InvalidUncleParent", + "doc": [ + "The uncle parent not in the chain." + ] + }, + { + "name": "UnclesAlreadySet", + "doc": [ + "Uncles already set in the block." + ] + }, + { + "name": "TooManyUncles", + "doc": [ + "Too many uncles." + ] + }, + { + "name": "GenesisUncle", + "doc": [ + "The uncle is genesis." + ] + }, + { + "name": "TooHighUncle", + "doc": [ + "The uncle is too high in chain." + ] + }, + { + "name": "UncleAlreadyIncluded", + "doc": [ + "The uncle is already included." + ] + }, + { + "name": "OldUncle", + "doc": [ + "The uncle isn't recent enough to be included." + ] + } + ], + "errors_value": { + "type": 166 + }, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, fixed collators." + ] + }, + { + "name": "Candidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 167 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "Set the list of invulnerable (fixed) collators." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "Set the ideal number of collators (not including the invulnerables).", + "If lowering this number, then the number of running collators could be higher than this figure.", + "Aside from that edge case, there should be no other way to have more collators than the desired number." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "Set the candidacy bond amount." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "Register this account as a collator candidate. The account must (a) already have", + "registered session keys and (b) be able to reserve the `CandidacyBond`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "Deregister `origin` as a collator candidate. Note that the collator can only leave on", + "session change. The `CandidacyBond` will be unreserved immediately.", + "", + "This call will fail if the total number of candidates would drop below `MinCandidates`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + } + ], + "calls_value": { + "type": 169 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": null, + "args": [ + "Vec" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "NewDesiredCandidates", + "docs": null, + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1502", + "name": "NewCandidacyBond", + "docs": null, + "args": [ + "U128" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1503", + "name": "CandidateAdded", + "docs": null, + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1504", + "name": "CandidateRemoved", + "docs": null, + "args": [ + "AccountId" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 29 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "Too many candidates" + ] + }, + { + "name": "TooFewCandidates", + "doc": [ + "Too few candidates" + ] + }, + { + "name": "Unknown", + "doc": [ + "Unknown error" + ] + }, + { + "name": "Permission", + "doc": [ + "Permission issue" + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "User is already a candidate" + ] + }, + { + "name": "NotCandidate", + "doc": [ + "User is not a candidate" + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "User is already an Invulnerable" + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID" + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered" + ] + } + ], + "errors_value": { + "type": 170 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 86 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 171 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 89 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 173 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 176, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "Sets the session key(s) of the function caller to `keys`.", + "Allows an account to set its session key prior to becoming a validator.", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be signed.", + "", + "# ", + "- Complexity: `O(1)`. Actual cost depends on the number of length of", + " `T::Keys::key_ids()` which is fixed.", + "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`", + "- DbWrites: `origin account`, `NextKeys`", + "- DbReads per key id: `KeyOwner`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "Removes any session key(s) of the function caller.", + "", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be Signed and the account must be either be", + "convertible to a validator ID using the chain's typical addressing system (this usually", + "means being a controller account) or directly convertible into a validator ID (which", + "usually means being a stash account).", + "", + "# ", + "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length", + " of `T::Keys::key_ids()` which is fixed.", + "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`", + "- DbWrites: `NextKeys`, `origin account`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": null + } + ], + "calls_value": { + "type": 178 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 31 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 179 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 180 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 182 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 181 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will always", + " be updated to the latest AuRa authorities in `on_finalize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 183 + }, + "fallback": "0x00", + "docs": [ + " Status of the inbound XCMP channels." + ] + }, + { + "name": "InboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 189, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " Inbound aggregate XCMP messages. It can only be one per ParaId/block." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 190 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 193, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 35, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 194 + }, + "fallback": "0x020000000500000001000000a086010000000000020000000000000000c817a804000000", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32U32Vec", + "keys_id": 8, + "value_id": 195 + } + }, + "fallback": "0x00", + "docs": [ + " The messages that exceeded max individual message weight budget.", + "", + " These message stay in this storage map until they are manually dispatched via", + " `service_overweight`." + ] + }, + { + "name": "OverweightCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The number of overweight messages ever recorded in `Overweight`. Also doubles as the next", + " available free overweight index." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 86 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + } + ], + "calls": [ + { + "lookup": "1e00", + "name": "service_overweight", + "docs": [ + "Services a single overweight XCM.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight XCM to service", + "- `weight_limit`: The amount of weight that XCM execution may take.", + "", + "Errors:", + "- `BadOverweightIndex`: XCM under `index` is not found in the `Overweight` storage map.", + "- `BadXcm`: XCM under `index` cannot be properly decoded into a valid XCM format.", + "- `WeightOverLimit`: XCM execution may use greater `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "Suspends all XCM executions for the XCMP queue, regardless of the sender's origin.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "Resumes all XCM executions for the XCMP queue.", + "", + "Note that this function doesn't change the status of the in/out bound channels.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue for the other side to be told to", + "suspend their sending.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.suspend_value`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue after which we drop any further", + "messages from the channel.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.drop_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "Overwrites the number of pages of messages which the queue must be reduced to before it signals that", + "message sending may recommence after it has been suspended.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.resume_threshold` " + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e06", + "name": "update_threshold_weight", + "docs": [ + "Overwrites the amount of remaining weight under which we stop processing messages.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.threshold_weight` " + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e07", + "name": "update_weight_restrict_decay", + "docs": [ + "Overwrites the speed to which the available weight approaches the maximum weight.", + "A lower number results in a faster progression. A value of 1 makes the entire weight available initially.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.weight_restrict_decay`. " + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e08", + "name": "update_xcmp_max_individual_weight", + "docs": [ + "Overwrite the maximum amount of weight any individual message may consume.", + "Messages above this weight go into the overweight queue and may only be serviced explicitly.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.xcmp_max_individual_weight`. " + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 196 + }, + "events": [ + { + "lookup": "1e00", + "name": "Success", + "docs": [ + "Some XCM was executed ok." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e01", + "name": "Fail", + "docs": [ + "Some XCM failed." + ], + "args": [ + "option", + "xcm:v2:traits:Error" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "Option", + "XcmError" + ] + }, + { + "lookup": "1e02", + "name": "BadVersion", + "docs": [ + "Bad XCM version used." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e03", + "name": "BadFormat", + "docs": [ + "Bad XCM format used." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e04", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e05", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e06", + "name": "OverweightEnqueued", + "docs": [ + "An XCM exceeded the individual message weight budget." + ], + "args": [ + "U32", + "U32", + "U64", + "U64" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "ParaId", + "RelayBlockNumber", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "1e07", + "name": "OverweightServiced", + "docs": [ + "An XCM from the overweight queue was executed with the given actual weight used." + ], + "args": [ + "U64", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 32 + }, + "errors": [ + { + "name": "FailedToSend", + "doc": [ + "Failed to send XCM message." + ] + }, + { + "name": "BadXcmOrigin", + "doc": [ + "Bad XCM origin." + ] + }, + { + "name": "BadXcm", + "doc": [ + "Bad XCM data." + ] + }, + { + "name": "BadOverweightIndex", + "doc": [ + "Bad overweight index." + ] + }, + { + "name": "WeightOverLimit", + "doc": [ + "Provided weight is possibly not enough to execute the message." + ] + } + ], + "errors_value": { + "type": 197 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 8, + "value_id": 198 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 9, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U32", + "keys_id": 204, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U64", + "keys_id": 204, + "value_id": 8 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "Tuple:U64U64U32", + "keys_id": 204, + "value_id": 205 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 206 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 209 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": null, + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@212", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the first asset listed in the `assets` vector and", + "fee-weight is calculated locally and thus remote weights are assumed to be equal to", + "local weights.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination chain and forward", + "a notification XCM.", + "", + "Fee payment on the destination side is made from the first asset listed in the `assets` vector and", + "fee-weight is calculated locally and thus remote weights are assumed to be equal to", + "local weights.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "Execute an XCM message from a local, signed, origin.", + "", + "An event is deposited indicating whether `msg` could be executed completely or only", + "partially.", + "", + "No more than `max_weight` will be used in its attempted execution. If this is less than the", + "maximum amount of weight that the message could take to be executed, then no execution", + "attempt will be made.", + "", + "NOTE: A successful return to this does *not* imply that the `msg` was executed successfully", + "to completion; only that *some* of it was executed." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@221", + "type_name": "Box::Call>>" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "Extoll that a particular destination can be communicated with through a particular", + "version of XCM.", + "", + "- `origin`: Must be Root.", + "- `location`: The destination that is being described.", + "- `xcm_version`: The latest version of XCM that `location` supports." + ], + "args": [ + { + "name": "location", + "type": "xcm:v1:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "xcm_version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "Set a safe XCM version (the version that XCM should be encoded with if the most recent", + "version a destination can accept is unknown).", + "", + "- `origin`: Must be Root.", + "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "Ask a location to notify us regarding their XCM version and any changes to it.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we should subscribe for XCM version notifications." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "Require that a particular destination should no longer notify us regarding any XCM", + "version changes.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we are currently subscribed for XCM version", + " notifications which we no longer desire." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination chain and forward", + "a notification XCM.", + "", + "Fee payment on the destination side is made from the first asset listed in the `assets` vector.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the first asset listed in the `assets` vector.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + } + ], + "calls_value": { + "type": 211 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted.", + "", + "\\[ outcome \\]" + ], + "args": [ + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent.", + "", + "\\[ origin, destination, message \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "xcm:v1:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiLocation", + "Xcm<()>" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call.", + "", + "\\[ id, response \\]" + ], + "args": [ + "U64", + "xcm:v2:Response" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification could", + "not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result.", + "", + "\\[ id, pallet index, call index, actual weight, max budgeted weight \\]" + ], + "args": [ + "U64", + "U8", + "U8", + "U64", + "U64" + ], + "args_name": [ + "", + "", + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon.", + "", + "\\[ origin location, id, expected location \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "option" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed.", + "", + "\\[ id \\]" + ], + "args": [ + "U64" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap.", + "", + "\\[ hash, origin, assets \\]" + ], + "args": [ + "H256", + "xcm:v1:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "\\[ destination, result \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention.", + "", + "\\[ location, XCM version \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it.", + "", + "\\[ location, query ID, error \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "xcm:v2:traits:Error" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format.", + "", + "\\[ location, query ID \\]" + ], + "args": [ + "xcm:VersionedMultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "VersionedMultiLocation", + "QueryId" + ] + } + ], + "events_value": { + "type": 36 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message. Perhaps", + "a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `MultiLocation` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + } + ], + "errors_value": { + "type": 234 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 8]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 8]", + "Outcome" + ] + } + ], + "events_value": { + "type": 75 + }, + "errors": null, + "errors_value": { + "type": 235 + }, + "index": 32 + }, + { + "name": "DmpQueue", + "prefix": "DmpQueue", + "storage": [ + { + "name": "Configuration", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 236 + }, + "fallback": "0x00e40b5402000000", + "docs": [ + " The configuration." + ] + }, + { + "name": "PageIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_dmp_queue:PageIndexData", + "PlainTypeValue": 237 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The page index." + ] + }, + { + "name": "Pages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec>", + "keys_id": 4, + "value_id": 238 + } + }, + "fallback": "0x00", + "docs": [ + " The queue pages." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32Vec", + "keys_id": 8, + "value_id": 239 + } + }, + "fallback": "0x00", + "docs": [ + " The overweight messages." + ] + } + ], + "calls": [ + { + "lookup": "2100", + "name": "service_overweight", + "docs": [ + "Service a single overweight message.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight message to service.", + "- `weight_limit`: The amount of weight that message execution may take.", + "", + "Errors:", + "- `Unknown`: Message of `index` is unknown.", + "- `OverLimit`: Message execution may use greater than `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 240 + }, + "events": [ + { + "lookup": "2100", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2101", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2102", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 32]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MessageId", + "Outcome" + ] + }, + { + "lookup": "2103", + "name": "WeightExhausted", + "docs": [ + "The weight limit for handling downward messages was reached.", + "\\[ id, remaining, required \\]" + ], + "args": [ + "[U8; 32]", + "U64", + "U64" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MessageId", + "Weight", + "Weight" + ] + }, + { + "lookup": "2104", + "name": "OverweightEnqueued", + "docs": [ + "Downward message is overweight and was placed in the overweight queue.", + "\\[ id, index, required \\]" + ], + "args": [ + "[U8; 32]", + "U64", + "U64" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MessageId", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "2105", + "name": "OverweightServiced", + "docs": [ + "Downward message from the overweight queue was executed.", + "\\[ index, used \\]" + ], + "args": [ + "U64", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 76 + }, + "errors": [ + { + "name": "Unknown", + "doc": [ + "The message index given is unknown." + ] + }, + { + "name": "OverLimit", + "doc": [ + "The amount of weight given is possibly not enough for executing the message." + ] + } + ], + "errors_value": { + "type": 241 + }, + "index": 33 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "Send a batch of dispatch calls.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# ", + "", + "This will return `Ok` in all circumstances. To determine the success of the batch, an", + "event is deposited. If a call failed and the batch was interrupted, then the", + "`BatchInterrupted` event is deposited, along with the number of successful calls made", + "and the error of the failed call. If all were successful, then the `BatchCompleted`", + "event is deposited." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::Call>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "Send a call through an indexed pseudonym of the sender.", + "", + "Filter from origin are passed along. The call will be dispatched with an origin which", + "use the same filter as the origin of this call.", + "", + "NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", + "because you expect `proxy` to have been used prior in the call stack and you do not want", + "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", + "in the Multisig pallet instead.", + "", + "NOTE: Prior to version *12, this was called `as_limited_sub`.", + "", + "The dispatch origin for this call must be _Signed_." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "Send a batch of dispatch calls and atomically execute them.", + "The whole transaction will rollback and fail if any of the calls failed.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# " + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::Call>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "Dispatches a function call with a provided origin.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "# ", + "- O(1).", + "- Limited storage reads.", + "- One DB write (event).", + "- Weight of derivative `call` execution + T::WeightInfo::dispatch_as().", + "# " + ], + "args": [ + { + "name": "as_origin", + "type": "statemint_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + } + ], + "calls_value": { + "type": 242 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2803", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 77 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 260 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 261, + "value_id": 262 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + }, + { + "name": "Calls", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "[U8; 32]" + ], + "value": "Tuple:WrapperOpaqueAccountIdU128", + "keys_id": 1, + "value_id": 263 + } + }, + "fallback": "0x00", + "docs": null + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "Immediately dispatch a multi-signature call using a single approval from the caller.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `other_signatories`: The accounts (other than the sender) who are part of the", + "multi-signature, but do not participate in the approval process.", + "- `call`: The call to be executed.", + "", + "Result is equivalent to the dispatched result.", + "", + "# ", + "O(Z + C) where Z is the length of the call and C its execution weight.", + "-------------------------------", + "- DB Weight: None", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "If there are enough, then dispatch the call.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call`: The call to be executed.", + "", + "NOTE: Unless this is the final approval, you will generally want to use", + "`approve_as_multi` instead, since it only requires a hash of the call.", + "", + "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", + "on success, result is `Ok` and the result from the interior call, if it was executed,", + "may be found in the deposited `MultisigExecuted` event.", + "", + "# ", + "- `O(S + Z + Call)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- The weight of the `call`.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "-------------------------------", + "- DB Weight:", + " - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)", + " - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "WrapperOpaque", + "type_name": "OpaqueCall" + }, + { + "name": "store_call", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call_hash`: The hash of the call to be executed.", + "", + "NOTE: If this is the final approval, you will want to use `as_multi` instead.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account]", + " - Write: Multisig Storage, [Caller Account]", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", + "for this operation will be unreserved on success.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `timepoint`: The timepoint (block number and transaction index) of the first approval", + "transaction for this dispatch.", + "- `call_hash`: The hash of the call to be executed.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- One event.", + "- I/O: 1 read `O(S)`, one remove.", + "- Storage: removes one item.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account], Refund Account, Calls", + " - Write: Multisig Storage, [Caller Account], Refund Account, Calls", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 245 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 80 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "008e56ad040000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "0048e801000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U16", + "type_value": 84, + "constants_value": "6400", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 264 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:frame_support:storage:bounded_vec:BoundedVec@266U128", + "keys_id": 0, + "value_id": 265 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:frame_support:storage:bounded_vec:BoundedVec@270U128", + "keys_id": 0, + "value_id": 269 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorised for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "Register a proxy account for the sender that is able to make calls on its behalf.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to make a proxy.", + "- `proxy_type`: The permissions allowed for this proxy account.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "Unregister a proxy account for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to remove as a proxy.", + "- `proxy_type`: The permissions currently enabled for the removed proxy account.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "Unregister all proxy accounts for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "WARNING: This may be called on accounts created by `anonymous`, however if done, then", + "the unreserved fees will be inaccessible. **All access to this account will be lost.**", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": null + }, + { + "lookup": "2a04", + "name": "anonymous", + "docs": [ + "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", + "initialize it with a proxy of `proxy_type` for `origin` sender.", + "", + "Requires a `Signed` origin.", + "", + "- `proxy_type`: The type of the proxy that the sender will be registered as over the", + "new account. This will almost always be the most permissive `ProxyType` possible to", + "allow for maximum flexibility.", + "- `index`: A disambiguation index, in case this is called multiple times in the same", + "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", + "want to use `0`.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "Fails with `Duplicate` if this has already been called in this transaction, from the", + "same sender, with the same parameters.", + "", + "Fails if there are insufficient funds to pay for deposit.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# ", + "TODO: Might be over counting 1 read" + ], + "args": [ + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_anonymous", + "docs": [ + "Removes a previously spawned anonymous proxy.", + "", + "WARNING: **All access to this account will be lost.** Any funds held in it will be", + "inaccessible.", + "", + "Requires a `Signed` origin, and the sender account must have been created by a call to", + "`anonymous` with corresponding parameters.", + "", + "- `spawner`: The account that originally called `anonymous` to create this account.", + "- `index`: The disambiguation index originally passed to `anonymous`. Probably `0`.", + "- `proxy_type`: The proxy type originally passed to `anonymous`.", + "- `height`: The height of the chain when the call to `anonymous` was processed.", + "- `ext_index`: The extrinsic index in which the call to `anonymous` was processed.", + "", + "Fails with `NoPermission` in case the caller is not a previously created anonymous", + "account whose `anonymous` call has corresponding parameters.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "spawner", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumber" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "Publish the hash of a proxy-call that will be made in the future.", + "", + "This must be called some number of blocks before the corresponding `proxy` is attempted", + "if the delay associated with the proxy relationship is greater than zero.", + "", + "No more than `MaxPending` announcements may be made at any one time.", + "", + "This will take a deposit of `AnnouncementDepositFactor` as well as", + "`AnnouncementDepositBase` if there are no other pending announcements.", + "", + "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "Remove a given announcement.", + "", + "May be called by a proxy account to remove a call they previously announced and return", + "the deposit.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "Remove the given announcement of a delegate.", + "", + "May be called by a target (proxied) account to remove a call that one of their delegates", + "(`delegate`) has announced they want to execute. The deposit is returned.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `delegate`: The account that previously announced the call.", + "- `call_hash`: The hash of the call to be made.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorized for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + } + ], + "calls_value": { + "type": 248 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "AnonymousCreated", + "docs": [ + "Anonymous account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U16" + ], + "args_name": [ + "anonymous", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + } + ], + "events_value": { + "type": 82 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00227aaa040000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "408af701000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "0034f4aa040000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "8014ef03000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 273 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 274 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 275, + "value_id": 276 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 278, + "value_id": 279 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata", + "keys_id": 4, + "value_id": 280 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "destroy", + "docs": [ + "Destroy a class of fungible assets.", + "", + "The origin must conform to `ForceOrigin` or must be Signed and the sender must be the", + "owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + "asset.", + "", + "Emits `Destroyed` event when successful.", + "", + "NOTE: It can be helpful to first freeze an asset before destroying it so that you", + "can provide accurate witness information and prevent users from manipulating state", + "in a way that can make it harder to destroy.", + "", + "Weight: `O(c + p + a)` where:", + "- `c = (witness.accounts - witness.sufficients)`", + "- `s = witness.sufficients`", + "- `a = witness.approvals`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "witness", + "type": "pallet_assets:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3203", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3204", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3205", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3206", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers from an account.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3209", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "320a", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "320b", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "320c", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "320d", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "320e", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "320f", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3210", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3211", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3212", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3213", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3214", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3215", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3216", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "touch", + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3218", + "name": "refund", + "docs": [ + "Return the deposit (if any) of an asset account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for the account to be created.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 250 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "total_supply" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320b", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320c", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "320d", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "320f", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3210", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3211", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + } + ], + "events_value": { + "type": 85 + }, + "constants": [ + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "0010a5d4e80000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ec0ba9040000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "006125ac040000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "40420f00000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "NoProvider", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or the", + "maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + } + ], + "errors_value": { + "type": 282 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:ClassDetails", + "keys_id": 4, + "value_id": 283 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset class." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 284, + "value_id": 79 + } + }, + "fallback": "0x00", + "docs": [ + " The assets held by any given account; set out this way so that assets owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 285, + "value_id": 79 + } + }, + "fallback": "0x00", + "docs": [ + " The classes owned by any given account; set out this way so that classes owned by a single", + " account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:InstanceDetails", + "keys_id": 96, + "value_id": 286 + } + }, + "fallback": "0x00", + "docs": [ + " The assets in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:ClassMetadata", + "keys_id": 4, + "value_id": 287 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an asset class." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:InstanceMetadata", + "keys_id": 96, + "value_id": 288 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an asset instance." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 289, + "value_id": 290 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an asset class." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "Issue a new class of non-fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "`AssetDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `class`: The identifier of the new asset class. This must not be currently in use.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "Issue a new class of non-fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `class`: The identifier of the new asset. This must not be currently in use.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "Destroy a class of fungible assets.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the asset `class`.", + "", + "- `class`: The identifier of the asset class to be destroyed.", + "- `witness`: Information on the instances minted in the asset class. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.instances`", + "- `m = witness.instance_metadatas`", + "- `a = witness.attributes`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "Mint an asset instance of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `class`.", + "", + "- `class`: The class of the asset to be minted.", + "- `instance`: The instance value of the asset to be minted.", + "- `beneficiary`: The initial owner of the minted asset.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "Destroy a single asset instance.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `class`.", + "", + "- `class`: The class of the asset to be burned.", + "- `instance`: The instance of the asset to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " asset is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option<::Source>" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "Move an asset from the sender account to another.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the asset `class`;", + "- the Owner of the asset `instance`;", + "- the approved delegate for the asset `instance` (in this case, the approval is reset).", + "", + "Arguments:", + "- `class`: The class of the asset to be transferred.", + "- `instance`: The instance of the asset to be transferred.", + "- `dest`: The account to receive ownership of the asset.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "Reevaluate the deposits on some assets.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `class`.", + "", + "- `class`: The class of the asset to be frozen.", + "- `instances`: The instances of the asset class whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any asset instances which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on instances", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the class is unknown of the signer is", + "not permitted to call it.", + "", + "Weight: `O(instances.len())`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instances", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfer of an asset instance.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `class`.", + "", + "- `class`: The class of the asset to be frozen.", + "- `instance`: The instance of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "Re-allow unprivileged transfer of an asset instance.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `class`.", + "", + "- `class`: The class of the asset to be thawed.", + "- `instance`: The instance of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_class", + "docs": [ + "Disallow further unprivileged transfers for a whole asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `class`.", + "", + "- `class`: The asset class to be frozen.", + "", + "Emits `ClassFrozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_class", + "docs": [ + "Re-allow unprivileged transfers for a whole asset class.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `class`.", + "", + "- `class`: The class to be thawed.", + "", + "Emits `ClassThawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset class.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `class`.", + "", + "- `class`: The asset class whose owner should be changed.", + "- `owner`: The new Owner of this asset class.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset class.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `class`.", + "", + "- `class`: The asset class whose team should be changed.", + "- `issuer`: The new Issuer of this asset class.", + "- `admin`: The new Admin of this asset class.", + "- `freezer`: The new Freezer of this asset class.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "Approve an instance to be transferred by a delegated third-party account.", + "", + "Origin must be Signed and must be the owner of the asset `instance`.", + "", + "- `class`: The class of the asset to be approved for delegated transfer.", + "- `instance`: The instance of the asset to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the asset.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "Cancel the prior approval for the transfer of an asset by a delegate.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the asset `class`;", + "- `Signed` with the signer being the Owner of the asset `instance`;", + "", + "Arguments:", + "- `class`: The class of the asset of whose approval will be cancelled.", + "- `instance`: The instance of the asset of whose approval will be cancelled.", + "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", + " which permission of transfer is delegated.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option<::Source>" + } + ] + }, + { + "lookup": "330f", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `class`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `free_holding`: Whether a deposit is taken for holding an instance of this asset", + " class.", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "Set an attribute for an asset class or instance.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "asset `class`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `class`: The identifier of the asset class whose instance's metadata to set.", + "- `maybe_instance`: The identifier of the asset instance whose metadata to set.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "maybe_instance", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "Clear an attribute for an asset class or instance.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "asset `class`.", + "", + "Any deposit is freed for the asset class owner.", + "", + "- `class`: The identifier of the asset class whose instance's metadata to clear.", + "- `maybe_instance`: The identifier of the asset instance whose metadata to clear.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "maybe_instance", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset instance.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "asset `class`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `class`: The identifier of the asset class whose instance's metadata to set.", + "- `instance`: The identifier of the asset instance whose metadata to set.", + "- `data`: The general information of this asset. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset instance.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "asset `instance`.", + "", + "Any deposit is freed for the asset class owner.", + "", + "- `class`: The identifier of the asset class whose instance's metadata to clear.", + "- `instance`: The identifier of the asset instance whose metadata to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + } + ] + }, + { + "lookup": "3314", + "name": "set_class_metadata", + "docs": [ + "Set the metadata for an asset class.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the asset `class`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `class`: The identifier of the asset whose metadata to update.", + "- `data`: The general information of this asset. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `ClassMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_class_metadata", + "docs": [ + "Clear the metadata for an asset class.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the asset `class`.", + "", + "Any deposit is freed for the asset class owner.", + "", + "- `class`: The identifier of the asset class whose metadata to clear.", + "", + "Emits `ClassMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + } + ] + } + ], + "calls_value": { + "type": 252 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "An asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "class", + "creator", + "owner" + ], + "args_type_name": [ + "ClassId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "An asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "class", + "owner" + ], + "args_type_name": [ + "ClassId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "An asset `class` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "class" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An asset `instance` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "class", + "instance", + "owner" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An asset `instance` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "class", + "instance", + "from", + "to" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An asset `instance` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "class", + "instance", + "owner" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some asset `instance` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "class", + "instance" + ], + "args_type_name": [ + "ClassId", + "InstanceId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some asset `instance` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "class", + "instance" + ], + "args_type_name": [ + "ClassId", + "InstanceId" + ] + }, + { + "lookup": "3308", + "name": "ClassFrozen", + "docs": [ + "Some asset `class` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "class" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "3309", + "name": "ClassThawed", + "docs": [ + "Some asset `class` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "class" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "class", + "new_owner" + ], + "args_type_name": [ + "ClassId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "class", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "ClassId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `instance` of an asset `class` has been approved by the `owner` for transfer by a", + "`delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "class", + "instance", + "owner", + "delegate" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `instance` of an asset `class` was", + "cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "class", + "instance", + "owner", + "delegate" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "AssetStatusChanged", + "docs": [ + "An asset `class` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "class" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "330f", + "name": "ClassMetadataSet", + "docs": [ + "New metadata has been set for an asset class." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "class", + "data", + "is_frozen" + ], + "args_type_name": [ + "ClassId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "ClassMetadataCleared", + "docs": [ + "Metadata has been cleared for an asset class." + ], + "args": [ + "U32" + ], + "args_name": [ + "class" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset instance." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "class", + "instance", + "data", + "is_frozen" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset instance." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "class", + "instance" + ], + "args_type_name": [ + "ClassId", + "InstanceId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an asset instance." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "class", + "successful_instances" + ], + "args_type_name": [ + "ClassId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for an asset class or instance." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "class", + "maybe_instance", + "key", + "value" + ], + "args_type_name": [ + "ClassId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for an asset class or instance." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "class", + "maybe_instance", + "key" + ], + "args_type_name": [ + "ClassId", + "Option", + "BoundedVec" + ] + } + ], + "events_value": { + "type": 87 + }, + "constants": [ + { + "name": "ClassDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e40b54020000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset class." + ] + }, + { + "name": "InstanceDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset instance." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "402ac8af040000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00c817a8040000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an asset." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "40420f00000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownClass", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset instance ID has already been used for an asset." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The asset instance or class is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + } + ], + "errors_value": { + "type": 291 + }, + "index": 51 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v800.json b/src/demo_substrate_events/abi/assethub/v800.json new file mode 100644 index 000000000..1a18fb0ec --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v800.json @@ -0,0 +1,8974 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:weights:PerDispatchClass@7", + "PlainTypeValue": 7 + }, + "fallback": "0x000000000000000000000000000000000000000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 9 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 9 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 11 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 15 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: This storage item is explicitly unbounded since it is never intended to be read", + " from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 9, + "value_id": 95 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 97 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 86 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 86 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 93 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "fill_block", + "docs": [ + "A dispatch that will fill the block weight up to the given ratio." + ], + "args": [ + { + "name": "ratio", + "type": "U32", + "type_name": "Perbill" + } + ] + }, + { + "lookup": "0001", + "name": "remark", + "docs": [ + "Make some on-chain remark.", + "", + "# ", + "- `O(1)`", + "# " + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0002", + "name": "set_heap_pages", + "docs": [ + "Set the number of pages in the WebAssembly environment's heap." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0003", + "name": "set_code", + "docs": [ + "Set the new runtime code.", + "", + "# ", + "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`", + "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is", + " expensive).", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime, but generally this is very", + "expensive. We will treat this as a full block.", + "# " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_code_without_checks", + "docs": [ + "Set the new runtime code without doing any checks of the given `code`.", + "", + "# ", + "- `O(C)` where `C` length of `code`", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime. We will treat this as a full", + "block. # " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0005", + "name": "set_storage", + "docs": [ + "Set some items of storage." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_storage", + "docs": [ + "Kill some items from storage." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0007", + "name": "kill_prefix", + "docs": [ + "Kill all storage items with a key that starts with the given prefix.", + "", + "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", + "the prefix we are removing to accurately calculate the weight of this function." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0008", + "name": "remark_with_event", + "docs": [ + "Make some on-chain remark and emit event." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 99 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:weights:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:weights:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + } + ], + "events_value": { + "type": 18 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 104, + "constants_value": "00f2052a010000000088526a74000000405973070000000001c0d22c76510000000100e6bd4f57000000010000000000000000405973070000000001c074c1906e000000010088526a740000000100a2941a1d0000004059730700000000000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:weights:PerDispatchClass@109", + "type_value": 108, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "60090000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "frame_support:weights:RuntimeDbWeight", + "type_value": 110, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 111, + "constants_value": "2473746174656d696e742473746174656d696e7401000000200300000000000028dd718d5cc53262d401000000df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a05000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a801000000ea93e3f16f3d6962020000000500000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 84, + "constants_value": "0000", + "docs": [ + " The designated SS85 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + } + ], + "errors_value": { + "type": 115 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][well_known_keys::CODE]", + " which will result the next block process with the new validation code. This concludes the upgrade process.", + "", + " [well_known_keys::CODE]: sp_core::storage::well_known_keys::CODE" + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v1:PersistedValidationData", + "PlainTypeValue": 116 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 86 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 118 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelayStateProof", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 120 + }, + "fallback": "0x00", + "docs": [ + " The state proof for the last relay parent block.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 122 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v1:AbridgedHostConfiguration", + "PlainTypeValue": 126 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 127 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 128 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 131 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 103 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 103 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The next authorized upgrade, if there is one." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See [`Pallet::set_custom_validation_head_data`] for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "Set the current validation data.", + "", + "This should be invoked exactly once per block. It will panic at the finalization", + "phase if the call was not invoked.", + "", + "The dispatch origin for this call must be `Inherent`", + "", + "As a side effect, this function upgrades the current validation function", + "if the appropriate time has come." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": null, + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": null, + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": null, + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 133 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade has been authorized." + ], + "args": [ + "H256" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Hash" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed.", + "\\[ count \\]" + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0105", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight.", + "\\[ weight_used, result_mqc_head \\]" + ], + "args": [ + "U64", + "H256" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + } + ], + "events_value": { + "type": 26 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending" + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function" + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run" + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block" + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block" + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 142 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x0000000000000000", + "docs": [ + " Current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 86 + }, + "fallback": "0x00", + "docs": [ + " Did the timestamp get updated in this block?" + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "Set the current time.", + "", + "This call should be invoked exactly once per block. It will panic at the finalization", + "phase, if this call hasn't been invoked by that time.", + "", + "The timestamp should be greater than the previous one by the amount specified by", + "`MinimumPeriod`.", + "", + "The dispatch origin for this call must be `Inherent`.", + "", + "# ", + "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", + "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in", + " `on_finalize`)", + "- 1 event handler `on_timestamp_set`. Must be `O(1)`.", + "# " + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 143 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 8, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks. Beware that this is different to the *expected*", + " period that the block production apparatus provides. Your chosen consensus system will", + " generally work with this to determine a sensible block time. e.g. For Aura, it will be", + " double this period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 35 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 144 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 148 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances." + ] + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_balances:Releases", + "PlainTypeValue": 151 + }, + "fallback": "0x00", + "docs": [ + " Storage version of the pallet.", + "", + " This is set to v2.0.0 for new networks." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer", + "docs": [ + "Transfer some liquid free balance to another account.", + "", + "`transfer` will set the `FreeBalance` of the sender and receiver.", + "If the sender's account is below the existential deposit as a result", + "of the transfer, the account will be reaped.", + "", + "The dispatch origin for this call must be `Signed` by the transactor.", + "", + "# ", + "- Dependent on arguments but not critical, given proper implementations for input config", + " types. See related functions below.", + "- It contains a limited number of reads and writes internally and no complex", + " computation.", + "", + "Related functions:", + "", + " - `ensure_can_withdraw` is always called internally but has a bounded complexity.", + " - Transferring balances to accounts that did not exist before will cause", + " `T::OnNewAccount::on_new_account` to be called.", + " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.", + " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check", + " that the transfer will not kill the origin account.", + "---------------------------------", + "- Origin account is already in memory, so no DB operations for them.", + "# " + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a01", + "name": "set_balance", + "docs": [ + "Set the balances of a given account.", + "", + "This will alter `FreeBalance` and `ReservedBalance` in storage. it will", + "also alter the total issuance of the system (`TotalIssuance`) appropriately.", + "If the new free or reserved balance is below the existential deposit,", + "it will reset the account nonce (`frame_system::AccountNonce`).", + "", + "The dispatch origin for this call is `root`." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "new_reserved", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "Exactly as `transfer`, except the origin must be root and the source account may be", + "specified.", + "# ", + "- Same as transfer, but additional read and write because the source account is not", + " assumed to be in the overlay.", + "# " + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "Same as the [`transfer`] call, but with a check that the transfer will not kill the", + "origin account.", + "", + "99% of the time you want [`transfer`] instead.", + "", + "[`transfer`]: struct.Pallet.html#method.transfer" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "Transfer the entire transferable balance from the caller account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the account has, causing the sender account to be killed (false), or", + " transfer everything except at least the existential deposit, which will guarantee to", + " keep the sender account alive (true). # ", + "- O(1). Just like transfer, but reading the user's transferable balance first.", + " #" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "Unreserve some balance from a user by force.", + "", + "Can only be called by ROOT." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 152 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "free", + "reserved" + ], + "args_type_name": [ + "AccountId", + "Balance", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 27 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open." + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value" + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal" + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value" + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit" + ] + }, + { + "name": "KeepAlive", + "doc": [ + "Transfer/payment would kill account" + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account" + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist" + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed MaxReserves" + ] + } + ], + "errors_value": { + "type": 155 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 156 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 157 + }, + "fallback": "0x00", + "docs": null + } + ], + "constants": [ + { + "name": "TransactionByteFee", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The fee to be paid for making a transaction; the per-byte portion." + ] + }, + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + }, + { + "name": "WeightToFee", + "type": "Vec", + "type_value": 158, + "constants_value": "0400000000000000000000000000000000ff117a000001", + "docs": [ + " The polynomial that is applied in order to derive fee from weight." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "errors": null, + "errors_value": null, + "index": 12 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Uncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 160 + }, + "fallback": "0x00", + "docs": [ + " Uncles" + ] + }, + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + }, + { + "name": "DidSetUncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 86 + }, + "fallback": "0x00", + "docs": [ + " Whether uncles were already set in this block." + ] + } + ], + "calls": [ + { + "lookup": "1400", + "name": "set_uncles", + "docs": [ + "Provide a set of uncles." + ], + "args": [ + { + "name": "new_uncles", + "type": "Vec", + "type_name": "Vec
" + } + ] + } + ], + "calls_value": { + "type": 163 + }, + "constants": [ + { + "name": "UncleGenerations", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The number of blocks back we should accept uncles.", + " This means that we will deal with uncle-parents that are", + " `UncleGenerations + 1` before `now`." + ] + } + ], + "errors": [ + { + "name": "InvalidUncleParent", + "doc": [ + "The uncle parent not in the chain." + ] + }, + { + "name": "UnclesAlreadySet", + "doc": [ + "Uncles already set in the block." + ] + }, + { + "name": "TooManyUncles", + "doc": [ + "Too many uncles." + ] + }, + { + "name": "GenesisUncle", + "doc": [ + "The uncle is genesis." + ] + }, + { + "name": "TooHighUncle", + "doc": [ + "The uncle is too high in chain." + ] + }, + { + "name": "UncleAlreadyIncluded", + "doc": [ + "The uncle is already included." + ] + }, + { + "name": "OldUncle", + "doc": [ + "The uncle isn't recent enough to be included." + ] + } + ], + "errors_value": { + "type": 167 + }, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, fixed collators." + ] + }, + { + "name": "Candidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 168 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "Set the list of invulnerable (fixed) collators." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "Set the ideal number of collators (not including the invulnerables).", + "If lowering this number, then the number of running collators could be higher than this figure.", + "Aside from that edge case, there should be no other way to have more collators than the desired number." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "Set the candidacy bond amount." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "Register this account as a collator candidate. The account must (a) already have", + "registered session keys and (b) be able to reserve the `CandidacyBond`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "Deregister `origin` as a collator candidate. Note that the collator can only leave on", + "session change. The `CandidacyBond` will be unreserved immediately.", + "", + "This call will fail if the total number of candidates would drop below `MinCandidates`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + } + ], + "calls_value": { + "type": 170 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": null, + "args": [ + "Vec" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "NewDesiredCandidates", + "docs": null, + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1502", + "name": "NewCandidacyBond", + "docs": null, + "args": [ + "U128" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1503", + "name": "CandidateAdded", + "docs": null, + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1504", + "name": "CandidateRemoved", + "docs": null, + "args": [ + "AccountId" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 29 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "Too many candidates" + ] + }, + { + "name": "TooFewCandidates", + "doc": [ + "Too few candidates" + ] + }, + { + "name": "Unknown", + "doc": [ + "Unknown error" + ] + }, + { + "name": "Permission", + "doc": [ + "Permission issue" + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "User is already a candidate" + ] + }, + { + "name": "NotCandidate", + "doc": [ + "User is not a candidate" + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "User is already an Invulnerable" + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID" + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered" + ] + } + ], + "errors_value": { + "type": 171 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 30 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 86 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 172 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 89 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 174 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 177, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "Sets the session key(s) of the function caller to `keys`.", + "Allows an account to set its session key prior to becoming a validator.", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be signed.", + "", + "# ", + "- Complexity: `O(1)`. Actual cost depends on the number of length of", + " `T::Keys::key_ids()` which is fixed.", + "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`", + "- DbWrites: `origin account`, `NextKeys`", + "- DbReads per key id: `KeyOwner`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "Removes any session key(s) of the function caller.", + "", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be Signed and the account must be either be", + "convertible to a validator ID using the chain's typical addressing system (this usually", + "means being a controller account) or directly convertible into a validator ID (which", + "usually means being a stash account).", + "", + "# ", + "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length", + " of `T::Keys::key_ids()` which is fixed.", + "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`", + "- DbWrites: `NextKeys`, `origin account`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": null + } + ], + "calls_value": { + "type": 179 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 31 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 180 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 181 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 183 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 182 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will always", + " be updated to the latest AuRa authorities in `on_finalize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 184 + }, + "fallback": "0x00", + "docs": [ + " Status of the inbound XCMP channels." + ] + }, + { + "name": "InboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 190, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " Inbound aggregate XCMP messages. It can only be one per ParaId/block." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 191 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 194, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 35, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 195 + }, + "fallback": "0x020000000500000001000000a086010000000000020000000000000000c817a804000000", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32U32Vec", + "keys_id": 8, + "value_id": 196 + } + }, + "fallback": "0x00", + "docs": [ + " The messages that exceeded max individual message weight budget.", + "", + " These message stay in this storage map until they are manually dispatched via", + " `service_overweight`." + ] + }, + { + "name": "OverweightCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The number of overweight messages ever recorded in `Overweight`. Also doubles as the next", + " available free overweight index." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 86 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + } + ], + "calls": [ + { + "lookup": "1e00", + "name": "service_overweight", + "docs": [ + "Services a single overweight XCM.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight XCM to service", + "- `weight_limit`: The amount of weight that XCM execution may take.", + "", + "Errors:", + "- `BadOverweightIndex`: XCM under `index` is not found in the `Overweight` storage map.", + "- `BadXcm`: XCM under `index` cannot be properly decoded into a valid XCM format.", + "- `WeightOverLimit`: XCM execution may use greater `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "Suspends all XCM executions for the XCMP queue, regardless of the sender's origin.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "Resumes all XCM executions for the XCMP queue.", + "", + "Note that this function doesn't change the status of the in/out bound channels.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue for the other side to be told to", + "suspend their sending.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.suspend_value`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue after which we drop any further", + "messages from the channel.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.drop_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "Overwrites the number of pages of messages which the queue must be reduced to before it signals that", + "message sending may recommence after it has been suspended.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.resume_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e06", + "name": "update_threshold_weight", + "docs": [ + "Overwrites the amount of remaining weight under which we stop processing messages.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.threshold_weight`" + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e07", + "name": "update_weight_restrict_decay", + "docs": [ + "Overwrites the speed to which the available weight approaches the maximum weight.", + "A lower number results in a faster progression. A value of 1 makes the entire weight available initially.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.weight_restrict_decay`." + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e08", + "name": "update_xcmp_max_individual_weight", + "docs": [ + "Overwrite the maximum amount of weight any individual message may consume.", + "Messages above this weight go into the overweight queue and may only be serviced explicitly.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.xcmp_max_individual_weight`." + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 197 + }, + "events": [ + { + "lookup": "1e00", + "name": "Success", + "docs": [ + "Some XCM was executed ok." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e01", + "name": "Fail", + "docs": [ + "Some XCM failed." + ], + "args": [ + "option", + "xcm:v2:traits:Error" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "Option", + "XcmError" + ] + }, + { + "lookup": "1e02", + "name": "BadVersion", + "docs": [ + "Bad XCM version used." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e03", + "name": "BadFormat", + "docs": [ + "Bad XCM format used." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e04", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e05", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e06", + "name": "OverweightEnqueued", + "docs": [ + "An XCM exceeded the individual message weight budget." + ], + "args": [ + "U32", + "U32", + "U64", + "U64" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "ParaId", + "RelayBlockNumber", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "1e07", + "name": "OverweightServiced", + "docs": [ + "An XCM from the overweight queue was executed with the given actual weight used." + ], + "args": [ + "U64", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 32 + }, + "errors": [ + { + "name": "FailedToSend", + "doc": [ + "Failed to send XCM message." + ] + }, + { + "name": "BadXcmOrigin", + "doc": [ + "Bad XCM origin." + ] + }, + { + "name": "BadXcm", + "doc": [ + "Bad XCM data." + ] + }, + { + "name": "BadOverweightIndex", + "doc": [ + "Bad overweight index." + ] + }, + { + "name": "WeightOverLimit", + "doc": [ + "Provided weight is possibly not enough to execute the message." + ] + } + ], + "errors_value": { + "type": 198 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 8, + "value_id": 199 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 9, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U32", + "keys_id": 205, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U64", + "keys_id": 205, + "value_id": 8 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "Tuple:U64U64U32", + "keys_id": 205, + "value_id": 206 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 207 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 210 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": null, + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@213", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the first asset listed in the `assets` vector and", + "fee-weight is calculated locally and thus remote weights are assumed to be equal to", + "local weights.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination chain and forward", + "a notification XCM.", + "", + "Fee payment on the destination side is made from the first asset listed in the `assets` vector and", + "fee-weight is calculated locally and thus remote weights are assumed to be equal to", + "local weights.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "Execute an XCM message from a local, signed, origin.", + "", + "An event is deposited indicating whether `msg` could be executed completely or only", + "partially.", + "", + "No more than `max_weight` will be used in its attempted execution. If this is less than the", + "maximum amount of weight that the message could take to be executed, then no execution", + "attempt will be made.", + "", + "NOTE: A successful return to this does *not* imply that the `msg` was executed successfully", + "to completion; only that *some* of it was executed." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@222", + "type_name": "Box::Call>>" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "Extoll that a particular destination can be communicated with through a particular", + "version of XCM.", + "", + "- `origin`: Must be Root.", + "- `location`: The destination that is being described.", + "- `xcm_version`: The latest version of XCM that `location` supports." + ], + "args": [ + { + "name": "location", + "type": "xcm:v1:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "xcm_version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "Set a safe XCM version (the version that XCM should be encoded with if the most recent", + "version a destination can accept is unknown).", + "", + "- `origin`: Must be Root.", + "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "Ask a location to notify us regarding their XCM version and any changes to it.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we should subscribe for XCM version notifications." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "Require that a particular destination should no longer notify us regarding any XCM", + "version changes.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we are currently subscribed for XCM version", + " notifications which we no longer desire." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination chain and forward", + "a notification XCM.", + "", + "Fee payment on the destination side is made from the first asset listed in the `assets` vector.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the first asset listed in the `assets` vector.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + } + ], + "calls_value": { + "type": 212 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted.", + "", + "\\[ outcome \\]" + ], + "args": [ + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent.", + "", + "\\[ origin, destination, message \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "xcm:v1:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiLocation", + "Xcm<()>" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call.", + "", + "\\[ id, response \\]" + ], + "args": [ + "U64", + "xcm:v2:Response" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification could", + "not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result.", + "", + "\\[ id, pallet index, call index, actual weight, max budgeted weight \\]" + ], + "args": [ + "U64", + "U8", + "U8", + "U64", + "U64" + ], + "args_name": [ + "", + "", + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon.", + "", + "\\[ origin location, id, expected location \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "option" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed.", + "", + "\\[ id \\]" + ], + "args": [ + "U64" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap.", + "", + "\\[ hash, origin, assets \\]" + ], + "args": [ + "H256", + "xcm:v1:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "\\[ destination, result \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention.", + "", + "\\[ location, XCM version \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it.", + "", + "\\[ location, query ID, error \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "xcm:v2:traits:Error" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format.", + "", + "\\[ location, query ID \\]" + ], + "args": [ + "xcm:VersionedMultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "VersionedMultiLocation", + "QueryId" + ] + } + ], + "events_value": { + "type": 36 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message. Perhaps", + "a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `MultiLocation` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + } + ], + "errors_value": { + "type": 235 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 8]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 8]", + "Outcome" + ] + } + ], + "events_value": { + "type": 75 + }, + "errors": null, + "errors_value": { + "type": 236 + }, + "index": 32 + }, + { + "name": "DmpQueue", + "prefix": "DmpQueue", + "storage": [ + { + "name": "Configuration", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 237 + }, + "fallback": "0x00e40b5402000000", + "docs": [ + " The configuration." + ] + }, + { + "name": "PageIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_dmp_queue:PageIndexData", + "PlainTypeValue": 238 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The page index." + ] + }, + { + "name": "Pages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec>", + "keys_id": 4, + "value_id": 239 + } + }, + "fallback": "0x00", + "docs": [ + " The queue pages." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32Vec", + "keys_id": 8, + "value_id": 240 + } + }, + "fallback": "0x00", + "docs": [ + " The overweight messages." + ] + } + ], + "calls": [ + { + "lookup": "2100", + "name": "service_overweight", + "docs": [ + "Service a single overweight message.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight message to service.", + "- `weight_limit`: The amount of weight that message execution may take.", + "", + "Errors:", + "- `Unknown`: Message of `index` is unknown.", + "- `OverLimit`: Message execution may use greater than `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 241 + }, + "events": [ + { + "lookup": "2100", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2101", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2102", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 32]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MessageId", + "Outcome" + ] + }, + { + "lookup": "2103", + "name": "WeightExhausted", + "docs": [ + "The weight limit for handling downward messages was reached.", + "\\[ id, remaining, required \\]" + ], + "args": [ + "[U8; 32]", + "U64", + "U64" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MessageId", + "Weight", + "Weight" + ] + }, + { + "lookup": "2104", + "name": "OverweightEnqueued", + "docs": [ + "Downward message is overweight and was placed in the overweight queue.", + "\\[ id, index, required \\]" + ], + "args": [ + "[U8; 32]", + "U64", + "U64" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MessageId", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "2105", + "name": "OverweightServiced", + "docs": [ + "Downward message from the overweight queue was executed.", + "\\[ index, used \\]" + ], + "args": [ + "U64", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 76 + }, + "errors": [ + { + "name": "Unknown", + "doc": [ + "The message index given is unknown." + ] + }, + { + "name": "OverLimit", + "doc": [ + "The amount of weight given is possibly not enough for executing the message." + ] + } + ], + "errors_value": { + "type": 242 + }, + "index": 33 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "Send a batch of dispatch calls.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# ", + "", + "This will return `Ok` in all circumstances. To determine the success of the batch, an", + "event is deposited. If a call failed and the batch was interrupted, then the", + "`BatchInterrupted` event is deposited, along with the number of successful calls made", + "and the error of the failed call. If all were successful, then the `BatchCompleted`", + "event is deposited." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::Call>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "Send a call through an indexed pseudonym of the sender.", + "", + "Filter from origin are passed along. The call will be dispatched with an origin which", + "use the same filter as the origin of this call.", + "", + "NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", + "because you expect `proxy` to have been used prior in the call stack and you do not want", + "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", + "in the Multisig pallet instead.", + "", + "NOTE: Prior to version *12, this was called `as_limited_sub`.", + "", + "The dispatch origin for this call must be _Signed_." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "Send a batch of dispatch calls and atomically execute them.", + "The whole transaction will rollback and fail if any of the calls failed.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# " + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::Call>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "Dispatches a function call with a provided origin.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "# ", + "- O(1).", + "- Limited storage reads.", + "- One DB write (event).", + "- Weight of derivative `call` execution + T::WeightInfo::dispatch_as().", + "# " + ], + "args": [ + { + "name": "as_origin", + "type": "statemint_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + } + ], + "calls_value": { + "type": 243 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2803", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 77 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 261 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 262, + "value_id": 263 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + }, + { + "name": "Calls", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "[U8; 32]" + ], + "value": "Tuple:WrapperOpaqueAccountIdU128", + "keys_id": 1, + "value_id": 264 + } + }, + "fallback": "0x00", + "docs": null + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "Immediately dispatch a multi-signature call using a single approval from the caller.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `other_signatories`: The accounts (other than the sender) who are part of the", + "multi-signature, but do not participate in the approval process.", + "- `call`: The call to be executed.", + "", + "Result is equivalent to the dispatched result.", + "", + "# ", + "O(Z + C) where Z is the length of the call and C its execution weight.", + "-------------------------------", + "- DB Weight: None", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "If there are enough, then dispatch the call.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call`: The call to be executed.", + "", + "NOTE: Unless this is the final approval, you will generally want to use", + "`approve_as_multi` instead, since it only requires a hash of the call.", + "", + "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", + "on success, result is `Ok` and the result from the interior call, if it was executed,", + "may be found in the deposited `MultisigExecuted` event.", + "", + "# ", + "- `O(S + Z + Call)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- The weight of the `call`.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "-------------------------------", + "- DB Weight:", + " - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)", + " - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "WrapperOpaque", + "type_name": "OpaqueCall" + }, + { + "name": "store_call", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call_hash`: The hash of the call to be executed.", + "", + "NOTE: If this is the final approval, you will want to use `as_multi` instead.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account]", + " - Write: Multisig Storage, [Caller Account]", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", + "for this operation will be unreserved on success.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `timepoint`: The timepoint (block number and transaction index) of the first approval", + "transaction for this dispatch.", + "- `call_hash`: The hash of the call to be executed.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- One event.", + "- I/O: 1 read `O(S)`, one remove.", + "- Storage: removes one item.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account], Refund Account, Calls", + " - Write: Multisig Storage, [Caller Account], Refund Account, Calls", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 246 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 80 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "008e56ad040000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "0048e801000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U16", + "type_value": 84, + "constants_value": "6400", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 265 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:frame_support:storage:bounded_vec:BoundedVec@267U128", + "keys_id": 0, + "value_id": 266 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:frame_support:storage:bounded_vec:BoundedVec@271U128", + "keys_id": 0, + "value_id": 270 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorised for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "Register a proxy account for the sender that is able to make calls on its behalf.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to make a proxy.", + "- `proxy_type`: The permissions allowed for this proxy account.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "Unregister a proxy account for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to remove as a proxy.", + "- `proxy_type`: The permissions currently enabled for the removed proxy account.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "Unregister all proxy accounts for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "WARNING: This may be called on accounts created by `anonymous`, however if done, then", + "the unreserved fees will be inaccessible. **All access to this account will be lost.**", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": null + }, + { + "lookup": "2a04", + "name": "anonymous", + "docs": [ + "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", + "initialize it with a proxy of `proxy_type` for `origin` sender.", + "", + "Requires a `Signed` origin.", + "", + "- `proxy_type`: The type of the proxy that the sender will be registered as over the", + "new account. This will almost always be the most permissive `ProxyType` possible to", + "allow for maximum flexibility.", + "- `index`: A disambiguation index, in case this is called multiple times in the same", + "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", + "want to use `0`.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "Fails with `Duplicate` if this has already been called in this transaction, from the", + "same sender, with the same parameters.", + "", + "Fails if there are insufficient funds to pay for deposit.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# ", + "TODO: Might be over counting 1 read" + ], + "args": [ + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_anonymous", + "docs": [ + "Removes a previously spawned anonymous proxy.", + "", + "WARNING: **All access to this account will be lost.** Any funds held in it will be", + "inaccessible.", + "", + "Requires a `Signed` origin, and the sender account must have been created by a call to", + "`anonymous` with corresponding parameters.", + "", + "- `spawner`: The account that originally called `anonymous` to create this account.", + "- `index`: The disambiguation index originally passed to `anonymous`. Probably `0`.", + "- `proxy_type`: The proxy type originally passed to `anonymous`.", + "- `height`: The height of the chain when the call to `anonymous` was processed.", + "- `ext_index`: The extrinsic index in which the call to `anonymous` was processed.", + "", + "Fails with `NoPermission` in case the caller is not a previously created anonymous", + "account whose `anonymous` call has corresponding parameters.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "spawner", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumber" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "Publish the hash of a proxy-call that will be made in the future.", + "", + "This must be called some number of blocks before the corresponding `proxy` is attempted", + "if the delay associated with the proxy relationship is greater than zero.", + "", + "No more than `MaxPending` announcements may be made at any one time.", + "", + "This will take a deposit of `AnnouncementDepositFactor` as well as", + "`AnnouncementDepositBase` if there are no other pending announcements.", + "", + "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "Remove a given announcement.", + "", + "May be called by a proxy account to remove a call they previously announced and return", + "the deposit.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "Remove the given announcement of a delegate.", + "", + "May be called by a target (proxied) account to remove a call that one of their delegates", + "(`delegate`) has announced they want to execute. The deposit is returned.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `delegate`: The account that previously announced the call.", + "- `call_hash`: The hash of the call to be made.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorized for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + } + ], + "calls_value": { + "type": 249 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "AnonymousCreated", + "docs": [ + "Anonymous account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U16" + ], + "args_name": [ + "anonymous", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + } + ], + "events_value": { + "type": 82 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00227aaa040000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "408af701000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "0034f4aa040000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "8014ef03000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 274 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 275 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 276, + "value_id": 277 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 279, + "value_id": 280 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata", + "keys_id": 4, + "value_id": 281 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "destroy", + "docs": [ + "Destroy a class of fungible assets.", + "", + "The origin must conform to `ForceOrigin` or must be Signed and the sender must be the", + "owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + "asset.", + "", + "Emits `Destroyed` event when successful.", + "", + "NOTE: It can be helpful to first freeze an asset before destroying it so that you", + "can provide accurate witness information and prevent users from manipulating state", + "in a way that can make it harder to destroy.", + "", + "Weight: `O(c + p + a)` where:", + "- `c = (witness.accounts - witness.sufficients)`", + "- `s = witness.sufficients`", + "- `a = witness.approvals`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "witness", + "type": "pallet_assets:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3203", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3204", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3205", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3206", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers from an account.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3209", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "320a", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "320b", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "320c", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "320d", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "320e", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "320f", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3210", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3211", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3212", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3213", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3214", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3215", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3216", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "touch", + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3218", + "name": "refund", + "docs": [ + "Return the deposit (if any) of an asset account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for the account to be created.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 251 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "total_supply" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320b", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320c", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "320d", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "320f", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3210", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3211", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + } + ], + "events_value": { + "type": 85 + }, + "constants": [ + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "0010a5d4e80000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ec0ba9040000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "006125ac040000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "40420f00000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "NoProvider", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or the", + "maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + } + ], + "errors_value": { + "type": 283 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:ClassDetails", + "keys_id": 4, + "value_id": 284 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset class." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 285, + "value_id": 79 + } + }, + "fallback": "0x00", + "docs": [ + " The assets held by any given account; set out this way so that assets owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 286, + "value_id": 79 + } + }, + "fallback": "0x00", + "docs": [ + " The classes owned by any given account; set out this way so that classes owned by a single", + " account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:InstanceDetails", + "keys_id": 96, + "value_id": 287 + } + }, + "fallback": "0x00", + "docs": [ + " The assets in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:ClassMetadata", + "keys_id": 4, + "value_id": 288 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an asset class." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:InstanceMetadata", + "keys_id": 96, + "value_id": 289 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an asset instance." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 290, + "value_id": 291 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an asset class." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "Issue a new class of non-fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "`AssetDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `class`: The identifier of the new asset class. This must not be currently in use.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "Issue a new class of non-fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `class`: The identifier of the new asset. This must not be currently in use.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "Destroy a class of fungible assets.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the asset `class`.", + "", + "- `class`: The identifier of the asset class to be destroyed.", + "- `witness`: Information on the instances minted in the asset class. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.instances`", + "- `m = witness.instance_metadatas`", + "- `a = witness.attributes`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "Mint an asset instance of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `class`.", + "", + "- `class`: The class of the asset to be minted.", + "- `instance`: The instance value of the asset to be minted.", + "- `beneficiary`: The initial owner of the minted asset.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "Destroy a single asset instance.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `class`.", + "", + "- `class`: The class of the asset to be burned.", + "- `instance`: The instance of the asset to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " asset is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option<::Source>" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "Move an asset from the sender account to another.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the asset `class`;", + "- the Owner of the asset `instance`;", + "- the approved delegate for the asset `instance` (in this case, the approval is reset).", + "", + "Arguments:", + "- `class`: The class of the asset to be transferred.", + "- `instance`: The instance of the asset to be transferred.", + "- `dest`: The account to receive ownership of the asset.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "Reevaluate the deposits on some assets.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `class`.", + "", + "- `class`: The class of the asset to be frozen.", + "- `instances`: The instances of the asset class whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any asset instances which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on instances", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the class is unknown of the signer is", + "not permitted to call it.", + "", + "Weight: `O(instances.len())`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instances", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfer of an asset instance.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `class`.", + "", + "- `class`: The class of the asset to be frozen.", + "- `instance`: The instance of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "Re-allow unprivileged transfer of an asset instance.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `class`.", + "", + "- `class`: The class of the asset to be thawed.", + "- `instance`: The instance of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_class", + "docs": [ + "Disallow further unprivileged transfers for a whole asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `class`.", + "", + "- `class`: The asset class to be frozen.", + "", + "Emits `ClassFrozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_class", + "docs": [ + "Re-allow unprivileged transfers for a whole asset class.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `class`.", + "", + "- `class`: The class to be thawed.", + "", + "Emits `ClassThawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset class.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `class`.", + "", + "- `class`: The asset class whose owner should be changed.", + "- `owner`: The new Owner of this asset class.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset class.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `class`.", + "", + "- `class`: The asset class whose team should be changed.", + "- `issuer`: The new Issuer of this asset class.", + "- `admin`: The new Admin of this asset class.", + "- `freezer`: The new Freezer of this asset class.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "Approve an instance to be transferred by a delegated third-party account.", + "", + "Origin must be Signed and must be the owner of the asset `instance`.", + "", + "- `class`: The class of the asset to be approved for delegated transfer.", + "- `instance`: The instance of the asset to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the asset.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "Cancel the prior approval for the transfer of an asset by a delegate.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the asset `class`;", + "- `Signed` with the signer being the Owner of the asset `instance`;", + "", + "Arguments:", + "- `class`: The class of the asset of whose approval will be cancelled.", + "- `instance`: The instance of the asset of whose approval will be cancelled.", + "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", + " which permission of transfer is delegated.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option<::Source>" + } + ] + }, + { + "lookup": "330f", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `class`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `free_holding`: Whether a deposit is taken for holding an instance of this asset", + " class.", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "Set an attribute for an asset class or instance.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "asset `class`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `class`: The identifier of the asset class whose instance's metadata to set.", + "- `maybe_instance`: The identifier of the asset instance whose metadata to set.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "maybe_instance", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "Clear an attribute for an asset class or instance.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "asset `class`.", + "", + "Any deposit is freed for the asset class owner.", + "", + "- `class`: The identifier of the asset class whose instance's metadata to clear.", + "- `maybe_instance`: The identifier of the asset instance whose metadata to clear.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "maybe_instance", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset instance.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "asset `class`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `class`: The identifier of the asset class whose instance's metadata to set.", + "- `instance`: The identifier of the asset instance whose metadata to set.", + "- `data`: The general information of this asset. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset instance.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "asset `instance`.", + "", + "Any deposit is freed for the asset class owner.", + "", + "- `class`: The identifier of the asset class whose instance's metadata to clear.", + "- `instance`: The identifier of the asset instance whose metadata to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "compact", + "type_name": "InstanceId" + } + ] + }, + { + "lookup": "3314", + "name": "set_class_metadata", + "docs": [ + "Set the metadata for an asset class.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the asset `class`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `class`: The identifier of the asset whose metadata to update.", + "- `data`: The general information of this asset. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `ClassMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_class_metadata", + "docs": [ + "Clear the metadata for an asset class.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the asset `class`.", + "", + "Any deposit is freed for the asset class owner.", + "", + "- `class`: The identifier of the asset class whose metadata to clear.", + "", + "Emits `ClassMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "compact", + "type_name": "ClassId" + } + ] + } + ], + "calls_value": { + "type": 253 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "An asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "class", + "creator", + "owner" + ], + "args_type_name": [ + "ClassId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "An asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "class", + "owner" + ], + "args_type_name": [ + "ClassId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "An asset `class` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "class" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An asset `instance` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "class", + "instance", + "owner" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An asset `instance` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "class", + "instance", + "from", + "to" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An asset `instance` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "class", + "instance", + "owner" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some asset `instance` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "class", + "instance" + ], + "args_type_name": [ + "ClassId", + "InstanceId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some asset `instance` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "class", + "instance" + ], + "args_type_name": [ + "ClassId", + "InstanceId" + ] + }, + { + "lookup": "3308", + "name": "ClassFrozen", + "docs": [ + "Some asset `class` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "class" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "3309", + "name": "ClassThawed", + "docs": [ + "Some asset `class` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "class" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "class", + "new_owner" + ], + "args_type_name": [ + "ClassId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "class", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "ClassId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `instance` of an asset `class` has been approved by the `owner` for transfer by a", + "`delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "class", + "instance", + "owner", + "delegate" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `instance` of an asset `class` was", + "cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "class", + "instance", + "owner", + "delegate" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "AssetStatusChanged", + "docs": [ + "An asset `class` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "class" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "330f", + "name": "ClassMetadataSet", + "docs": [ + "New metadata has been set for an asset class." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "class", + "data", + "is_frozen" + ], + "args_type_name": [ + "ClassId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "ClassMetadataCleared", + "docs": [ + "Metadata has been cleared for an asset class." + ], + "args": [ + "U32" + ], + "args_name": [ + "class" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset instance." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "class", + "instance", + "data", + "is_frozen" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset instance." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "class", + "instance" + ], + "args_type_name": [ + "ClassId", + "InstanceId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an asset instance." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "class", + "successful_instances" + ], + "args_type_name": [ + "ClassId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for an asset class or instance." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "class", + "maybe_instance", + "key", + "value" + ], + "args_type_name": [ + "ClassId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for an asset class or instance." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "class", + "maybe_instance", + "key" + ], + "args_type_name": [ + "ClassId", + "Option", + "BoundedVec" + ] + } + ], + "events_value": { + "type": 87 + }, + "constants": [ + { + "name": "ClassDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e40b54020000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset class." + ] + }, + { + "name": "InstanceDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset instance." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "402ac8af040000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00c817a8040000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an asset." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "40420f00000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownClass", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset instance ID has already been used for an asset." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The asset instance or class is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + } + ], + "errors_value": { + "type": 292 + }, + "index": 51 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v900.json b/src/demo_substrate_events/abi/assethub/v900.json new file mode 100644 index 000000000..fb0ffa5fd --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v900.json @@ -0,0 +1,9076 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:weights:PerDispatchClass@7", + "PlainTypeValue": 7 + }, + "fallback": "0x000000000000000000000000000000000000000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 9 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 9 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 11 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 15 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: This storage item is explicitly unbounded since it is never intended to be read", + " from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 9, + "value_id": 96 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 98 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 94 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "fill_block", + "docs": [ + "A dispatch that will fill the block weight up to the given ratio." + ], + "args": [ + { + "name": "ratio", + "type": "U32", + "type_name": "Perbill" + } + ] + }, + { + "lookup": "0001", + "name": "remark", + "docs": [ + "Make some on-chain remark.", + "", + "# ", + "- `O(1)`", + "# " + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0002", + "name": "set_heap_pages", + "docs": [ + "Set the number of pages in the WebAssembly environment's heap." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0003", + "name": "set_code", + "docs": [ + "Set the new runtime code.", + "", + "# ", + "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`", + "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is", + " expensive).", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime, but generally this is very", + "expensive. We will treat this as a full block.", + "# " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_code_without_checks", + "docs": [ + "Set the new runtime code without doing any checks of the given `code`.", + "", + "# ", + "- `O(C)` where `C` length of `code`", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime. We will treat this as a full", + "block. # " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0005", + "name": "set_storage", + "docs": [ + "Set some items of storage." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_storage", + "docs": [ + "Kill some items from storage." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0007", + "name": "kill_prefix", + "docs": [ + "Kill all storage items with a key that starts with the given prefix.", + "", + "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", + "the prefix we are removing to accurately calculate the weight of this function." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0008", + "name": "remark_with_event", + "docs": [ + "Make some on-chain remark and emit event." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 100 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:weights:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:weights:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + } + ], + "events_value": { + "type": 18 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 105, + "constants_value": "00f2052a010000000088526a74000000405973070000000001c0d22c76510000000100e6bd4f57000000010000000000000000405973070000000001c074c1906e000000010088526a740000000100a2941a1d0000004059730700000000000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:weights:PerDispatchClass@110", + "type_value": 109, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "60090000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "frame_support:weights:RuntimeDbWeight", + "type_value": 111, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 112, + "constants_value": "2473746174656d696e742473746174656d696e7401000000840300000000000028dd718d5cc53262d401000000df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a801000000ea93e3f16f3d6962020000000600000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 85, + "constants_value": "0000", + "docs": [ + " The designated SS85 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + } + ], + "errors_value": { + "type": 116 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][well_known_keys::CODE]", + " which will result the next block process with the new validation code. This concludes the upgrade process.", + "", + " [well_known_keys::CODE]: sp_core::storage::well_known_keys::CODE" + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v2:PersistedValidationData", + "PlainTypeValue": 117 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 119 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelayStateProof", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 121 + }, + "fallback": "0x00", + "docs": [ + " The state proof for the last relay parent block.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 123 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v2:AbridgedHostConfiguration", + "PlainTypeValue": 127 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 128 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 129 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 132 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 104 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 104 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The next authorized upgrade, if there is one." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See [`Pallet::set_custom_validation_head_data`] for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "Set the current validation data.", + "", + "This should be invoked exactly once per block. It will panic at the finalization", + "phase if the call was not invoked.", + "", + "The dispatch origin for this call must be `Inherent`", + "", + "As a side effect, this function upgrades the current validation function", + "if the appropriate time has come." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": null, + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": null, + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": null, + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 134 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade has been authorized." + ], + "args": [ + "H256" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Hash" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed.", + "\\[ count \\]" + ], + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0105", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight.", + "\\[ weight_used, result_mqc_head \\]" + ], + "args": [ + "U64", + "H256" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + } + ], + "events_value": { + "type": 27 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending" + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function" + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run" + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block" + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block" + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 143 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x0000000000000000", + "docs": [ + " Current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " Did the timestamp get updated in this block?" + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "Set the current time.", + "", + "This call should be invoked exactly once per block. It will panic at the finalization", + "phase, if this call hasn't been invoked by that time.", + "", + "The timestamp should be greater than the previous one by the amount specified by", + "`MinimumPeriod`.", + "", + "The dispatch origin for this call must be `Inherent`.", + "", + "# ", + "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", + "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in", + " `on_finalize`)", + "- 1 event handler `on_timestamp_set`. Must be `O(1)`.", + "# " + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 144 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 8, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks. Beware that this is different to the *expected*", + " period that the block production apparatus provides. Your chosen consensus system will", + " generally work with this to determine a sensible block time. e.g. For Aura, it will be", + " double this period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 36 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 145 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 149 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances." + ] + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_balances:Releases", + "PlainTypeValue": 152 + }, + "fallback": "0x00", + "docs": [ + " Storage version of the pallet.", + "", + " This is set to v2.0.0 for new networks." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer", + "docs": [ + "Transfer some liquid free balance to another account.", + "", + "`transfer` will set the `FreeBalance` of the sender and receiver.", + "If the sender's account is below the existential deposit as a result", + "of the transfer, the account will be reaped.", + "", + "The dispatch origin for this call must be `Signed` by the transactor.", + "", + "# ", + "- Dependent on arguments but not critical, given proper implementations for input config", + " types. See related functions below.", + "- It contains a limited number of reads and writes internally and no complex", + " computation.", + "", + "Related functions:", + "", + " - `ensure_can_withdraw` is always called internally but has a bounded complexity.", + " - Transferring balances to accounts that did not exist before will cause", + " `T::OnNewAccount::on_new_account` to be called.", + " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.", + " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check", + " that the transfer will not kill the origin account.", + "---------------------------------", + "- Origin account is already in memory, so no DB operations for them.", + "# " + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a01", + "name": "set_balance", + "docs": [ + "Set the balances of a given account.", + "", + "This will alter `FreeBalance` and `ReservedBalance` in storage. it will", + "also alter the total issuance of the system (`TotalIssuance`) appropriately.", + "If the new free or reserved balance is below the existential deposit,", + "it will reset the account nonce (`frame_system::AccountNonce`).", + "", + "The dispatch origin for this call is `root`." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "new_reserved", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "Exactly as `transfer`, except the origin must be root and the source account may be", + "specified.", + "# ", + "- Same as transfer, but additional read and write because the source account is not", + " assumed to be in the overlay.", + "# " + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "Same as the [`transfer`] call, but with a check that the transfer will not kill the", + "origin account.", + "", + "99% of the time you want [`transfer`] instead.", + "", + "[`transfer`]: struct.Pallet.html#method.transfer" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "Transfer the entire transferable balance from the caller account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the account has, causing the sender account to be killed (false), or", + " transfer everything except at least the existential deposit, which will guarantee to", + " keep the sender account alive (true). # ", + "- O(1). Just like transfer, but reading the user's transferable balance first.", + " #" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "Unreserve some balance from a user by force.", + "", + "Can only be called by ROOT." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 153 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "free", + "reserved" + ], + "args_type_name": [ + "AccountId", + "Balance", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 28 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open." + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value" + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal" + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value" + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit" + ] + }, + { + "name": "KeepAlive", + "doc": [ + "Transfer/payment would kill account" + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account" + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist" + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed MaxReserves" + ] + } + ], + "errors_value": { + "type": 156 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 157 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 158 + }, + "fallback": "0x00", + "docs": null + } + ], + "constants": [ + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + }, + { + "name": "WeightToFee", + "type": "Vec", + "type_value": 159, + "constants_value": "0400000000000000000000000000000000ff117a000001", + "docs": [ + " The polynomial that is applied in order to derive fee from weight." + ] + }, + { + "name": "LengthToFee", + "type": "Vec", + "type_value": 159, + "constants_value": "04a0860100000000000000000000000000000000000001", + "docs": [ + " The polynomial that is applied in order to derive fee from length." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "errors": null, + "errors_value": null, + "index": 12 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Uncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 161 + }, + "fallback": "0x00", + "docs": [ + " Uncles" + ] + }, + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + }, + { + "name": "DidSetUncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " Whether uncles were already set in this block." + ] + } + ], + "calls": [ + { + "lookup": "1400", + "name": "set_uncles", + "docs": [ + "Provide a set of uncles." + ], + "args": [ + { + "name": "new_uncles", + "type": "Vec", + "type_name": "Vec
" + } + ] + } + ], + "calls_value": { + "type": 164 + }, + "constants": [ + { + "name": "UncleGenerations", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The number of blocks back we should accept uncles.", + " This means that we will deal with uncle-parents that are", + " `UncleGenerations + 1` before `now`." + ] + } + ], + "errors": [ + { + "name": "InvalidUncleParent", + "doc": [ + "The uncle parent not in the chain." + ] + }, + { + "name": "UnclesAlreadySet", + "doc": [ + "Uncles already set in the block." + ] + }, + { + "name": "TooManyUncles", + "doc": [ + "Too many uncles." + ] + }, + { + "name": "GenesisUncle", + "doc": [ + "The uncle is genesis." + ] + }, + { + "name": "TooHighUncle", + "doc": [ + "The uncle is too high in chain." + ] + }, + { + "name": "UncleAlreadyIncluded", + "doc": [ + "The uncle is already included." + ] + }, + { + "name": "OldUncle", + "doc": [ + "The uncle isn't recent enough to be included." + ] + } + ], + "errors_value": { + "type": 168 + }, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 31 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, fixed collators." + ] + }, + { + "name": "Candidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 169 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "Set the list of invulnerable (fixed) collators." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "Set the ideal number of collators (not including the invulnerables).", + "If lowering this number, then the number of running collators could be higher than this figure.", + "Aside from that edge case, there should be no other way to have more collators than the desired number." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "Set the candidacy bond amount." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "Register this account as a collator candidate. The account must (a) already have", + "registered session keys and (b) be able to reserve the `CandidacyBond`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "Deregister `origin` as a collator candidate. Note that the collator can only leave on", + "session change. The `CandidacyBond` will be unreserved immediately.", + "", + "This call will fail if the total number of candidates would drop below `MinCandidates`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + } + ], + "calls_value": { + "type": 171 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": null, + "args": [ + "Vec" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "NewDesiredCandidates", + "docs": null, + "args": [ + "U32" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1502", + "name": "NewCandidacyBond", + "docs": null, + "args": [ + "U128" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1503", + "name": "CandidateAdded", + "docs": null, + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1504", + "name": "CandidateRemoved", + "docs": null, + "args": [ + "AccountId" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 30 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "Too many candidates" + ] + }, + { + "name": "TooFewCandidates", + "doc": [ + "Too few candidates" + ] + }, + { + "name": "Unknown", + "doc": [ + "Unknown error" + ] + }, + { + "name": "Permission", + "doc": [ + "Permission issue" + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "User is already a candidate" + ] + }, + { + "name": "NotCandidate", + "doc": [ + "User is not a candidate" + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "User is already an Invulnerable" + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID" + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered" + ] + } + ], + "errors_value": { + "type": 172 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 31 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 173 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 90 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 175 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 178, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "Sets the session key(s) of the function caller to `keys`.", + "Allows an account to set its session key prior to becoming a validator.", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be signed.", + "", + "# ", + "- Complexity: `O(1)`. Actual cost depends on the number of length of", + " `T::Keys::key_ids()` which is fixed.", + "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`", + "- DbWrites: `origin account`, `NextKeys`", + "- DbReads per key id: `KeyOwner`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "Removes any session key(s) of the function caller.", + "", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be Signed and the account must be either be", + "convertible to a validator ID using the chain's typical addressing system (this usually", + "means being a controller account) or directly convertible into a validator ID (which", + "usually means being a stash account).", + "", + "# ", + "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length", + " of `T::Keys::key_ids()` which is fixed.", + "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`", + "- DbWrites: `NextKeys`, `origin account`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": null + } + ], + "calls_value": { + "type": 180 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 32 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 181 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 182 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 184 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 183 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will always", + " be updated to the latest AuRa authorities in `on_finalize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 185 + }, + "fallback": "0x00", + "docs": [ + " Status of the inbound XCMP channels." + ] + }, + { + "name": "InboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 191, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " Inbound aggregate XCMP messages. It can only be one per ParaId/block." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 192 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 195, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 36, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 196 + }, + "fallback": "0x020000000500000001000000a086010000000000020000000000000000c817a804000000", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32U32Vec", + "keys_id": 8, + "value_id": 197 + } + }, + "fallback": "0x00", + "docs": [ + " The messages that exceeded max individual message weight budget.", + "", + " These message stay in this storage map until they are manually dispatched via", + " `service_overweight`." + ] + }, + { + "name": "OverweightCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The number of overweight messages ever recorded in `Overweight`. Also doubles as the next", + " available free overweight index." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + } + ], + "calls": [ + { + "lookup": "1e00", + "name": "service_overweight", + "docs": [ + "Services a single overweight XCM.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight XCM to service", + "- `weight_limit`: The amount of weight that XCM execution may take.", + "", + "Errors:", + "- `BadOverweightIndex`: XCM under `index` is not found in the `Overweight` storage map.", + "- `BadXcm`: XCM under `index` cannot be properly decoded into a valid XCM format.", + "- `WeightOverLimit`: XCM execution may use greater `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "Suspends all XCM executions for the XCMP queue, regardless of the sender's origin.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "Resumes all XCM executions for the XCMP queue.", + "", + "Note that this function doesn't change the status of the in/out bound channels.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue for the other side to be told to", + "suspend their sending.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.suspend_value`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue after which we drop any further", + "messages from the channel.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.drop_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "Overwrites the number of pages of messages which the queue must be reduced to before it signals that", + "message sending may recommence after it has been suspended.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.resume_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e06", + "name": "update_threshold_weight", + "docs": [ + "Overwrites the amount of remaining weight under which we stop processing messages.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.threshold_weight`" + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e07", + "name": "update_weight_restrict_decay", + "docs": [ + "Overwrites the speed to which the available weight approaches the maximum weight.", + "A lower number results in a faster progression. A value of 1 makes the entire weight available initially.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.weight_restrict_decay`." + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e08", + "name": "update_xcmp_max_individual_weight", + "docs": [ + "Overwrite the maximum amount of weight any individual message may consume.", + "Messages above this weight go into the overweight queue and may only be serviced explicitly.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.xcmp_max_individual_weight`." + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 198 + }, + "events": [ + { + "lookup": "1e00", + "name": "Success", + "docs": [ + "Some XCM was executed ok." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e01", + "name": "Fail", + "docs": [ + "Some XCM failed." + ], + "args": [ + "option", + "xcm:v2:traits:Error" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "Option", + "XcmError" + ] + }, + { + "lookup": "1e02", + "name": "BadVersion", + "docs": [ + "Bad XCM version used." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e03", + "name": "BadFormat", + "docs": [ + "Bad XCM format used." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e04", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e05", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e06", + "name": "OverweightEnqueued", + "docs": [ + "An XCM exceeded the individual message weight budget." + ], + "args": [ + "U32", + "U32", + "U64", + "U64" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "ParaId", + "RelayBlockNumber", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "1e07", + "name": "OverweightServiced", + "docs": [ + "An XCM from the overweight queue was executed with the given actual weight used." + ], + "args": [ + "U64", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 33 + }, + "errors": [ + { + "name": "FailedToSend", + "doc": [ + "Failed to send XCM message." + ] + }, + { + "name": "BadXcmOrigin", + "doc": [ + "Bad XCM origin." + ] + }, + { + "name": "BadXcm", + "doc": [ + "Bad XCM data." + ] + }, + { + "name": "BadOverweightIndex", + "doc": [ + "Bad overweight index." + ] + }, + { + "name": "WeightOverLimit", + "doc": [ + "Provided weight is possibly not enough to execute the message." + ] + } + ], + "errors_value": { + "type": 199 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 8, + "value_id": 200 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 9, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U32", + "keys_id": 206, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U64", + "keys_id": 206, + "value_id": 8 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "Tuple:U64U64U32", + "keys_id": 206, + "value_id": 207 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 208 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 211 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": null, + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@214", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "Execute an XCM message from a local, signed, origin.", + "", + "An event is deposited indicating whether `msg` could be executed completely or only", + "partially.", + "", + "No more than `max_weight` will be used in its attempted execution. If this is less than the", + "maximum amount of weight that the message could take to be executed, then no execution", + "attempt will be made.", + "", + "NOTE: A successful return to this does *not* imply that the `msg` was executed successfully", + "to completion; only that *some* of it was executed." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@223", + "type_name": "Box::Call>>" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "Extoll that a particular destination can be communicated with through a particular", + "version of XCM.", + "", + "- `origin`: Must be Root.", + "- `location`: The destination that is being described.", + "- `xcm_version`: The latest version of XCM that `location` supports." + ], + "args": [ + { + "name": "location", + "type": "xcm:v1:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "xcm_version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "Set a safe XCM version (the version that XCM should be encoded with if the most recent", + "version a destination can accept is unknown).", + "", + "- `origin`: Must be Root.", + "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "Ask a location to notify us regarding their XCM version and any changes to it.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we should subscribe for XCM version notifications." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "Require that a particular destination should no longer notify us regarding any XCM", + "version changes.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we are currently subscribed for XCM version", + " notifications which we no longer desire." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + } + ], + "calls_value": { + "type": 213 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted.", + "", + "\\[ outcome \\]" + ], + "args": [ + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent.", + "", + "\\[ origin, destination, message \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "xcm:v1:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiLocation", + "Xcm<()>" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call.", + "", + "\\[ id, response \\]" + ], + "args": [ + "U64", + "xcm:v2:Response" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification could", + "not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result.", + "", + "\\[ id, pallet index, call index, actual weight, max budgeted weight \\]" + ], + "args": [ + "U64", + "U8", + "U8", + "U64", + "U64" + ], + "args_name": [ + "", + "", + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon.", + "", + "\\[ origin location, id, expected location \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "option" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed.", + "", + "\\[ id \\]" + ], + "args": [ + "U64" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap.", + "", + "\\[ hash, origin, assets \\]" + ], + "args": [ + "H256", + "xcm:v1:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "\\[ destination, result \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention.", + "", + "\\[ location, XCM version \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it.", + "", + "\\[ location, query ID, error \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "xcm:v2:traits:Error" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format.", + "", + "\\[ location, query ID \\]" + ], + "args": [ + "xcm:VersionedMultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "VersionedMultiLocation", + "QueryId" + ] + } + ], + "events_value": { + "type": 37 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message. Perhaps", + "a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `MultiLocation` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + } + ], + "errors_value": { + "type": 236 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 8]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 8]", + "Outcome" + ] + } + ], + "events_value": { + "type": 76 + }, + "errors": null, + "errors_value": { + "type": 237 + }, + "index": 32 + }, + { + "name": "DmpQueue", + "prefix": "DmpQueue", + "storage": [ + { + "name": "Configuration", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 238 + }, + "fallback": "0x00e40b5402000000", + "docs": [ + " The configuration." + ] + }, + { + "name": "PageIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_dmp_queue:PageIndexData", + "PlainTypeValue": 239 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The page index." + ] + }, + { + "name": "Pages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec>", + "keys_id": 4, + "value_id": 240 + } + }, + "fallback": "0x00", + "docs": [ + " The queue pages." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32Vec", + "keys_id": 8, + "value_id": 241 + } + }, + "fallback": "0x00", + "docs": [ + " The overweight messages." + ] + } + ], + "calls": [ + { + "lookup": "2100", + "name": "service_overweight", + "docs": [ + "Service a single overweight message.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight message to service.", + "- `weight_limit`: The amount of weight that message execution may take.", + "", + "Errors:", + "- `Unknown`: Message of `index` is unknown.", + "- `OverLimit`: Message execution may use greater than `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 242 + }, + "events": [ + { + "lookup": "2100", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2101", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2102", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 32]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MessageId", + "Outcome" + ] + }, + { + "lookup": "2103", + "name": "WeightExhausted", + "docs": [ + "The weight limit for handling downward messages was reached.", + "\\[ id, remaining, required \\]" + ], + "args": [ + "[U8; 32]", + "U64", + "U64" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MessageId", + "Weight", + "Weight" + ] + }, + { + "lookup": "2104", + "name": "OverweightEnqueued", + "docs": [ + "Downward message is overweight and was placed in the overweight queue.", + "\\[ id, index, required \\]" + ], + "args": [ + "[U8; 32]", + "U64", + "U64" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MessageId", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "2105", + "name": "OverweightServiced", + "docs": [ + "Downward message from the overweight queue was executed.", + "\\[ index, used \\]" + ], + "args": [ + "U64", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 77 + }, + "errors": [ + { + "name": "Unknown", + "doc": [ + "The message index given is unknown." + ] + }, + { + "name": "OverLimit", + "doc": [ + "The amount of weight given is possibly not enough for executing the message." + ] + } + ], + "errors_value": { + "type": 243 + }, + "index": 33 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "Send a batch of dispatch calls.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# ", + "", + "This will return `Ok` in all circumstances. To determine the success of the batch, an", + "event is deposited. If a call failed and the batch was interrupted, then the", + "`BatchInterrupted` event is deposited, along with the number of successful calls made", + "and the error of the failed call. If all were successful, then the `BatchCompleted`", + "event is deposited." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::Call>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "Send a call through an indexed pseudonym of the sender.", + "", + "Filter from origin are passed along. The call will be dispatched with an origin which", + "use the same filter as the origin of this call.", + "", + "NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", + "because you expect `proxy` to have been used prior in the call stack and you do not want", + "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", + "in the Multisig pallet instead.", + "", + "NOTE: Prior to version *12, this was called `as_limited_sub`.", + "", + "The dispatch origin for this call must be _Signed_." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "Send a batch of dispatch calls and atomically execute them.", + "The whole transaction will rollback and fail if any of the calls failed.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# " + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::Call>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "Dispatches a function call with a provided origin.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "# ", + "- O(1).", + "- Limited storage reads.", + "- One DB write (event).", + "- Weight of derivative `call` execution + T::WeightInfo::dispatch_as().", + "# " + ], + "args": [ + { + "name": "as_origin", + "type": "statemint_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + } + ], + "calls_value": { + "type": 244 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2803", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 78 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 262 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 263, + "value_id": 264 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + }, + { + "name": "Calls", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "[U8; 32]" + ], + "value": "Tuple:WrapperOpaqueAccountIdU128", + "keys_id": 1, + "value_id": 265 + } + }, + "fallback": "0x00", + "docs": null + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "Immediately dispatch a multi-signature call using a single approval from the caller.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `other_signatories`: The accounts (other than the sender) who are part of the", + "multi-signature, but do not participate in the approval process.", + "- `call`: The call to be executed.", + "", + "Result is equivalent to the dispatched result.", + "", + "# ", + "O(Z + C) where Z is the length of the call and C its execution weight.", + "-------------------------------", + "- DB Weight: None", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "If there are enough, then dispatch the call.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call`: The call to be executed.", + "", + "NOTE: Unless this is the final approval, you will generally want to use", + "`approve_as_multi` instead, since it only requires a hash of the call.", + "", + "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", + "on success, result is `Ok` and the result from the interior call, if it was executed,", + "may be found in the deposited `MultisigExecuted` event.", + "", + "# ", + "- `O(S + Z + Call)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- The weight of the `call`.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "-------------------------------", + "- DB Weight:", + " - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)", + " - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "WrapperOpaque", + "type_name": "OpaqueCall" + }, + { + "name": "store_call", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call_hash`: The hash of the call to be executed.", + "", + "NOTE: If this is the final approval, you will want to use `as_multi` instead.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account]", + " - Write: Multisig Storage, [Caller Account]", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", + "for this operation will be unreserved on success.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `timepoint`: The timepoint (block number and transaction index) of the first approval", + "transaction for this dispatch.", + "- `call_hash`: The hash of the call to be executed.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- One event.", + "- I/O: 1 read `O(S)`, one remove.", + "- Storage: removes one item.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account], Refund Account, Calls", + " - Write: Multisig Storage, [Caller Account], Refund Account, Calls", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 247 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 81 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "008e56ad040000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "0048e801000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U16", + "type_value": 85, + "constants_value": "6400", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 266 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:frame_support:storage:bounded_vec:BoundedVec@268U128", + "keys_id": 0, + "value_id": 267 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:frame_support:storage:bounded_vec:BoundedVec@272U128", + "keys_id": 0, + "value_id": 271 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorised for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "Register a proxy account for the sender that is able to make calls on its behalf.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to make a proxy.", + "- `proxy_type`: The permissions allowed for this proxy account.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "Unregister a proxy account for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to remove as a proxy.", + "- `proxy_type`: The permissions currently enabled for the removed proxy account.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "Unregister all proxy accounts for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "WARNING: This may be called on accounts created by `anonymous`, however if done, then", + "the unreserved fees will be inaccessible. **All access to this account will be lost.**", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": null + }, + { + "lookup": "2a04", + "name": "anonymous", + "docs": [ + "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", + "initialize it with a proxy of `proxy_type` for `origin` sender.", + "", + "Requires a `Signed` origin.", + "", + "- `proxy_type`: The type of the proxy that the sender will be registered as over the", + "new account. This will almost always be the most permissive `ProxyType` possible to", + "allow for maximum flexibility.", + "- `index`: A disambiguation index, in case this is called multiple times in the same", + "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", + "want to use `0`.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "Fails with `Duplicate` if this has already been called in this transaction, from the", + "same sender, with the same parameters.", + "", + "Fails if there are insufficient funds to pay for deposit.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# ", + "TODO: Might be over counting 1 read" + ], + "args": [ + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_anonymous", + "docs": [ + "Removes a previously spawned anonymous proxy.", + "", + "WARNING: **All access to this account will be lost.** Any funds held in it will be", + "inaccessible.", + "", + "Requires a `Signed` origin, and the sender account must have been created by a call to", + "`anonymous` with corresponding parameters.", + "", + "- `spawner`: The account that originally called `anonymous` to create this account.", + "- `index`: The disambiguation index originally passed to `anonymous`. Probably `0`.", + "- `proxy_type`: The proxy type originally passed to `anonymous`.", + "- `height`: The height of the chain when the call to `anonymous` was processed.", + "- `ext_index`: The extrinsic index in which the call to `anonymous` was processed.", + "", + "Fails with `NoPermission` in case the caller is not a previously created anonymous", + "account whose `anonymous` call has corresponding parameters.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "spawner", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumber" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "Publish the hash of a proxy-call that will be made in the future.", + "", + "This must be called some number of blocks before the corresponding `proxy` is attempted", + "if the delay associated with the proxy relationship is greater than zero.", + "", + "No more than `MaxPending` announcements may be made at any one time.", + "", + "This will take a deposit of `AnnouncementDepositFactor` as well as", + "`AnnouncementDepositBase` if there are no other pending announcements.", + "", + "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "Remove a given announcement.", + "", + "May be called by a proxy account to remove a call they previously announced and return", + "the deposit.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "Remove the given announcement of a delegate.", + "", + "May be called by a target (proxied) account to remove a call that one of their delegates", + "(`delegate`) has announced they want to execute. The deposit is returned.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `delegate`: The account that previously announced the call.", + "- `call_hash`: The hash of the call to be made.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorized for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + } + ], + "calls_value": { + "type": 250 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "AnonymousCreated", + "docs": [ + "Anonymous account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U16" + ], + "args_name": [ + "anonymous", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + }, + { + "lookup": "2a04", + "name": "ProxyRemoved", + "docs": [ + "A proxy was removed." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + } + ], + "events_value": { + "type": 83 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00227aaa040000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "408af701000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "0034f4aa040000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "8014ef03000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 275 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 276 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 277, + "value_id": 278 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 280, + "value_id": 281 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata", + "keys_id": 4, + "value_id": 282 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "destroy", + "docs": [ + "Destroy a class of fungible assets.", + "", + "The origin must conform to `ForceOrigin` or must be Signed and the sender must be the", + "owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + "asset.", + "", + "Emits `Destroyed` event when successful.", + "", + "NOTE: It can be helpful to first freeze an asset before destroying it so that you", + "can provide accurate witness information and prevent users from manipulating state", + "in a way that can make it harder to destroy.", + "", + "Weight: `O(c + p + a)` where:", + "- `c = (witness.accounts - witness.sufficients)`", + "- `s = witness.sufficients`", + "- `a = witness.approvals`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "witness", + "type": "pallet_assets:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3203", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3204", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3205", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3206", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers from an account.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3209", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "320a", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "320b", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "320c", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "320d", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "320e", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "320f", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3210", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3211", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3212", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3213", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3214", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3215", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3216", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "touch", + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3218", + "name": "refund", + "docs": [ + "Return the deposit (if any) of an asset account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for the account to be created.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 252 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "total_supply" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320b", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320c", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "320d", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "320f", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3210", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3211", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + } + ], + "events_value": { + "type": 86 + }, + "constants": [ + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "0010a5d4e80000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ec0ba9040000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "006125ac040000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "40420f00000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "NoProvider", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or the", + "maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + } + ], + "errors_value": { + "type": 284 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:ClassDetails", + "keys_id": 4, + "value_id": 285 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset class." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The class, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 286, + "value_id": 80 + } + }, + "fallback": "0x00", + "docs": [ + " The assets held by any given account; set out this way so that assets owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 287, + "value_id": 80 + } + }, + "fallback": "0x00", + "docs": [ + " The classes owned by any given account; set out this way so that classes owned by a single", + " account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:InstanceDetails", + "keys_id": 97, + "value_id": 288 + } + }, + "fallback": "0x00", + "docs": [ + " The assets in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:ClassMetadata", + "keys_id": 4, + "value_id": 289 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an asset class." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:InstanceMetadata", + "keys_id": 97, + "value_id": 290 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an asset instance." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 291, + "value_id": 292 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an asset class." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "Issue a new class of non-fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "`AssetDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `class`: The identifier of the new asset class. This must not be currently in use.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "Issue a new class of non-fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `class`: The identifier of the new asset. This must not be currently in use.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "Destroy a class of fungible assets.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the asset `class`.", + "", + "- `class`: The identifier of the asset class to be destroyed.", + "- `witness`: Information on the instances minted in the asset class. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.instances`", + "- `m = witness.instance_metadatas`", + "- `a = witness.attributes`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "Mint an asset instance of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `class`.", + "", + "- `class`: The class of the asset to be minted.", + "- `instance`: The instance value of the asset to be minted.", + "- `beneficiary`: The initial owner of the minted asset.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "U32", + "type_name": "InstanceId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "Destroy a single asset instance.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `class`.", + "", + "- `class`: The class of the asset to be burned.", + "- `instance`: The instance of the asset to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " asset is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "U32", + "type_name": "InstanceId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option<::Source>" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "Move an asset from the sender account to another.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the asset `class`;", + "- the Owner of the asset `instance`;", + "- the approved delegate for the asset `instance` (in this case, the approval is reset).", + "", + "Arguments:", + "- `class`: The class of the asset to be transferred.", + "- `instance`: The instance of the asset to be transferred.", + "- `dest`: The account to receive ownership of the asset.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "U32", + "type_name": "InstanceId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "Reevaluate the deposits on some assets.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `class`.", + "", + "- `class`: The class of the asset to be frozen.", + "- `instances`: The instances of the asset class whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any asset instances which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on instances", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the class is unknown of the signer is", + "not permitted to call it.", + "", + "Weight: `O(instances.len())`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + }, + { + "name": "instances", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfer of an asset instance.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `class`.", + "", + "- `class`: The class of the asset to be frozen.", + "- `instance`: The instance of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "U32", + "type_name": "InstanceId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "Re-allow unprivileged transfer of an asset instance.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `class`.", + "", + "- `class`: The class of the asset to be thawed.", + "- `instance`: The instance of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "U32", + "type_name": "InstanceId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_class", + "docs": [ + "Disallow further unprivileged transfers for a whole asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `class`.", + "", + "- `class`: The asset class to be frozen.", + "", + "Emits `ClassFrozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_class", + "docs": [ + "Re-allow unprivileged transfers for a whole asset class.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `class`.", + "", + "- `class`: The class to be thawed.", + "", + "Emits `ClassThawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset class.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `class`.", + "", + "- `class`: The asset class whose owner should be changed.", + "- `owner`: The new Owner of this asset class. They must have called", + " `set_accept_ownership` with `class` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset class.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `class`.", + "", + "- `class`: The asset class whose team should be changed.", + "- `issuer`: The new Issuer of this asset class.", + "- `admin`: The new Admin of this asset class.", + "- `freezer`: The new Freezer of this asset class.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "Approve an instance to be transferred by a delegated third-party account.", + "", + "Origin must be Signed and must be the owner of the asset `instance`.", + "", + "- `class`: The class of the asset to be approved for delegated transfer.", + "- `instance`: The instance of the asset to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the asset.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "U32", + "type_name": "InstanceId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "Cancel the prior approval for the transfer of an asset by a delegate.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the asset `class`;", + "- `Signed` with the signer being the Owner of the asset `instance`;", + "", + "Arguments:", + "- `class`: The class of the asset of whose approval will be cancelled.", + "- `instance`: The instance of the asset of whose approval will be cancelled.", + "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", + " which permission of transfer is delegated.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "U32", + "type_name": "InstanceId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option<::Source>" + } + ] + }, + { + "lookup": "330f", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `class`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `free_holding`: Whether a deposit is taken for holding an instance of this asset", + " class.", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "Set an attribute for an asset class or instance.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "asset `class`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `class`: The identifier of the asset class whose instance's metadata to set.", + "- `maybe_instance`: The identifier of the asset instance whose metadata to set.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + }, + { + "name": "maybe_instance", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "Clear an attribute for an asset class or instance.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "asset `class`.", + "", + "Any deposit is freed for the asset class owner.", + "", + "- `class`: The identifier of the asset class whose instance's metadata to clear.", + "- `maybe_instance`: The identifier of the asset instance whose metadata to clear.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + }, + { + "name": "maybe_instance", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset instance.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "asset `class`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `class`: The identifier of the asset class whose instance's metadata to set.", + "- `instance`: The identifier of the asset instance whose metadata to set.", + "- `data`: The general information of this asset. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "U32", + "type_name": "InstanceId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset instance.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "asset `instance`.", + "", + "Any deposit is freed for the asset class owner.", + "", + "- `class`: The identifier of the asset class whose instance's metadata to clear.", + "- `instance`: The identifier of the asset instance whose metadata to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + }, + { + "name": "instance", + "type": "U32", + "type_name": "InstanceId" + } + ] + }, + { + "lookup": "3314", + "name": "set_class_metadata", + "docs": [ + "Set the metadata for an asset class.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the asset `class`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `class`: The identifier of the asset whose metadata to update.", + "- `data`: The general information of this asset. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `ClassMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_class_metadata", + "docs": [ + "Clear the metadata for an asset class.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the asset `class`.", + "", + "Any deposit is freed for the asset class owner.", + "", + "- `class`: The identifier of the asset class whose metadata to clear.", + "", + "Emits `ClassMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "class", + "type": "U32", + "type_name": "ClassId" + } + ] + }, + { + "lookup": "3316", + "name": "set_accept_ownership", + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_class` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_class`: The identifier of the asset class whose ownership the signer is willing", + " to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ], + "args": [ + { + "name": "maybe_class", + "type": "option", + "type_name": "Option" + } + ] + } + ], + "calls_value": { + "type": 254 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "An asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "class", + "creator", + "owner" + ], + "args_type_name": [ + "ClassId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "An asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "class", + "owner" + ], + "args_type_name": [ + "ClassId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "An asset `class` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "class" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An asset `instance` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "class", + "instance", + "owner" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An asset `instance` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "class", + "instance", + "from", + "to" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An asset `instance` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "class", + "instance", + "owner" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some asset `instance` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "class", + "instance" + ], + "args_type_name": [ + "ClassId", + "InstanceId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some asset `instance` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "class", + "instance" + ], + "args_type_name": [ + "ClassId", + "InstanceId" + ] + }, + { + "lookup": "3308", + "name": "ClassFrozen", + "docs": [ + "Some asset `class` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "class" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "3309", + "name": "ClassThawed", + "docs": [ + "Some asset `class` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "class" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "class", + "new_owner" + ], + "args_type_name": [ + "ClassId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "class", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "ClassId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `instance` of an asset `class` has been approved by the `owner` for transfer by a", + "`delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "class", + "instance", + "owner", + "delegate" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `instance` of an asset `class` was", + "cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "class", + "instance", + "owner", + "delegate" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "AssetStatusChanged", + "docs": [ + "An asset `class` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "class" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "330f", + "name": "ClassMetadataSet", + "docs": [ + "New metadata has been set for an asset class." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "class", + "data", + "is_frozen" + ], + "args_type_name": [ + "ClassId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "ClassMetadataCleared", + "docs": [ + "Metadata has been cleared for an asset class." + ], + "args": [ + "U32" + ], + "args_name": [ + "class" + ], + "args_type_name": [ + "ClassId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset instance." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "class", + "instance", + "data", + "is_frozen" + ], + "args_type_name": [ + "ClassId", + "InstanceId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset instance." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "class", + "instance" + ], + "args_type_name": [ + "ClassId", + "InstanceId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an asset instance." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "class", + "successful_instances" + ], + "args_type_name": [ + "ClassId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for an asset class or instance." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "class", + "maybe_instance", + "key", + "value" + ], + "args_type_name": [ + "ClassId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for an asset class or instance." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "class", + "maybe_instance", + "key" + ], + "args_type_name": [ + "ClassId", + "Option", + "BoundedVec" + ] + }, + { + "lookup": "3316", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_class" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + } + ], + "events_value": { + "type": 88 + }, + "constants": [ + { + "name": "ClassDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e40b54020000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset class." + ] + }, + { + "name": "InstanceDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset instance." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "402ac8af040000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00c817a8040000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an asset." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "40420f00000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownClass", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset instance ID has already been used for an asset." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The asset instance or class is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership of the class is acceptable." + ] + } + ], + "errors_value": { + "type": 293 + }, + "index": 51 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v9230.json b/src/demo_substrate_events/abi/assethub/v9230.json new file mode 100644 index 000000000..394f0cef1 --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v9230.json @@ -0,0 +1,9198 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:weights:PerDispatchClass@7", + "PlainTypeValue": 7 + }, + "fallback": "0x000000000000000000000000000000000000000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 9 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 9 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 11 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 15 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: The item is unbound and should therefore never be read on chain.", + " It could otherwise inflate the PoV size of a block.", + "", + " Events have a large in-memory size. Box the events to not go out-of-memory", + " just in case someone still reads them from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 9, + "value_id": 96 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 98 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 94 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "fill_block", + "docs": [ + "A dispatch that will fill the block weight up to the given ratio." + ], + "args": [ + { + "name": "ratio", + "type": "U32", + "type_name": "Perbill" + } + ] + }, + { + "lookup": "0001", + "name": "remark", + "docs": [ + "Make some on-chain remark.", + "", + "# ", + "- `O(1)`", + "# " + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0002", + "name": "set_heap_pages", + "docs": [ + "Set the number of pages in the WebAssembly environment's heap." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0003", + "name": "set_code", + "docs": [ + "Set the new runtime code.", + "", + "# ", + "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`", + "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is", + " expensive).", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime, but generally this is very", + "expensive. We will treat this as a full block.", + "# " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_code_without_checks", + "docs": [ + "Set the new runtime code without doing any checks of the given `code`.", + "", + "# ", + "- `O(C)` where `C` length of `code`", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime. We will treat this as a full", + "block. # " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0005", + "name": "set_storage", + "docs": [ + "Set some items of storage." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_storage", + "docs": [ + "Kill some items from storage." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0007", + "name": "kill_prefix", + "docs": [ + "Kill all storage items with a key that starts with the given prefix.", + "", + "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", + "the prefix we are removing to accurately calculate the weight of this function." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0008", + "name": "remark_with_event", + "docs": [ + "Make some on-chain remark and emit event." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 100 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:weights:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:weights:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + } + ], + "events_value": { + "type": 18 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 105, + "constants_value": "00f2052a010000000088526a74000000405973070000000001c0d22c76510000000100e6bd4f57000000010000000000000000405973070000000001c074c1906e000000010088526a740000000100a2941a1d0000004059730700000000000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:weights:PerDispatchClass@110", + "type_value": 109, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "60090000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "frame_support:weights:RuntimeDbWeight", + "type_value": 111, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 112, + "constants_value": "2473746174656d696e742473746174656d696e74010000000e2400000000000028dd718d5cc53262d401000000df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a801000000ea93e3f16f3d6962020000000700000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 85, + "constants_value": "0000", + "docs": [ + " The designated SS85 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + } + ], + "errors_value": { + "type": 116 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][well_known_keys::CODE]", + " which will result the next block process with the new validation code. This concludes the upgrade process.", + "", + " [well_known_keys::CODE]: sp_core::storage::well_known_keys::CODE" + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v2:PersistedValidationData", + "PlainTypeValue": 117 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 119 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelayStateProof", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 121 + }, + "fallback": "0x00", + "docs": [ + " The state proof for the last relay parent block.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 123 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v2:AbridgedHostConfiguration", + "PlainTypeValue": 127 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 128 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 129 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 132 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 104 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 104 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The next authorized upgrade, if there is one." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See [`Pallet::set_custom_validation_head_data`] for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "Set the current validation data.", + "", + "This should be invoked exactly once per block. It will panic at the finalization", + "phase if the call was not invoked.", + "", + "The dispatch origin for this call must be `Inherent`", + "", + "As a side effect, this function upgrades the current validation function", + "if the appropriate time has come." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": null, + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": null, + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": null, + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 134 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "relay_chain_block_num" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade has been authorized." + ], + "args": [ + "H256" + ], + "args_name": [ + "code_hash" + ], + "args_type_name": [ + "Hash" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed." + ], + "args": [ + "U32" + ], + "args_name": [ + "count" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0105", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight." + ], + "args": [ + "U64", + "H256" + ], + "args_name": [ + "weight_used", + "dmq_head" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + } + ], + "events_value": { + "type": 27 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending" + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function" + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run" + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block" + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block" + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 143 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x0000000000000000", + "docs": [ + " Current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " Did the timestamp get updated in this block?" + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "Set the current time.", + "", + "This call should be invoked exactly once per block. It will panic at the finalization", + "phase, if this call hasn't been invoked by that time.", + "", + "The timestamp should be greater than the previous one by the amount specified by", + "`MinimumPeriod`.", + "", + "The dispatch origin for this call must be `Inherent`.", + "", + "# ", + "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", + "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in", + " `on_finalize`)", + "- 1 event handler `on_timestamp_set`. Must be `O(1)`.", + "# " + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 144 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 8, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks. Beware that this is different to the *expected*", + " period that the block production apparatus provides. Your chosen consensus system will", + " generally work with this to determine a sensible block time. e.g. For Aura, it will be", + " double this period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 36 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 145 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 149 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances." + ] + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_balances:Releases", + "PlainTypeValue": 152 + }, + "fallback": "0x00", + "docs": [ + " Storage version of the pallet.", + "", + " This is set to v2.0.0 for new networks." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer", + "docs": [ + "Transfer some liquid free balance to another account.", + "", + "`transfer` will set the `FreeBalance` of the sender and receiver.", + "If the sender's account is below the existential deposit as a result", + "of the transfer, the account will be reaped.", + "", + "The dispatch origin for this call must be `Signed` by the transactor.", + "", + "# ", + "- Dependent on arguments but not critical, given proper implementations for input config", + " types. See related functions below.", + "- It contains a limited number of reads and writes internally and no complex", + " computation.", + "", + "Related functions:", + "", + " - `ensure_can_withdraw` is always called internally but has a bounded complexity.", + " - Transferring balances to accounts that did not exist before will cause", + " `T::OnNewAccount::on_new_account` to be called.", + " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.", + " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check", + " that the transfer will not kill the origin account.", + "---------------------------------", + "- Origin account is already in memory, so no DB operations for them.", + "# " + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a01", + "name": "set_balance", + "docs": [ + "Set the balances of a given account.", + "", + "This will alter `FreeBalance` and `ReservedBalance` in storage. it will", + "also alter the total issuance of the system (`TotalIssuance`) appropriately.", + "If the new free or reserved balance is below the existential deposit,", + "it will reset the account nonce (`frame_system::AccountNonce`).", + "", + "The dispatch origin for this call is `root`." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "new_reserved", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "Exactly as `transfer`, except the origin must be root and the source account may be", + "specified.", + "# ", + "- Same as transfer, but additional read and write because the source account is not", + " assumed to be in the overlay.", + "# " + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "Same as the [`transfer`] call, but with a check that the transfer will not kill the", + "origin account.", + "", + "99% of the time you want [`transfer`] instead.", + "", + "[`transfer`]: struct.Pallet.html#method.transfer" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "Transfer the entire transferable balance from the caller account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the account has, causing the sender account to be killed (false), or", + " transfer everything except at least the existential deposit, which will guarantee to", + " keep the sender account alive (true). # ", + "- O(1). Just like transfer, but reading the user's transferable balance first.", + " #" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "Unreserve some balance from a user by force.", + "", + "Can only be called by ROOT." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 153 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "free", + "reserved" + ], + "args_type_name": [ + "AccountId", + "Balance", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 28 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open." + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value" + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal" + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value" + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit" + ] + }, + { + "name": "KeepAlive", + "doc": [ + "Transfer/payment would kill account" + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account" + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist" + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed MaxReserves" + ] + } + ], + "errors_value": { + "type": 156 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 157 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 158 + }, + "fallback": "0x00", + "docs": null + } + ], + "constants": [ + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "errors": null, + "errors_value": null, + "index": 12 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Uncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 159 + }, + "fallback": "0x00", + "docs": [ + " Uncles" + ] + }, + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + }, + { + "name": "DidSetUncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " Whether uncles were already set in this block." + ] + } + ], + "calls": [ + { + "lookup": "1400", + "name": "set_uncles", + "docs": [ + "Provide a set of uncles." + ], + "args": [ + { + "name": "new_uncles", + "type": "Vec", + "type_name": "Vec
" + } + ] + } + ], + "calls_value": { + "type": 162 + }, + "constants": [ + { + "name": "UncleGenerations", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The number of blocks back we should accept uncles.", + " This means that we will deal with uncle-parents that are", + " `UncleGenerations + 1` before `now`." + ] + } + ], + "errors": [ + { + "name": "InvalidUncleParent", + "doc": [ + "The uncle parent not in the chain." + ] + }, + { + "name": "UnclesAlreadySet", + "doc": [ + "Uncles already set in the block." + ] + }, + { + "name": "TooManyUncles", + "doc": [ + "Too many uncles." + ] + }, + { + "name": "GenesisUncle", + "doc": [ + "The uncle is genesis." + ] + }, + { + "name": "TooHighUncle", + "doc": [ + "The uncle is too high in chain." + ] + }, + { + "name": "UncleAlreadyIncluded", + "doc": [ + "The uncle is already included." + ] + }, + { + "name": "OldUncle", + "doc": [ + "The uncle isn't recent enough to be included." + ] + } + ], + "errors_value": { + "type": 166 + }, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 31 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, fixed collators." + ] + }, + { + "name": "Candidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 167 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "Set the list of invulnerable (fixed) collators." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "Set the ideal number of collators (not including the invulnerables).", + "If lowering this number, then the number of running collators could be higher than this figure.", + "Aside from that edge case, there should be no other way to have more collators than the desired number." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "Set the candidacy bond amount." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "Register this account as a collator candidate. The account must (a) already have", + "registered session keys and (b) be able to reserve the `CandidacyBond`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "Deregister `origin` as a collator candidate. Note that the collator can only leave on", + "session change. The `CandidacyBond` will be unreserved immediately.", + "", + "This call will fail if the total number of candidates would drop below `MinCandidates`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + } + ], + "calls_value": { + "type": 169 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": null, + "args": [ + "Vec" + ], + "args_name": [ + "invulnerables" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "NewDesiredCandidates", + "docs": null, + "args": [ + "U32" + ], + "args_name": [ + "desired_candidates" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1502", + "name": "NewCandidacyBond", + "docs": null, + "args": [ + "U128" + ], + "args_name": [ + "bond_amount" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1503", + "name": "CandidateAdded", + "docs": null, + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1504", + "name": "CandidateRemoved", + "docs": null, + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 30 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "Too many candidates" + ] + }, + { + "name": "TooFewCandidates", + "doc": [ + "Too few candidates" + ] + }, + { + "name": "Unknown", + "doc": [ + "Unknown error" + ] + }, + { + "name": "Permission", + "doc": [ + "Permission issue" + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "User is already a candidate" + ] + }, + { + "name": "NotCandidate", + "doc": [ + "User is not a candidate" + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "User is already an Invulnerable" + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID" + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered" + ] + } + ], + "errors_value": { + "type": 170 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 31 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 171 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 90 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 173 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 176, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "Sets the session key(s) of the function caller to `keys`.", + "Allows an account to set its session key prior to becoming a validator.", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be signed.", + "", + "# ", + "- Complexity: `O(1)`. Actual cost depends on the number of length of", + " `T::Keys::key_ids()` which is fixed.", + "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`", + "- DbWrites: `origin account`, `NextKeys`", + "- DbReads per key id: `KeyOwner`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "Removes any session key(s) of the function caller.", + "", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be Signed and the account must be either be", + "convertible to a validator ID using the chain's typical addressing system (this usually", + "means being a controller account) or directly convertible into a validator ID (which", + "usually means being a stash account).", + "", + "# ", + "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length", + " of `T::Keys::key_ids()` which is fixed.", + "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`", + "- DbWrites: `NextKeys`, `origin account`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": null + } + ], + "calls_value": { + "type": 178 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 32 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 179 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 180 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 182 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 181 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will always", + " be updated to the latest AuRa authorities in `on_finalize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 183 + }, + "fallback": "0x00", + "docs": [ + " Status of the inbound XCMP channels." + ] + }, + { + "name": "InboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 189, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " Inbound aggregate XCMP messages. It can only be one per ParaId/block." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 190 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 193, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 36, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 194 + }, + "fallback": "0x020000000500000001000000a086010000000000020000000000000000c817a804000000", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32U32Vec", + "keys_id": 8, + "value_id": 195 + } + }, + "fallback": "0x00", + "docs": [ + " The messages that exceeded max individual message weight budget.", + "", + " These message stay in this storage map until they are manually dispatched via", + " `service_overweight`." + ] + }, + { + "name": "OverweightCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The number of overweight messages ever recorded in `Overweight`. Also doubles as the next", + " available free overweight index." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 87 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + } + ], + "calls": [ + { + "lookup": "1e00", + "name": "service_overweight", + "docs": [ + "Services a single overweight XCM.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight XCM to service", + "- `weight_limit`: The amount of weight that XCM execution may take.", + "", + "Errors:", + "- `BadOverweightIndex`: XCM under `index` is not found in the `Overweight` storage map.", + "- `BadXcm`: XCM under `index` cannot be properly decoded into a valid XCM format.", + "- `WeightOverLimit`: XCM execution may use greater `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "Suspends all XCM executions for the XCMP queue, regardless of the sender's origin.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "Resumes all XCM executions for the XCMP queue.", + "", + "Note that this function doesn't change the status of the in/out bound channels.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue for the other side to be told to", + "suspend their sending.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.suspend_value`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue after which we drop any further", + "messages from the channel.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.drop_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "Overwrites the number of pages of messages which the queue must be reduced to before it signals that", + "message sending may recommence after it has been suspended.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.resume_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e06", + "name": "update_threshold_weight", + "docs": [ + "Overwrites the amount of remaining weight under which we stop processing messages.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.threshold_weight`" + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e07", + "name": "update_weight_restrict_decay", + "docs": [ + "Overwrites the speed to which the available weight approaches the maximum weight.", + "A lower number results in a faster progression. A value of 1 makes the entire weight available initially.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.weight_restrict_decay`." + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e08", + "name": "update_xcmp_max_individual_weight", + "docs": [ + "Overwrite the maximum amount of weight any individual message may consume.", + "Messages above this weight go into the overweight queue and may only be serviced explicitly.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.xcmp_max_individual_weight`." + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 196 + }, + "events": [ + { + "lookup": "1e00", + "name": "Success", + "docs": [ + "Some XCM was executed ok." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e01", + "name": "Fail", + "docs": [ + "Some XCM failed." + ], + "args": [ + "option", + "xcm:v2:traits:Error" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "Option", + "XcmError" + ] + }, + { + "lookup": "1e02", + "name": "BadVersion", + "docs": [ + "Bad XCM version used." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e03", + "name": "BadFormat", + "docs": [ + "Bad XCM format used." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e04", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e05", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "option" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e06", + "name": "OverweightEnqueued", + "docs": [ + "An XCM exceeded the individual message weight budget." + ], + "args": [ + "U32", + "U32", + "U64", + "U64" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "ParaId", + "RelayBlockNumber", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "1e07", + "name": "OverweightServiced", + "docs": [ + "An XCM from the overweight queue was executed with the given actual weight used." + ], + "args": [ + "U64", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 33 + }, + "errors": [ + { + "name": "FailedToSend", + "doc": [ + "Failed to send XCM message." + ] + }, + { + "name": "BadXcmOrigin", + "doc": [ + "Bad XCM origin." + ] + }, + { + "name": "BadXcm", + "doc": [ + "Bad XCM data." + ] + }, + { + "name": "BadOverweightIndex", + "doc": [ + "Bad overweight index." + ] + }, + { + "name": "WeightOverLimit", + "doc": [ + "Provided weight is possibly not enough to execute the message." + ] + } + ], + "errors_value": { + "type": 197 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 8, + "value_id": 198 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 9, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U32", + "keys_id": 204, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U64", + "keys_id": 204, + "value_id": 8 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "Tuple:U64U64U32", + "keys_id": 204, + "value_id": 205 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 206 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 209 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": null, + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@212", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "Execute an XCM message from a local, signed, origin.", + "", + "An event is deposited indicating whether `msg` could be executed completely or only", + "partially.", + "", + "No more than `max_weight` will be used in its attempted execution. If this is less than the", + "maximum amount of weight that the message could take to be executed, then no execution", + "attempt will be made.", + "", + "NOTE: A successful return to this does *not* imply that the `msg` was executed successfully", + "to completion; only that *some* of it was executed." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@221", + "type_name": "Box::Call>>" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "Extoll that a particular destination can be communicated with through a particular", + "version of XCM.", + "", + "- `origin`: Must be Root.", + "- `location`: The destination that is being described.", + "- `xcm_version`: The latest version of XCM that `location` supports." + ], + "args": [ + { + "name": "location", + "type": "xcm:v1:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "xcm_version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "Set a safe XCM version (the version that XCM should be encoded with if the most recent", + "version a destination can accept is unknown).", + "", + "- `origin`: Must be Root.", + "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "Ask a location to notify us regarding their XCM version and any changes to it.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we should subscribe for XCM version notifications." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "Require that a particular destination should no longer notify us regarding any XCM", + "version changes.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we are currently subscribed for XCM version", + " notifications which we no longer desire." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + } + ], + "calls_value": { + "type": 211 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted.", + "", + "\\[ outcome \\]" + ], + "args": [ + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent.", + "", + "\\[ origin, destination, message \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "xcm:v1:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiLocation", + "Xcm<()>" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call.", + "", + "\\[ id, response \\]" + ], + "args": [ + "U64", + "xcm:v2:Response" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification could", + "not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result.", + "", + "\\[ id, pallet index, call index, actual weight, max budgeted weight \\]" + ], + "args": [ + "U64", + "U8", + "U8", + "U64", + "U64" + ], + "args_name": [ + "", + "", + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon.", + "", + "\\[ origin location, id, expected location \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "option" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed.", + "", + "\\[ id \\]" + ], + "args": [ + "U64" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap.", + "", + "\\[ hash, origin, assets \\]" + ], + "args": [ + "H256", + "xcm:v1:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "\\[ destination, result \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention.", + "", + "\\[ location, XCM version \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it.", + "", + "\\[ location, query ID, error \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "xcm:v2:traits:Error" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format.", + "", + "\\[ location, query ID \\]" + ], + "args": [ + "xcm:VersionedMultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "VersionedMultiLocation", + "QueryId" + ] + } + ], + "events_value": { + "type": 37 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message. Perhaps", + "a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `MultiLocation` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + } + ], + "errors_value": { + "type": 234 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 8]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 8]", + "Outcome" + ] + } + ], + "events_value": { + "type": 76 + }, + "errors": null, + "errors_value": { + "type": 235 + }, + "index": 32 + }, + { + "name": "DmpQueue", + "prefix": "DmpQueue", + "storage": [ + { + "name": "Configuration", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 236 + }, + "fallback": "0x00e40b5402000000", + "docs": [ + " The configuration." + ] + }, + { + "name": "PageIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_dmp_queue:PageIndexData", + "PlainTypeValue": 237 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The page index." + ] + }, + { + "name": "Pages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec>", + "keys_id": 4, + "value_id": 238 + } + }, + "fallback": "0x00", + "docs": [ + " The queue pages." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32Vec", + "keys_id": 8, + "value_id": 239 + } + }, + "fallback": "0x00", + "docs": [ + " The overweight messages." + ] + } + ], + "calls": [ + { + "lookup": "2100", + "name": "service_overweight", + "docs": [ + "Service a single overweight message.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight message to service.", + "- `weight_limit`: The amount of weight that message execution may take.", + "", + "Errors:", + "- `Unknown`: Message of `index` is unknown.", + "- `OverLimit`: Message execution may use greater than `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 240 + }, + "events": [ + { + "lookup": "2100", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2101", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2102", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome." + ], + "args": [ + "[U8; 32]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "message_id", + "outcome" + ], + "args_type_name": [ + "MessageId", + "Outcome" + ] + }, + { + "lookup": "2103", + "name": "WeightExhausted", + "docs": [ + "The weight limit for handling downward messages was reached." + ], + "args": [ + "[U8; 32]", + "U64", + "U64" + ], + "args_name": [ + "message_id", + "remaining_weight", + "required_weight" + ], + "args_type_name": [ + "MessageId", + "Weight", + "Weight" + ] + }, + { + "lookup": "2104", + "name": "OverweightEnqueued", + "docs": [ + "Downward message is overweight and was placed in the overweight queue." + ], + "args": [ + "[U8; 32]", + "U64", + "U64" + ], + "args_name": [ + "message_id", + "overweight_index", + "required_weight" + ], + "args_type_name": [ + "MessageId", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "2105", + "name": "OverweightServiced", + "docs": [ + "Downward message from the overweight queue was executed." + ], + "args": [ + "U64", + "U64" + ], + "args_name": [ + "overweight_index", + "weight_used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 77 + }, + "errors": [ + { + "name": "Unknown", + "doc": [ + "The message index given is unknown." + ] + }, + { + "name": "OverLimit", + "doc": [ + "The amount of weight given is possibly not enough for executing the message." + ] + } + ], + "errors_value": { + "type": 241 + }, + "index": 33 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "Send a batch of dispatch calls.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# ", + "", + "This will return `Ok` in all circumstances. To determine the success of the batch, an", + "event is deposited. If a call failed and the batch was interrupted, then the", + "`BatchInterrupted` event is deposited, along with the number of successful calls made", + "and the error of the failed call. If all were successful, then the `BatchCompleted`", + "event is deposited." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::Call>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "Send a call through an indexed pseudonym of the sender.", + "", + "Filter from origin are passed along. The call will be dispatched with an origin which", + "use the same filter as the origin of this call.", + "", + "NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", + "because you expect `proxy` to have been used prior in the call stack and you do not want", + "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", + "in the Multisig pallet instead.", + "", + "NOTE: Prior to version *12, this was called `as_limited_sub`.", + "", + "The dispatch origin for this call must be _Signed_." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "Send a batch of dispatch calls and atomically execute them.", + "The whole transaction will rollback and fail if any of the calls failed.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# " + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::Call>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "Dispatches a function call with a provided origin.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "# ", + "- O(1).", + "- Limited storage reads.", + "- One DB write (event).", + "- Weight of derivative `call` execution + T::WeightInfo::dispatch_as().", + "# " + ], + "args": [ + { + "name": "as_origin", + "type": "statemint_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2804", + "name": "force_batch", + "docs": [ + "Send a batch of dispatch calls.", + "Unlike `batch`, it allows errors and won't interrupt.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# " + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::Call>" + } + ] + } + ], + "calls_value": { + "type": 242 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "BatchCompletedWithErrors", + "docs": [ + "Batch of dispatches completed but has errors." + ], + "args": null + }, + { + "lookup": "2803", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2804", + "name": "ItemFailed", + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ], + "args": [ + "sp_runtime:DispatchError" + ], + "args_name": [ + "error" + ], + "args_type_name": [ + "DispatchError" + ] + }, + { + "lookup": "2805", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 78 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 260 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 261, + "value_id": 262 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + }, + { + "name": "Calls", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "[U8; 32]" + ], + "value": "Tuple:WrapperOpaqueAccountIdU128", + "keys_id": 1, + "value_id": 263 + } + }, + "fallback": "0x00", + "docs": null + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "Immediately dispatch a multi-signature call using a single approval from the caller.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `other_signatories`: The accounts (other than the sender) who are part of the", + "multi-signature, but do not participate in the approval process.", + "- `call`: The call to be executed.", + "", + "Result is equivalent to the dispatched result.", + "", + "# ", + "O(Z + C) where Z is the length of the call and C its execution weight.", + "-------------------------------", + "- DB Weight: None", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "If there are enough, then dispatch the call.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call`: The call to be executed.", + "", + "NOTE: Unless this is the final approval, you will generally want to use", + "`approve_as_multi` instead, since it only requires a hash of the call.", + "", + "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", + "on success, result is `Ok` and the result from the interior call, if it was executed,", + "may be found in the deposited `MultisigExecuted` event.", + "", + "# ", + "- `O(S + Z + Call)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- The weight of the `call`.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "-------------------------------", + "- DB Weight:", + " - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)", + " - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "WrapperOpaque", + "type_name": "OpaqueCall" + }, + { + "name": "store_call", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call_hash`: The hash of the call to be executed.", + "", + "NOTE: If this is the final approval, you will want to use `as_multi` instead.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account]", + " - Write: Multisig Storage, [Caller Account]", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", + "for this operation will be unreserved on success.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `timepoint`: The timepoint (block number and transaction index) of the first approval", + "transaction for this dispatch.", + "- `call_hash`: The hash of the call to be executed.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- One event.", + "- I/O: 1 read `O(S)`, one remove.", + "- Storage: removes one item.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account], Refund Account, Calls", + " - Write: Multisig Storage, [Caller Account], Refund Account, Calls", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 245 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 81 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00dbbb77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "00d43000000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U16", + "type_value": 85, + "constants_value": "6400", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 264 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:frame_support:storage:bounded_vec:BoundedVec@266U128", + "keys_id": 0, + "value_id": 265 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:frame_support:storage:bounded_vec:BoundedVec@270U128", + "keys_id": 0, + "value_id": 269 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorised for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "Register a proxy account for the sender that is able to make calls on its behalf.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to make a proxy.", + "- `proxy_type`: The permissions allowed for this proxy account.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "Unregister a proxy account for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to remove as a proxy.", + "- `proxy_type`: The permissions currently enabled for the removed proxy account.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "Unregister all proxy accounts for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "WARNING: This may be called on accounts created by `anonymous`, however if done, then", + "the unreserved fees will be inaccessible. **All access to this account will be lost.**", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": null + }, + { + "lookup": "2a04", + "name": "anonymous", + "docs": [ + "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", + "initialize it with a proxy of `proxy_type` for `origin` sender.", + "", + "Requires a `Signed` origin.", + "", + "- `proxy_type`: The type of the proxy that the sender will be registered as over the", + "new account. This will almost always be the most permissive `ProxyType` possible to", + "allow for maximum flexibility.", + "- `index`: A disambiguation index, in case this is called multiple times in the same", + "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", + "want to use `0`.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "Fails with `Duplicate` if this has already been called in this transaction, from the", + "same sender, with the same parameters.", + "", + "Fails if there are insufficient funds to pay for deposit.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# ", + "TODO: Might be over counting 1 read" + ], + "args": [ + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_anonymous", + "docs": [ + "Removes a previously spawned anonymous proxy.", + "", + "WARNING: **All access to this account will be lost.** Any funds held in it will be", + "inaccessible.", + "", + "Requires a `Signed` origin, and the sender account must have been created by a call to", + "`anonymous` with corresponding parameters.", + "", + "- `spawner`: The account that originally called `anonymous` to create this account.", + "- `index`: The disambiguation index originally passed to `anonymous`. Probably `0`.", + "- `proxy_type`: The proxy type originally passed to `anonymous`.", + "- `height`: The height of the chain when the call to `anonymous` was processed.", + "- `ext_index`: The extrinsic index in which the call to `anonymous` was processed.", + "", + "Fails with `NoPermission` in case the caller is not a previously created anonymous", + "account whose `anonymous` call has corresponding parameters.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "spawner", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumber" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "Publish the hash of a proxy-call that will be made in the future.", + "", + "This must be called some number of blocks before the corresponding `proxy` is attempted", + "if the delay associated with the proxy relationship is greater than zero.", + "", + "No more than `MaxPending` announcements may be made at any one time.", + "", + "This will take a deposit of `AnnouncementDepositFactor` as well as", + "`AnnouncementDepositBase` if there are no other pending announcements.", + "", + "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "Remove a given announcement.", + "", + "May be called by a proxy account to remove a call they previously announced and return", + "the deposit.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "Remove the given announcement of a delegate.", + "", + "May be called by a target (proxied) account to remove a call that one of their delegates", + "(`delegate`) has announced they want to execute. The deposit is returned.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `delegate`: The account that previously announced the call.", + "- `call_hash`: The hash of the call to be made.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorized for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + } + ], + "calls_value": { + "type": 248 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "AnonymousCreated", + "docs": [ + "Anonymous account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U16" + ], + "args_name": [ + "anonymous", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + }, + { + "lookup": "2a04", + "name": "ProxyRemoved", + "docs": [ + "A proxy was removed." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + } + ], + "events_value": { + "type": 83 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "009d7277000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "a05a3200000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00d27e77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "40b56400000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 273 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 274 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 275, + "value_id": 276 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 278, + "value_id": 279 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata", + "keys_id": 4, + "value_id": 280 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "destroy", + "docs": [ + "Destroy a class of fungible assets.", + "", + "The origin must conform to `ForceOrigin` or must be Signed and the sender must be the", + "owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + "asset.", + "", + "Emits `Destroyed` event when successful.", + "", + "NOTE: It can be helpful to first freeze an asset before destroying it so that you", + "can provide accurate witness information and prevent users from manipulating state", + "in a way that can make it harder to destroy.", + "", + "Weight: `O(c + p + a)` where:", + "- `c = (witness.accounts - witness.sufficients)`", + "- `s = witness.sufficients`", + "- `a = witness.approvals`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "witness", + "type": "pallet_assets:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3203", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3204", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3205", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3206", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers from an account.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3209", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "320a", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "320b", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "320c", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "320d", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "320e", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "320f", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3210", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3211", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3212", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3213", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3214", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3215", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3216", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "touch", + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3218", + "name": "refund", + "docs": [ + "Return the deposit (if any) of an asset account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for the account to be created.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 250 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "total_supply" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320b", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320c", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "320d", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "320f", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3210", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3211", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + } + ], + "events_value": { + "type": 86 + }, + "constants": [ + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "NoProvider", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or the", + "maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + } + ], + "errors_value": { + "type": 282 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionDetails", + "keys_id": 4, + "value_id": 283 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 284, + "value_id": 80 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 285, + "value_id": 80 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemDetails", + "keys_id": 97, + "value_id": 286 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionMetadata", + "keys_id": 4, + "value_id": 287 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemMetadata", + "keys_id": 97, + "value_id": 288 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 289, + "value_id": 290 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "CollectionMaxSupply", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U32", + "keys_id": 4, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " Keeps track of the number of items a collection might have." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "`ItemDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `collection`: The identifier of the new collection. This must not be currently in use.", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `collection`: The identifier of the new item. This must not be currently in use.", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions", + "over this item, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.items`", + "- `m = witness.item_metadatas`", + "- `a = witness.attributes`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must be the Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: The item value of the item to be minted.", + "- `beneficiary`: The initial owner of the minted item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "Destroy a single item.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item of the item to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " item is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option<::Source>" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "Move an item from the sender account to another.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item of the item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "Reevaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown of the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be frozen.", + "- `item`: The item of the item to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be thawed.", + "- `item`: The item of the item to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_collection", + "docs": [ + "Disallow further unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "", + "Emits `CollectionFrozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_collection", + "docs": [ + "Re-allow unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection to be thawed.", + "", + "Emits `CollectionThawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "Origin must be Signed and must be the owner of the `item`.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item of the item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "Cancel the prior approval for the transfer of an item by a delegate.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the `collection`;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the item of whose approval will be cancelled.", + "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", + " which permission of transfer is delegated.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option<::Source>" + } + ] + }, + { + "lookup": "330f", + "name": "force_item_status", + "docs": [ + "Alter the attributes of a given item.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the item.", + "- `owner`: The new Owner of this item.", + "- `issuer`: The new Issuer of this item.", + "- `admin`: The new Admin of this item.", + "- `freezer`: The new Freezer of this item.", + "- `free_holding`: Whether a deposit is taken for holding an item of this collection.", + "- `is_frozen`: Whether this collection is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `ItemStatusChanged` with the identity of the item.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3314", + "name": "set_collection_metadata", + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_collection_metadata", + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "3316", + "name": "set_accept_ownership", + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3317", + "name": "set_collection_max_supply", + "docs": [ + "Set the maximum amount of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Note: This function can only succeed once per collection.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum amount of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + } + ], + "calls_value": { + "type": 252 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some `item` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some `item` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3308", + "name": "CollectionFrozen", + "docs": [ + "Some `collection` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3309", + "name": "CollectionThawed", + "docs": [ + "Some `collection` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "ItemStatusChanged", + "docs": [ + "A `collection` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330f", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "item", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec" + ] + }, + { + "lookup": "3316", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "3317", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + } + ], + "events_value": { + "type": 88 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The item ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The item or collection is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership of the collection is acceptable." + ] + }, + { + "name": "Locked", + "doc": [ + "The item is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyAlreadySet", + "doc": [ + "The max supply has already been set." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less to the amount of items a collection already has." + ] + } + ], + "errors_value": { + "type": 291 + }, + "index": 51 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v9270.json b/src/demo_substrate_events/abi/assethub/v9270.json new file mode 100644 index 000000000..4af9723cf --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v9270.json @@ -0,0 +1,9436 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:weights:PerDispatchClass@7", + "PlainTypeValue": 7 + }, + "fallback": "0x000000000000000000000000000000000000000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 9 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 9 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 11 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 15 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: The item is unbound and should therefore never be read on chain.", + " It could otherwise inflate the PoV size of a block.", + "", + " Events have a large in-memory size. Box the events to not go out-of-memory", + " just in case someone still reads them from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 9, + "value_id": 99 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 101 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 89 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 89 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 97 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "fill_block", + "docs": [ + "A dispatch that will fill the block weight up to the given ratio." + ], + "args": [ + { + "name": "ratio", + "type": "U32", + "type_name": "Perbill" + } + ] + }, + { + "lookup": "0001", + "name": "remark", + "docs": [ + "Make some on-chain remark.", + "", + "# ", + "- `O(1)`", + "# " + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0002", + "name": "set_heap_pages", + "docs": [ + "Set the number of pages in the WebAssembly environment's heap." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0003", + "name": "set_code", + "docs": [ + "Set the new runtime code.", + "", + "# ", + "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`", + "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is", + " expensive).", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime, but generally this is very", + "expensive. We will treat this as a full block.", + "# " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_code_without_checks", + "docs": [ + "Set the new runtime code without doing any checks of the given `code`.", + "", + "# ", + "- `O(C)` where `C` length of `code`", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime. We will treat this as a full", + "block. # " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0005", + "name": "set_storage", + "docs": [ + "Set some items of storage." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_storage", + "docs": [ + "Kill some items from storage." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0007", + "name": "kill_prefix", + "docs": [ + "Kill all storage items with a key that starts with the given prefix.", + "", + "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", + "the prefix we are removing to accurately calculate the weight of this function." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0008", + "name": "remark_with_event", + "docs": [ + "Make some on-chain remark and emit event." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 103 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:weights:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:weights:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + } + ], + "events_value": { + "type": 18 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 108, + "constants_value": "00f2052a010000000088526a74000000405973070000000001c0d22c76510000000100e6bd4f57000000010000000000000000405973070000000001c074c1906e000000010088526a740000000100a2941a1d0000004059730700000000000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:weights:PerDispatchClass@113", + "type_value": 112, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "60090000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "frame_support:weights:RuntimeDbWeight", + "type_value": 114, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 115, + "constants_value": "2473746174656d696e742473746174656d696e7401000000362400000000000028dd718d5cc53262d401000000df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a801000000ea93e3f16f3d6962020000000700000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 87, + "constants_value": "0000", + "docs": [ + " The designated SS85 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + } + ], + "errors_value": { + "type": 119 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][well_known_keys::CODE]", + " which will result the next block process with the new validation code. This concludes the upgrade process.", + "", + " [well_known_keys::CODE]: sp_core::storage::well_known_keys::CODE" + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v2:PersistedValidationData", + "PlainTypeValue": 120 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 89 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "LastRelayChainBlockNumber", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The relay chain block number associated with the last parachain block." + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 122 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelayStateProof", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 124 + }, + "fallback": "0x00", + "docs": [ + " The state proof for the last relay parent block.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 126 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v2:AbridgedHostConfiguration", + "PlainTypeValue": 130 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 131 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 132 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 135 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 107 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 107 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The next authorized upgrade, if there is one." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See [`Pallet::set_custom_validation_head_data`] for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "Set the current validation data.", + "", + "This should be invoked exactly once per block. It will panic at the finalization", + "phase if the call was not invoked.", + "", + "The dispatch origin for this call must be `Inherent`", + "", + "As a side effect, this function upgrades the current validation function", + "if the appropriate time has come." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": null, + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": null, + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": null, + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 137 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "relay_chain_block_num" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade has been authorized." + ], + "args": [ + "H256" + ], + "args_name": [ + "code_hash" + ], + "args_type_name": [ + "Hash" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed." + ], + "args": [ + "U32" + ], + "args_name": [ + "count" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0105", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight." + ], + "args": [ + "U64", + "H256" + ], + "args_name": [ + "weight_used", + "dmq_head" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + } + ], + "events_value": { + "type": 27 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending" + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function" + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run" + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block" + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block" + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 146 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x0000000000000000", + "docs": [ + " Current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 89 + }, + "fallback": "0x00", + "docs": [ + " Did the timestamp get updated in this block?" + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "Set the current time.", + "", + "This call should be invoked exactly once per block. It will panic at the finalization", + "phase, if this call hasn't been invoked by that time.", + "", + "The timestamp should be greater than the previous one by the amount specified by", + "`MinimumPeriod`.", + "", + "The dispatch origin for this call must be `Inherent`.", + "", + "# ", + "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", + "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in", + " `on_finalize`)", + "- 1 event handler `on_timestamp_set`. Must be `O(1)`.", + "# " + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 147 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 8, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks. Beware that this is different to the *expected*", + " period that the block production apparatus provides. Your chosen consensus system will", + " generally work with this to determine a sensible block time. e.g. For Aura, it will be", + " double this period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 37 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 148 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 152 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances." + ] + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_balances:Releases", + "PlainTypeValue": 155 + }, + "fallback": "0x00", + "docs": [ + " Storage version of the pallet.", + "", + " This is set to v2.0.0 for new networks." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer", + "docs": [ + "Transfer some liquid free balance to another account.", + "", + "`transfer` will set the `FreeBalance` of the sender and receiver.", + "If the sender's account is below the existential deposit as a result", + "of the transfer, the account will be reaped.", + "", + "The dispatch origin for this call must be `Signed` by the transactor.", + "", + "# ", + "- Dependent on arguments but not critical, given proper implementations for input config", + " types. See related functions below.", + "- It contains a limited number of reads and writes internally and no complex", + " computation.", + "", + "Related functions:", + "", + " - `ensure_can_withdraw` is always called internally but has a bounded complexity.", + " - Transferring balances to accounts that did not exist before will cause", + " `T::OnNewAccount::on_new_account` to be called.", + " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.", + " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check", + " that the transfer will not kill the origin account.", + "---------------------------------", + "- Origin account is already in memory, so no DB operations for them.", + "# " + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a01", + "name": "set_balance", + "docs": [ + "Set the balances of a given account.", + "", + "This will alter `FreeBalance` and `ReservedBalance` in storage. it will", + "also alter the total issuance of the system (`TotalIssuance`) appropriately.", + "If the new free or reserved balance is below the existential deposit,", + "it will reset the account nonce (`frame_system::AccountNonce`).", + "", + "The dispatch origin for this call is `root`." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "new_reserved", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "Exactly as `transfer`, except the origin must be root and the source account may be", + "specified.", + "# ", + "- Same as transfer, but additional read and write because the source account is not", + " assumed to be in the overlay.", + "# " + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "Same as the [`transfer`] call, but with a check that the transfer will not kill the", + "origin account.", + "", + "99% of the time you want [`transfer`] instead.", + "", + "[`transfer`]: struct.Pallet.html#method.transfer" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "Transfer the entire transferable balance from the caller account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the account has, causing the sender account to be killed (false), or", + " transfer everything except at least the existential deposit, which will guarantee to", + " keep the sender account alive (true). # ", + "- O(1). Just like transfer, but reading the user's transferable balance first.", + " #" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "Unreserve some balance from a user by force.", + "", + "Can only be called by ROOT." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 156 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "free", + "reserved" + ], + "args_type_name": [ + "AccountId", + "Balance", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 28 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open." + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value" + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal" + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value" + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit" + ] + }, + { + "name": "KeepAlive", + "doc": [ + "Transfer/payment would kill account" + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account" + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist" + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed MaxReserves" + ] + } + ], + "errors_value": { + "type": 159 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 160 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 161 + }, + "fallback": "0x00", + "docs": null + } + ], + "events": [ + { + "lookup": "0b00", + "name": "TransactionFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who`." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "actual_fee", + "tip" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf" + ] + } + ], + "events_value": { + "type": 30 + }, + "constants": [ + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "errors": null, + "errors_value": null, + "index": 12 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Uncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 162 + }, + "fallback": "0x00", + "docs": [ + " Uncles" + ] + }, + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + }, + { + "name": "DidSetUncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 89 + }, + "fallback": "0x00", + "docs": [ + " Whether uncles were already set in this block." + ] + } + ], + "calls": [ + { + "lookup": "1400", + "name": "set_uncles", + "docs": [ + "Provide a set of uncles." + ], + "args": [ + { + "name": "new_uncles", + "type": "Vec", + "type_name": "Vec
" + } + ] + } + ], + "calls_value": { + "type": 165 + }, + "constants": [ + { + "name": "UncleGenerations", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The number of blocks back we should accept uncles.", + " This means that we will deal with uncle-parents that are", + " `UncleGenerations + 1` before `now`." + ] + } + ], + "errors": [ + { + "name": "InvalidUncleParent", + "doc": [ + "The uncle parent not in the chain." + ] + }, + { + "name": "UnclesAlreadySet", + "doc": [ + "Uncles already set in the block." + ] + }, + { + "name": "TooManyUncles", + "doc": [ + "Too many uncles." + ] + }, + { + "name": "GenesisUncle", + "doc": [ + "The uncle is genesis." + ] + }, + { + "name": "TooHighUncle", + "doc": [ + "The uncle is too high in chain." + ] + }, + { + "name": "UncleAlreadyIncluded", + "doc": [ + "The uncle is already included." + ] + }, + { + "name": "OldUncle", + "doc": [ + "The uncle isn't recent enough to be included." + ] + } + ], + "errors_value": { + "type": 169 + }, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 170 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, fixed collators." + ] + }, + { + "name": "Candidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 171 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "Set the list of invulnerable (fixed) collators." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "Set the ideal number of collators (not including the invulnerables).", + "If lowering this number, then the number of running collators could be higher than this figure.", + "Aside from that edge case, there should be no other way to have more collators than the desired number." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "Set the candidacy bond amount." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "Register this account as a collator candidate. The account must (a) already have", + "registered session keys and (b) be able to reserve the `CandidacyBond`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "Deregister `origin` as a collator candidate. Note that the collator can only leave on", + "session change. The `CandidacyBond` will be unreserved immediately.", + "", + "This call will fail if the total number of candidates would drop below `MinCandidates`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + } + ], + "calls_value": { + "type": 174 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": null, + "args": [ + "Vec" + ], + "args_name": [ + "invulnerables" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "NewDesiredCandidates", + "docs": null, + "args": [ + "U32" + ], + "args_name": [ + "desired_candidates" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1502", + "name": "NewCandidacyBond", + "docs": null, + "args": [ + "U128" + ], + "args_name": [ + "bond_amount" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1503", + "name": "CandidateAdded", + "docs": null, + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1504", + "name": "CandidateRemoved", + "docs": null, + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 31 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "Too many candidates" + ] + }, + { + "name": "TooFewCandidates", + "doc": [ + "Too few candidates" + ] + }, + { + "name": "Unknown", + "doc": [ + "Unknown error" + ] + }, + { + "name": "Permission", + "doc": [ + "Permission issue" + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "User is already a candidate" + ] + }, + { + "name": "NotCandidate", + "doc": [ + "User is not a candidate" + ] + }, + { + "name": "TooManyInvulnerables", + "doc": [ + "Too many invulnerables" + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "User is already an Invulnerable" + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID" + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered" + ] + } + ], + "errors_value": { + "type": 175 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 32 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 89 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 176 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 178 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 181, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "Sets the session key(s) of the function caller to `keys`.", + "Allows an account to set its session key prior to becoming a validator.", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be signed.", + "", + "# ", + "- Complexity: `O(1)`. Actual cost depends on the number of length of", + " `T::Keys::key_ids()` which is fixed.", + "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`", + "- DbWrites: `origin account`, `NextKeys`", + "- DbReads per key id: `KeyOwner`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "Removes any session key(s) of the function caller.", + "", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be Signed and the account must be either be", + "convertible to a validator ID using the chain's typical addressing system (this usually", + "means being a controller account) or directly convertible into a validator ID (which", + "usually means being a stash account).", + "", + "# ", + "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length", + " of `T::Keys::key_ids()` which is fixed.", + "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`", + "- DbWrites: `NextKeys`, `origin account`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": null + } + ], + "calls_value": { + "type": 183 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 33 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 184 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 185 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 187 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 185 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will always", + " be updated to the latest AuRa authorities in `on_finalize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 188 + }, + "fallback": "0x00", + "docs": [ + " Status of the inbound XCMP channels." + ] + }, + { + "name": "InboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 194, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " Inbound aggregate XCMP messages. It can only be one per ParaId/block." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 195 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 198, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 37, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 199 + }, + "fallback": "0x020000000500000001000000a086010000000000020000000000000000c817a804000000", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32U32Vec", + "keys_id": 8, + "value_id": 200 + } + }, + "fallback": "0x00", + "docs": [ + " The messages that exceeded max individual message weight budget.", + "", + " These message stay in this storage map until they are manually dispatched via", + " `service_overweight`." + ] + }, + { + "name": "OverweightCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The number of overweight messages ever recorded in `Overweight`. Also doubles as the next", + " available free overweight index." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 89 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + } + ], + "calls": [ + { + "lookup": "1e00", + "name": "service_overweight", + "docs": [ + "Services a single overweight XCM.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight XCM to service", + "- `weight_limit`: The amount of weight that XCM execution may take.", + "", + "Errors:", + "- `BadOverweightIndex`: XCM under `index` is not found in the `Overweight` storage map.", + "- `BadXcm`: XCM under `index` cannot be properly decoded into a valid XCM format.", + "- `WeightOverLimit`: XCM execution may use greater `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "Suspends all XCM executions for the XCMP queue, regardless of the sender's origin.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "Resumes all XCM executions for the XCMP queue.", + "", + "Note that this function doesn't change the status of the in/out bound channels.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue for the other side to be told to", + "suspend their sending.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.suspend_value`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue after which we drop any further", + "messages from the channel.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.drop_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "Overwrites the number of pages of messages which the queue must be reduced to before it signals that", + "message sending may recommence after it has been suspended.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.resume_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e06", + "name": "update_threshold_weight", + "docs": [ + "Overwrites the amount of remaining weight under which we stop processing messages.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.threshold_weight`" + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e07", + "name": "update_weight_restrict_decay", + "docs": [ + "Overwrites the speed to which the available weight approaches the maximum weight.", + "A lower number results in a faster progression. A value of 1 makes the entire weight available initially.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.weight_restrict_decay`." + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e08", + "name": "update_xcmp_max_individual_weight", + "docs": [ + "Overwrite the maximum amount of weight any individual message may consume.", + "Messages above this weight go into the overweight queue and may only be serviced explicitly.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.xcmp_max_individual_weight`." + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 201 + }, + "events": [ + { + "lookup": "1e00", + "name": "Success", + "docs": [ + "Some XCM was executed ok." + ], + "args": [ + "option", + "U64" + ], + "args_name": [ + "message_hash", + "weight" + ], + "args_type_name": [ + "Option", + "Weight" + ] + }, + { + "lookup": "1e01", + "name": "Fail", + "docs": [ + "Some XCM failed." + ], + "args": [ + "option", + "xcm:v2:traits:Error", + "U64" + ], + "args_name": [ + "message_hash", + "error", + "weight" + ], + "args_type_name": [ + "Option", + "XcmError", + "Weight" + ] + }, + { + "lookup": "1e02", + "name": "BadVersion", + "docs": [ + "Bad XCM version used." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e03", + "name": "BadFormat", + "docs": [ + "Bad XCM format used." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e04", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e05", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e06", + "name": "OverweightEnqueued", + "docs": [ + "An XCM exceeded the individual message weight budget." + ], + "args": [ + "U32", + "U32", + "U64", + "U64" + ], + "args_name": [ + "sender", + "sent_at", + "index", + "required" + ], + "args_type_name": [ + "ParaId", + "RelayBlockNumber", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "1e07", + "name": "OverweightServiced", + "docs": [ + "An XCM from the overweight queue was executed with the given actual weight used." + ], + "args": [ + "U64", + "U64" + ], + "args_name": [ + "index", + "used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 34 + }, + "errors": [ + { + "name": "FailedToSend", + "doc": [ + "Failed to send XCM message." + ] + }, + { + "name": "BadXcmOrigin", + "doc": [ + "Bad XCM origin." + ] + }, + { + "name": "BadXcm", + "doc": [ + "Bad XCM data." + ] + }, + { + "name": "BadOverweightIndex", + "doc": [ + "Bad overweight index." + ] + }, + { + "name": "WeightOverLimit", + "doc": [ + "Provided weight is possibly not enough to execute the message." + ] + } + ], + "errors_value": { + "type": 202 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 8, + "value_id": 203 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 9, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U32", + "keys_id": 209, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U64", + "keys_id": 209, + "value_id": 8 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "Tuple:U64U64U32", + "keys_id": 209, + "value_id": 210 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 211 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 214 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": null, + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@217", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "Execute an XCM message from a local, signed, origin.", + "", + "An event is deposited indicating whether `msg` could be executed completely or only", + "partially.", + "", + "No more than `max_weight` will be used in its attempted execution. If this is less than the", + "maximum amount of weight that the message could take to be executed, then no execution", + "attempt will be made.", + "", + "NOTE: A successful return to this does *not* imply that the `msg` was executed successfully", + "to completion; only that *some* of it was executed." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@226", + "type_name": "Box::Call>>" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "Extoll that a particular destination can be communicated with through a particular", + "version of XCM.", + "", + "- `origin`: Must be Root.", + "- `location`: The destination that is being described.", + "- `xcm_version`: The latest version of XCM that `location` supports." + ], + "args": [ + { + "name": "location", + "type": "xcm:v1:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "xcm_version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "Set a safe XCM version (the version that XCM should be encoded with if the most recent", + "version a destination can accept is unknown).", + "", + "- `origin`: Must be Root.", + "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "Ask a location to notify us regarding their XCM version and any changes to it.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we should subscribe for XCM version notifications." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "Require that a particular destination should no longer notify us regarding any XCM", + "version changes.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we are currently subscribed for XCM version", + " notifications which we no longer desire." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + } + ], + "calls_value": { + "type": 216 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted.", + "", + "\\[ outcome \\]" + ], + "args": [ + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent.", + "", + "\\[ origin, destination, message \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "xcm:v1:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiLocation", + "Xcm<()>" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call.", + "", + "\\[ id, response \\]" + ], + "args": [ + "U64", + "xcm:v2:Response" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification could", + "not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result.", + "", + "\\[ id, pallet index, call index, actual weight, max budgeted weight \\]" + ], + "args": [ + "U64", + "U8", + "U8", + "U64", + "U64" + ], + "args_name": [ + "", + "", + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon.", + "", + "\\[ origin location, id, expected location \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "option" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed.", + "", + "\\[ id \\]" + ], + "args": [ + "U64" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap.", + "", + "\\[ hash, origin, assets \\]" + ], + "args": [ + "H256", + "xcm:v1:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "\\[ destination, result \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention.", + "", + "\\[ location, XCM version \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it.", + "", + "\\[ location, query ID, error \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "xcm:v2:traits:Error" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format.", + "", + "\\[ location, query ID \\]" + ], + "args": [ + "xcm:VersionedMultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "VersionedMultiLocation", + "QueryId" + ] + } + ], + "events_value": { + "type": 38 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message. Perhaps", + "a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `MultiLocation` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + } + ], + "errors_value": { + "type": 239 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 8]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 8]", + "Outcome" + ] + } + ], + "events_value": { + "type": 78 + }, + "errors": null, + "errors_value": { + "type": 240 + }, + "index": 32 + }, + { + "name": "DmpQueue", + "prefix": "DmpQueue", + "storage": [ + { + "name": "Configuration", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 241 + }, + "fallback": "0x00e40b5402000000", + "docs": [ + " The configuration." + ] + }, + { + "name": "PageIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_dmp_queue:PageIndexData", + "PlainTypeValue": 242 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The page index." + ] + }, + { + "name": "Pages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec>", + "keys_id": 4, + "value_id": 243 + } + }, + "fallback": "0x00", + "docs": [ + " The queue pages." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32Vec", + "keys_id": 8, + "value_id": 244 + } + }, + "fallback": "0x00", + "docs": [ + " The overweight messages." + ] + } + ], + "calls": [ + { + "lookup": "2100", + "name": "service_overweight", + "docs": [ + "Service a single overweight message.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight message to service.", + "- `weight_limit`: The amount of weight that message execution may take.", + "", + "Errors:", + "- `Unknown`: Message of `index` is unknown.", + "- `OverLimit`: Message execution may use greater than `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 245 + }, + "events": [ + { + "lookup": "2100", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2101", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2102", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome." + ], + "args": [ + "[U8; 32]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "message_id", + "outcome" + ], + "args_type_name": [ + "MessageId", + "Outcome" + ] + }, + { + "lookup": "2103", + "name": "WeightExhausted", + "docs": [ + "The weight limit for handling downward messages was reached." + ], + "args": [ + "[U8; 32]", + "U64", + "U64" + ], + "args_name": [ + "message_id", + "remaining_weight", + "required_weight" + ], + "args_type_name": [ + "MessageId", + "Weight", + "Weight" + ] + }, + { + "lookup": "2104", + "name": "OverweightEnqueued", + "docs": [ + "Downward message is overweight and was placed in the overweight queue." + ], + "args": [ + "[U8; 32]", + "U64", + "U64" + ], + "args_name": [ + "message_id", + "overweight_index", + "required_weight" + ], + "args_type_name": [ + "MessageId", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "2105", + "name": "OverweightServiced", + "docs": [ + "Downward message from the overweight queue was executed." + ], + "args": [ + "U64", + "U64" + ], + "args_name": [ + "overweight_index", + "weight_used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 79 + }, + "errors": [ + { + "name": "Unknown", + "doc": [ + "The message index given is unknown." + ] + }, + { + "name": "OverLimit", + "doc": [ + "The amount of weight given is possibly not enough for executing the message." + ] + } + ], + "errors_value": { + "type": 246 + }, + "index": 33 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "Send a batch of dispatch calls.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# ", + "", + "This will return `Ok` in all circumstances. To determine the success of the batch, an", + "event is deposited. If a call failed and the batch was interrupted, then the", + "`BatchInterrupted` event is deposited, along with the number of successful calls made", + "and the error of the failed call. If all were successful, then the `BatchCompleted`", + "event is deposited." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::Call>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "Send a call through an indexed pseudonym of the sender.", + "", + "Filter from origin are passed along. The call will be dispatched with an origin which", + "use the same filter as the origin of this call.", + "", + "NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", + "because you expect `proxy` to have been used prior in the call stack and you do not want", + "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", + "in the Multisig pallet instead.", + "", + "NOTE: Prior to version *12, this was called `as_limited_sub`.", + "", + "The dispatch origin for this call must be _Signed_." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "Send a batch of dispatch calls and atomically execute them.", + "The whole transaction will rollback and fail if any of the calls failed.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# " + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::Call>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "Dispatches a function call with a provided origin.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "# ", + "- O(1).", + "- Limited storage reads.", + "- One DB write (event).", + "- Weight of derivative `call` execution + T::WeightInfo::dispatch_as().", + "# " + ], + "args": [ + { + "name": "as_origin", + "type": "statemint_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2804", + "name": "force_batch", + "docs": [ + "Send a batch of dispatch calls.", + "Unlike `batch`, it allows errors and won't interrupt.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# " + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::Call>" + } + ] + } + ], + "calls_value": { + "type": 247 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "BatchCompletedWithErrors", + "docs": [ + "Batch of dispatches completed but has errors." + ], + "args": null + }, + { + "lookup": "2803", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2804", + "name": "ItemFailed", + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ], + "args": [ + "sp_runtime:DispatchError" + ], + "args_name": [ + "error" + ], + "args_type_name": [ + "DispatchError" + ] + }, + { + "lookup": "2805", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 80 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 266 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 267, + "value_id": 268 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + }, + { + "name": "Calls", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "[U8; 32]" + ], + "value": "Tuple:WrapperOpaqueAccountIdU128", + "keys_id": 1, + "value_id": 269 + } + }, + "fallback": "0x00", + "docs": null + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "Immediately dispatch a multi-signature call using a single approval from the caller.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `other_signatories`: The accounts (other than the sender) who are part of the", + "multi-signature, but do not participate in the approval process.", + "- `call`: The call to be executed.", + "", + "Result is equivalent to the dispatched result.", + "", + "# ", + "O(Z + C) where Z is the length of the call and C its execution weight.", + "-------------------------------", + "- DB Weight: None", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "If there are enough, then dispatch the call.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call`: The call to be executed.", + "", + "NOTE: Unless this is the final approval, you will generally want to use", + "`approve_as_multi` instead, since it only requires a hash of the call.", + "", + "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", + "on success, result is `Ok` and the result from the interior call, if it was executed,", + "may be found in the deposited `MultisigExecuted` event.", + "", + "# ", + "- `O(S + Z + Call)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- The weight of the `call`.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "-------------------------------", + "- DB Weight:", + " - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)", + " - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "WrapperOpaque", + "type_name": "OpaqueCall" + }, + { + "name": "store_call", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call_hash`: The hash of the call to be executed.", + "", + "NOTE: If this is the final approval, you will want to use `as_multi` instead.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account]", + " - Write: Multisig Storage, [Caller Account]", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", + "for this operation will be unreserved on success.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `timepoint`: The timepoint (block number and transaction index) of the first approval", + "transaction for this dispatch.", + "- `call_hash`: The hash of the call to be executed.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- One event.", + "- I/O: 1 read `O(S)`, one remove.", + "- Storage: removes one item.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account], Refund Account, Calls", + " - Write: Multisig Storage, [Caller Account], Refund Account, Calls", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 250 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 83 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00dbbb77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "00d43000000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U16", + "type_value": 87, + "constants_value": "6400", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 270 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:sp_runtime:bounded:bounded_vec:BoundedVec@272U128", + "keys_id": 0, + "value_id": 271 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:sp_runtime:bounded:bounded_vec:BoundedVec@276U128", + "keys_id": 0, + "value_id": 275 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorised for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "Register a proxy account for the sender that is able to make calls on its behalf.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to make a proxy.", + "- `proxy_type`: The permissions allowed for this proxy account.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "Unregister a proxy account for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to remove as a proxy.", + "- `proxy_type`: The permissions currently enabled for the removed proxy account.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "Unregister all proxy accounts for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "WARNING: This may be called on accounts created by `anonymous`, however if done, then", + "the unreserved fees will be inaccessible. **All access to this account will be lost.**", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": null + }, + { + "lookup": "2a04", + "name": "anonymous", + "docs": [ + "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", + "initialize it with a proxy of `proxy_type` for `origin` sender.", + "", + "Requires a `Signed` origin.", + "", + "- `proxy_type`: The type of the proxy that the sender will be registered as over the", + "new account. This will almost always be the most permissive `ProxyType` possible to", + "allow for maximum flexibility.", + "- `index`: A disambiguation index, in case this is called multiple times in the same", + "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", + "want to use `0`.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "Fails with `Duplicate` if this has already been called in this transaction, from the", + "same sender, with the same parameters.", + "", + "Fails if there are insufficient funds to pay for deposit.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# ", + "TODO: Might be over counting 1 read" + ], + "args": [ + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_anonymous", + "docs": [ + "Removes a previously spawned anonymous proxy.", + "", + "WARNING: **All access to this account will be lost.** Any funds held in it will be", + "inaccessible.", + "", + "Requires a `Signed` origin, and the sender account must have been created by a call to", + "`anonymous` with corresponding parameters.", + "", + "- `spawner`: The account that originally called `anonymous` to create this account.", + "- `index`: The disambiguation index originally passed to `anonymous`. Probably `0`.", + "- `proxy_type`: The proxy type originally passed to `anonymous`.", + "- `height`: The height of the chain when the call to `anonymous` was processed.", + "- `ext_index`: The extrinsic index in which the call to `anonymous` was processed.", + "", + "Fails with `NoPermission` in case the caller is not a previously created anonymous", + "account whose `anonymous` call has corresponding parameters.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "spawner", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumber" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "Publish the hash of a proxy-call that will be made in the future.", + "", + "This must be called some number of blocks before the corresponding `proxy` is attempted", + "if the delay associated with the proxy relationship is greater than zero.", + "", + "No more than `MaxPending` announcements may be made at any one time.", + "", + "This will take a deposit of `AnnouncementDepositFactor` as well as", + "`AnnouncementDepositBase` if there are no other pending announcements.", + "", + "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "Remove a given announcement.", + "", + "May be called by a proxy account to remove a call they previously announced and return", + "the deposit.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "Remove the given announcement of a delegate.", + "", + "May be called by a target (proxied) account to remove a call that one of their delegates", + "(`delegate`) has announced they want to execute. The deposit is returned.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `delegate`: The account that previously announced the call.", + "- `call_hash`: The hash of the call to be made.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorized for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "real", + "type": "AccountId", + "type_name": "AccountId" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + } + ], + "calls_value": { + "type": 253 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "AnonymousCreated", + "docs": [ + "Anonymous account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U16" + ], + "args_name": [ + "anonymous", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + }, + { + "lookup": "2a04", + "name": "ProxyRemoved", + "docs": [ + "A proxy was removed." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + } + ], + "events_value": { + "type": 85 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "009d7277000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "a05a3200000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00d27e77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "40b56400000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 279 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 280 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 281, + "value_id": 282 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 284, + "value_id": 285 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata", + "keys_id": 4, + "value_id": 286 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "destroy", + "docs": [ + "Destroy a class of fungible assets.", + "", + "The origin must conform to `ForceOrigin` or must be Signed and the sender must be the", + "owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + "asset.", + "", + "Emits `Destroyed` event when successful.", + "", + "NOTE: It can be helpful to first freeze an asset before destroying it so that you", + "can provide accurate witness information and prevent users from manipulating state", + "in a way that can make it harder to destroy.", + "", + "Weight: `O(c + p + a)` where:", + "- `c = (witness.accounts - witness.sufficients)`", + "- `s = witness.sufficients`", + "- `a = witness.approvals`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "witness", + "type": "pallet_assets:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3203", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3204", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3205", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3206", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers from an account.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3209", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "320a", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "320b", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "320c", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "320d", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "320e", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "320f", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3210", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3211", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3212", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3213", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3214", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3215", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3216", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "touch", + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3218", + "name": "refund", + "docs": [ + "Return the deposit (if any) of an asset account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for the account to be created.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 255 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "total_supply" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320b", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320c", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "320d", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "320f", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3210", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3211", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + } + ], + "events_value": { + "type": 88 + }, + "constants": [ + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "NoProvider", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or the", + "maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + } + ], + "errors_value": { + "type": 288 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionDetails", + "keys_id": 4, + "value_id": 289 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 290, + "value_id": 82 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 291, + "value_id": 82 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemDetails", + "keys_id": 100, + "value_id": 292 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionMetadata", + "keys_id": 4, + "value_id": 293 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemMetadata", + "keys_id": 100, + "value_id": 294 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 295, + "value_id": 296 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 100, + "value_id": 297 + } + }, + "fallback": "0x00", + "docs": [ + " Price of an asset instance." + ] + }, + { + "name": "CollectionMaxSupply", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U32", + "keys_id": 4, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " Keeps track of the number of items a collection might have." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "`ItemDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `collection`: The identifier of the new collection. This must not be currently in use.", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `collection`: The identifier of the new item. This must not be currently in use.", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions", + "over this item, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.items`", + "- `m = witness.item_metadatas`", + "- `a = witness.attributes`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must be the Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: The item value of the item to be minted.", + "- `beneficiary`: The initial owner of the minted item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "Destroy a single item.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item of the item to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " item is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option<::Source>" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "Move an item from the sender account to another.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item of the item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "Reevaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown of the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be frozen.", + "- `item`: The item of the item to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be thawed.", + "- `item`: The item of the item to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_collection", + "docs": [ + "Disallow further unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "", + "Emits `CollectionFrozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_collection", + "docs": [ + "Re-allow unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection to be thawed.", + "", + "Emits `CollectionThawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "Origin must be Signed and must be the owner of the `item`.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item of the item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "Cancel the prior approval for the transfer of an item by a delegate.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the `collection`;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the item of whose approval will be cancelled.", + "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", + " which permission of transfer is delegated.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option<::Source>" + } + ] + }, + { + "lookup": "330f", + "name": "force_item_status", + "docs": [ + "Alter the attributes of a given item.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the item.", + "- `owner`: The new Owner of this item.", + "- `issuer`: The new Issuer of this item.", + "- `admin`: The new Admin of this item.", + "- `freezer`: The new Freezer of this item.", + "- `free_holding`: Whether a deposit is taken for holding an item of this collection.", + "- `is_frozen`: Whether this collection is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `ItemStatusChanged` with the identity of the item.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "Address" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3314", + "name": "set_collection_metadata", + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_collection_metadata", + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "3316", + "name": "set_accept_ownership", + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3317", + "name": "set_collection_max_supply", + "docs": [ + "Set the maximum amount of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Note: This function can only succeed once per collection.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum amount of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "3318", + "name": "set_price", + "docs": [ + "Set (or reset) the price for an item.", + "", + "Origin must be Signed and must be the owner of the asset `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item to set the price for.", + "- `price`: The price for the item. Pass `None`, to reset the price.", + "- `buyer`: Restricts the buy operation to a specific account.", + "", + "Emits `ItemPriceSet` on success if the price is not `None`.", + "Emits `ItemPriceRemoved` on success if the price is `None`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option<::Source>" + } + ] + }, + { + "lookup": "3319", + "name": "buy_item", + "docs": [ + "Allows to buy an item if it's up for sale.", + "", + "Origin must be Signed and must not be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item the sender wants to buy.", + "- `bid_price`: The price the sender is willing to pay.", + "", + "Emits `ItemBought` on success." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + } + ], + "calls_value": { + "type": 257 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some `item` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some `item` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3308", + "name": "CollectionFrozen", + "docs": [ + "Some `collection` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3309", + "name": "CollectionThawed", + "docs": [ + "Some `collection` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "ItemStatusChanged", + "docs": [ + "A `collection` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330f", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "item", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec" + ] + }, + { + "lookup": "3316", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "3317", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "3318", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the instance." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "3319", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the instance was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "331a", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + } + ], + "events_value": { + "type": 90 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The item ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The item or collection is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership of the collection is acceptable." + ] + }, + { + "name": "Locked", + "doc": [ + "The item is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyAlreadySet", + "doc": [ + "The max supply has already been set." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less to the amount of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + } + ], + "errors_value": { + "type": 298 + }, + "index": 51 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v9290.json b/src/demo_substrate_events/abi/assethub/v9290.json new file mode 100644 index 000000000..74a1ef131 --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v9290.json @@ -0,0 +1,9472 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:weights:PerDispatchClass@7", + "PlainTypeValue": 7 + }, + "fallback": "0x000000000000000000000000000000000000000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 10 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 11 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 10 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 12 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 16 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: The item is unbound and should therefore never be read on chain.", + " It could otherwise inflate the PoV size of a block.", + "", + " Events have a large in-memory size. Box the events to not go out-of-memory", + " just in case someone still reads them from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 10, + "value_id": 101 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 103 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 99 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "fill_block", + "docs": [ + "A dispatch that will fill the block weight up to the given ratio." + ], + "args": [ + { + "name": "ratio", + "type": "U32", + "type_name": "Perbill" + } + ] + }, + { + "lookup": "0001", + "name": "remark", + "docs": [ + "Make some on-chain remark.", + "", + "# ", + "- `O(1)`", + "# " + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0002", + "name": "set_heap_pages", + "docs": [ + "Set the number of pages in the WebAssembly environment's heap." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0003", + "name": "set_code", + "docs": [ + "Set the new runtime code.", + "", + "# ", + "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`", + "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is", + " expensive).", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime, but generally this is very", + "expensive. We will treat this as a full block.", + "# " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_code_without_checks", + "docs": [ + "Set the new runtime code without doing any checks of the given `code`.", + "", + "# ", + "- `O(C)` where `C` length of `code`", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime. We will treat this as a full", + "block. # " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0005", + "name": "set_storage", + "docs": [ + "Set some items of storage." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_storage", + "docs": [ + "Kill some items from storage." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0007", + "name": "kill_prefix", + "docs": [ + "Kill all storage items with a key that starts with the given prefix.", + "", + "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", + "the prefix we are removing to accurately calculate the weight of this function." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0008", + "name": "remark_with_event", + "docs": [ + "Make some on-chain remark and emit event." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 105 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:weights:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:weights:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + } + ], + "events_value": { + "type": 19 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 110, + "constants_value": "00f2052a010000000088526a74000000405973070000000001c0d22c76510000000100e6bd4f57000000010000000000000000405973070000000001c074c1906e000000010088526a740000000100a2941a1d0000004059730700000000000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:weights:PerDispatchClass@115", + "type_value": 114, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "60090000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "frame_support:weights:RuntimeDbWeight", + "type_value": 116, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 117, + "constants_value": "2473746174656d696e742473746174656d696e74010000004a240000000000002cdd718d5cc53262d401000000df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a801000000f3ff14d5ab52705901000000ea93e3f16f3d6962020000000800000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 90, + "constants_value": "0000", + "docs": [ + " The designated SS58 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + } + ], + "errors_value": { + "type": 121 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 11 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][well_known_keys::CODE]", + " which will result the next block process with the new validation code. This concludes the upgrade process.", + "", + " [well_known_keys::CODE]: sp_core::storage::well_known_keys::CODE" + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 11 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v2:PersistedValidationData", + "PlainTypeValue": 122 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "LastRelayChainBlockNumber", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The relay chain block number associated with the last parachain block." + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 124 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelayStateProof", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 126 + }, + "fallback": "0x00", + "docs": [ + " The state proof for the last relay parent block.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 128 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v2:AbridgedHostConfiguration", + "PlainTypeValue": 132 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 133 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 134 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 137 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 109 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 109 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 10 + }, + "fallback": "0x00", + "docs": [ + " The next authorized upgrade, if there is one." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 11 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See [`Pallet::set_custom_validation_head_data`] for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "Set the current validation data.", + "", + "This should be invoked exactly once per block. It will panic at the finalization", + "phase if the call was not invoked.", + "", + "The dispatch origin for this call must be `Inherent`", + "", + "As a side effect, this function upgrades the current validation function", + "if the appropriate time has come." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": null, + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": null, + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": null, + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 139 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "relay_chain_block_num" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade has been authorized." + ], + "args": [ + "H256" + ], + "args_name": [ + "code_hash" + ], + "args_type_name": [ + "Hash" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed." + ], + "args": [ + "U32" + ], + "args_name": [ + "count" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0105", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight." + ], + "args": [ + "U64", + "H256" + ], + "args_name": [ + "weight_used", + "dmq_head" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + } + ], + "events_value": { + "type": 28 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending" + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function" + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run" + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block" + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block" + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 148 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 9 + }, + "fallback": "0x0000000000000000", + "docs": [ + " Current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Did the timestamp get updated in this block?" + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "Set the current time.", + "", + "This call should be invoked exactly once per block. It will panic at the finalization", + "phase, if this call hasn't been invoked by that time.", + "", + "The timestamp should be greater than the previous one by the amount specified by", + "`MinimumPeriod`.", + "", + "The dispatch origin for this call must be `Inherent`.", + "", + "# ", + "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", + "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in", + " `on_finalize`)", + "- 1 event handler `on_timestamp_set`. Must be `O(1)`.", + "# " + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 149 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 9, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks. Beware that this is different to the *expected*", + " period that the block production apparatus provides. Your chosen consensus system will", + " generally work with this to determine a sensible block time. e.g. For Aura, it will be", + " double this period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 40 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 150 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 154 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances." + ] + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_balances:Releases", + "PlainTypeValue": 157 + }, + "fallback": "0x00", + "docs": [ + " Storage version of the pallet.", + "", + " This is set to v2.0.0 for new networks." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer", + "docs": [ + "Transfer some liquid free balance to another account.", + "", + "`transfer` will set the `FreeBalance` of the sender and receiver.", + "If the sender's account is below the existential deposit as a result", + "of the transfer, the account will be reaped.", + "", + "The dispatch origin for this call must be `Signed` by the transactor.", + "", + "# ", + "- Dependent on arguments but not critical, given proper implementations for input config", + " types. See related functions below.", + "- It contains a limited number of reads and writes internally and no complex", + " computation.", + "", + "Related functions:", + "", + " - `ensure_can_withdraw` is always called internally but has a bounded complexity.", + " - Transferring balances to accounts that did not exist before will cause", + " `T::OnNewAccount::on_new_account` to be called.", + " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.", + " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check", + " that the transfer will not kill the origin account.", + "---------------------------------", + "- Origin account is already in memory, so no DB operations for them.", + "# " + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a01", + "name": "set_balance", + "docs": [ + "Set the balances of a given account.", + "", + "This will alter `FreeBalance` and `ReservedBalance` in storage. it will", + "also alter the total issuance of the system (`TotalIssuance`) appropriately.", + "If the new free or reserved balance is below the existential deposit,", + "it will reset the account nonce (`frame_system::AccountNonce`).", + "", + "The dispatch origin for this call is `root`." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "new_reserved", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "Exactly as `transfer`, except the origin must be root and the source account may be", + "specified.", + "# ", + "- Same as transfer, but additional read and write because the source account is not", + " assumed to be in the overlay.", + "# " + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "Same as the [`transfer`] call, but with a check that the transfer will not kill the", + "origin account.", + "", + "99% of the time you want [`transfer`] instead.", + "", + "[`transfer`]: struct.Pallet.html#method.transfer" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "Transfer the entire transferable balance from the caller account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the account has, causing the sender account to be killed (false), or", + " transfer everything except at least the existential deposit, which will guarantee to", + " keep the sender account alive (true). # ", + "- O(1). Just like transfer, but reading the user's transferable balance first.", + " #" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "Unreserve some balance from a user by force.", + "", + "Can only be called by ROOT." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 158 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "free", + "reserved" + ], + "args_type_name": [ + "AccountId", + "Balance", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 29 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open." + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value" + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal" + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value" + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit" + ] + }, + { + "name": "KeepAlive", + "doc": [ + "Transfer/payment would kill account" + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account" + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist" + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed MaxReserves" + ] + } + ], + "errors_value": { + "type": 161 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 162 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 163 + }, + "fallback": "0x00", + "docs": null + } + ], + "events": [ + { + "lookup": "0b00", + "name": "TransactionFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who`." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "actual_fee", + "tip" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf" + ] + } + ], + "events_value": { + "type": 31 + }, + "constants": [ + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "0c00", + "name": "AssetTxFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who` in an asset `asset_id`." + ], + "args": [ + "AccountId", + "U128", + "U128", + "option" + ], + "args_name": [ + "who", + "actual_fee", + "tip", + "asset_id" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf", + "Option" + ] + } + ], + "events_value": { + "type": 32 + }, + "errors": null, + "errors_value": null, + "index": 12 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Uncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 164 + }, + "fallback": "0x00", + "docs": [ + " Uncles" + ] + }, + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + }, + { + "name": "DidSetUncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Whether uncles were already set in this block." + ] + } + ], + "calls": [ + { + "lookup": "1400", + "name": "set_uncles", + "docs": [ + "Provide a set of uncles." + ], + "args": [ + { + "name": "new_uncles", + "type": "Vec", + "type_name": "Vec
" + } + ] + } + ], + "calls_value": { + "type": 167 + }, + "constants": [ + { + "name": "UncleGenerations", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The number of blocks back we should accept uncles.", + " This means that we will deal with uncle-parents that are", + " `UncleGenerations + 1` before `now`." + ] + } + ], + "errors": [ + { + "name": "InvalidUncleParent", + "doc": [ + "The uncle parent not in the chain." + ] + }, + { + "name": "UnclesAlreadySet", + "doc": [ + "Uncles already set in the block." + ] + }, + { + "name": "TooManyUncles", + "doc": [ + "Too many uncles." + ] + }, + { + "name": "GenesisUncle", + "doc": [ + "The uncle is genesis." + ] + }, + { + "name": "TooHighUncle", + "doc": [ + "The uncle is too high in chain." + ] + }, + { + "name": "UncleAlreadyIncluded", + "doc": [ + "The uncle is already included." + ] + }, + { + "name": "OldUncle", + "doc": [ + "The uncle isn't recent enough to be included." + ] + } + ], + "errors_value": { + "type": 171 + }, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 172 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, fixed collators." + ] + }, + { + "name": "Candidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 173 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "Set the list of invulnerable (fixed) collators." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "Set the ideal number of collators (not including the invulnerables).", + "If lowering this number, then the number of running collators could be higher than this figure.", + "Aside from that edge case, there should be no other way to have more collators than the desired number." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "Set the candidacy bond amount." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "Register this account as a collator candidate. The account must (a) already have", + "registered session keys and (b) be able to reserve the `CandidacyBond`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "Deregister `origin` as a collator candidate. Note that the collator can only leave on", + "session change. The `CandidacyBond` will be unreserved immediately.", + "", + "This call will fail if the total number of candidates would drop below `MinCandidates`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + } + ], + "calls_value": { + "type": 176 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": null, + "args": [ + "Vec" + ], + "args_name": [ + "invulnerables" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "NewDesiredCandidates", + "docs": null, + "args": [ + "U32" + ], + "args_name": [ + "desired_candidates" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1502", + "name": "NewCandidacyBond", + "docs": null, + "args": [ + "U128" + ], + "args_name": [ + "bond_amount" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1503", + "name": "CandidateAdded", + "docs": null, + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1504", + "name": "CandidateRemoved", + "docs": null, + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 34 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "Too many candidates" + ] + }, + { + "name": "TooFewCandidates", + "doc": [ + "Too few candidates" + ] + }, + { + "name": "Unknown", + "doc": [ + "Unknown error" + ] + }, + { + "name": "Permission", + "doc": [ + "Permission issue" + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "User is already a candidate" + ] + }, + { + "name": "NotCandidate", + "doc": [ + "User is not a candidate" + ] + }, + { + "name": "TooManyInvulnerables", + "doc": [ + "Too many invulnerables" + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "User is already an Invulnerable" + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID" + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered" + ] + } + ], + "errors_value": { + "type": 177 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 35 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 178 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 95 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 180 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 183, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "Sets the session key(s) of the function caller to `keys`.", + "Allows an account to set its session key prior to becoming a validator.", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be signed.", + "", + "# ", + "- Complexity: `O(1)`. Actual cost depends on the number of length of", + " `T::Keys::key_ids()` which is fixed.", + "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`", + "- DbWrites: `origin account`, `NextKeys`", + "- DbReads per key id: `KeyOwner`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "Removes any session key(s) of the function caller.", + "", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be Signed and the account must be either be", + "convertible to a validator ID using the chain's typical addressing system (this usually", + "means being a controller account) or directly convertible into a validator ID (which", + "usually means being a stash account).", + "", + "# ", + "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length", + " of `T::Keys::key_ids()` which is fixed.", + "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`", + "- DbWrites: `NextKeys`, `origin account`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": null + } + ], + "calls_value": { + "type": 185 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 36 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 186 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 187 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 189 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 187 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will always", + " be updated to the latest AuRa authorities in `on_finalize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 190 + }, + "fallback": "0x00", + "docs": [ + " Status of the inbound XCMP channels." + ] + }, + { + "name": "InboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 196, + "value_id": 11 + } + }, + "fallback": "0x00", + "docs": [ + " Inbound aggregate XCMP messages. It can only be one per ParaId/block." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 197 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 200, + "value_id": 11 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 40, + "value_id": 11 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 201 + }, + "fallback": "0x020000000500000001000000a086010000000000020000000000000000c817a804000000", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32U32Vec", + "keys_id": 9, + "value_id": 202 + } + }, + "fallback": "0x00", + "docs": [ + " The messages that exceeded max individual message weight budget.", + "", + " These message stay in this storage map until they are manually dispatched via", + " `service_overweight`." + ] + }, + { + "name": "OverweightCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 9 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The number of overweight messages ever recorded in `Overweight`. Also doubles as the next", + " available free overweight index." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + } + ], + "calls": [ + { + "lookup": "1e00", + "name": "service_overweight", + "docs": [ + "Services a single overweight XCM.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight XCM to service", + "- `weight_limit`: The amount of weight that XCM execution may take.", + "", + "Errors:", + "- `BadOverweightIndex`: XCM under `index` is not found in the `Overweight` storage map.", + "- `BadXcm`: XCM under `index` cannot be properly decoded into a valid XCM format.", + "- `WeightOverLimit`: XCM execution may use greater `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "Suspends all XCM executions for the XCMP queue, regardless of the sender's origin.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "Resumes all XCM executions for the XCMP queue.", + "", + "Note that this function doesn't change the status of the in/out bound channels.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue for the other side to be told to", + "suspend their sending.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.suspend_value`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue after which we drop any further", + "messages from the channel.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.drop_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "Overwrites the number of pages of messages which the queue must be reduced to before it signals that", + "message sending may recommence after it has been suspended.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.resume_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e06", + "name": "update_threshold_weight", + "docs": [ + "Overwrites the amount of remaining weight under which we stop processing messages.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.threshold_weight`" + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e07", + "name": "update_weight_restrict_decay", + "docs": [ + "Overwrites the speed to which the available weight approaches the maximum weight.", + "A lower number results in a faster progression. A value of 1 makes the entire weight available initially.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.weight_restrict_decay`." + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e08", + "name": "update_xcmp_max_individual_weight", + "docs": [ + "Overwrite the maximum amount of weight any individual message may consume.", + "Messages above this weight go into the overweight queue and may only be serviced explicitly.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.xcmp_max_individual_weight`." + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 203 + }, + "events": [ + { + "lookup": "1e00", + "name": "Success", + "docs": [ + "Some XCM was executed ok." + ], + "args": [ + "option", + "U64" + ], + "args_name": [ + "message_hash", + "weight" + ], + "args_type_name": [ + "Option", + "Weight" + ] + }, + { + "lookup": "1e01", + "name": "Fail", + "docs": [ + "Some XCM failed." + ], + "args": [ + "option", + "xcm:v2:traits:Error", + "U64" + ], + "args_name": [ + "message_hash", + "error", + "weight" + ], + "args_type_name": [ + "Option", + "XcmError", + "Weight" + ] + }, + { + "lookup": "1e02", + "name": "BadVersion", + "docs": [ + "Bad XCM version used." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e03", + "name": "BadFormat", + "docs": [ + "Bad XCM format used." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e04", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e05", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e06", + "name": "OverweightEnqueued", + "docs": [ + "An XCM exceeded the individual message weight budget." + ], + "args": [ + "U32", + "U32", + "U64", + "U64" + ], + "args_name": [ + "sender", + "sent_at", + "index", + "required" + ], + "args_type_name": [ + "ParaId", + "RelayBlockNumber", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "1e07", + "name": "OverweightServiced", + "docs": [ + "An XCM from the overweight queue was executed with the given actual weight used." + ], + "args": [ + "U64", + "U64" + ], + "args_name": [ + "index", + "used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 37 + }, + "errors": [ + { + "name": "FailedToSend", + "doc": [ + "Failed to send XCM message." + ] + }, + { + "name": "BadXcmOrigin", + "doc": [ + "Bad XCM origin." + ] + }, + { + "name": "BadXcm", + "doc": [ + "Bad XCM data." + ] + }, + { + "name": "BadOverweightIndex", + "doc": [ + "Bad overweight index." + ] + }, + { + "name": "WeightOverLimit", + "doc": [ + "Provided weight is possibly not enough to execute the message." + ] + } + ], + "errors_value": { + "type": 204 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 9 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 9, + "value_id": 205 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 10, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U32", + "keys_id": 211, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U64", + "keys_id": 211, + "value_id": 9 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "Tuple:U64U64U32", + "keys_id": 211, + "value_id": 212 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 213 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 216 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": null, + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@219", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "Execute an XCM message from a local, signed, origin.", + "", + "An event is deposited indicating whether `msg` could be executed completely or only", + "partially.", + "", + "No more than `max_weight` will be used in its attempted execution. If this is less than the", + "maximum amount of weight that the message could take to be executed, then no execution", + "attempt will be made.", + "", + "NOTE: A successful return to this does *not* imply that the `msg` was executed successfully", + "to completion; only that *some* of it was executed." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@228", + "type_name": "Box::Call>>" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "Extoll that a particular destination can be communicated with through a particular", + "version of XCM.", + "", + "- `origin`: Must be Root.", + "- `location`: The destination that is being described.", + "- `xcm_version`: The latest version of XCM that `location` supports." + ], + "args": [ + { + "name": "location", + "type": "xcm:v1:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "xcm_version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "Set a safe XCM version (the version that XCM should be encoded with if the most recent", + "version a destination can accept is unknown).", + "", + "- `origin`: Must be Root.", + "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "Ask a location to notify us regarding their XCM version and any changes to it.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we should subscribe for XCM version notifications." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "Require that a particular destination should no longer notify us regarding any XCM", + "version changes.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we are currently subscribed for XCM version", + " notifications which we no longer desire." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + } + ], + "calls_value": { + "type": 218 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted.", + "", + "\\[ outcome \\]" + ], + "args": [ + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent.", + "", + "\\[ origin, destination, message \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "xcm:v1:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiLocation", + "Xcm<()>" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call.", + "", + "\\[ id, response \\]" + ], + "args": [ + "U64", + "xcm:v2:Response" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification could", + "not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result.", + "", + "\\[ id, pallet index, call index, actual weight, max budgeted weight \\]" + ], + "args": [ + "U64", + "U8", + "U8", + "U64", + "U64" + ], + "args_name": [ + "", + "", + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon.", + "", + "\\[ origin location, id, expected location \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "option" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed.", + "", + "\\[ id \\]" + ], + "args": [ + "U64" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap.", + "", + "\\[ hash, origin, assets \\]" + ], + "args": [ + "H256", + "xcm:v1:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "\\[ destination, result \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention.", + "", + "\\[ location, XCM version \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it.", + "", + "\\[ location, query ID, error \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "xcm:v2:traits:Error" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format.", + "", + "\\[ location, query ID \\]" + ], + "args": [ + "xcm:VersionedMultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "VersionedMultiLocation", + "QueryId" + ] + } + ], + "events_value": { + "type": 41 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message. Perhaps", + "a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `MultiLocation` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + } + ], + "errors_value": { + "type": 241 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 8]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 8]", + "Outcome" + ] + } + ], + "events_value": { + "type": 81 + }, + "errors": null, + "errors_value": { + "type": 242 + }, + "index": 32 + }, + { + "name": "DmpQueue", + "prefix": "DmpQueue", + "storage": [ + { + "name": "Configuration", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 243 + }, + "fallback": "0x00e40b5402000000", + "docs": [ + " The configuration." + ] + }, + { + "name": "PageIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_dmp_queue:PageIndexData", + "PlainTypeValue": 244 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The page index." + ] + }, + { + "name": "Pages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec>", + "keys_id": 4, + "value_id": 245 + } + }, + "fallback": "0x00", + "docs": [ + " The queue pages." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32Vec", + "keys_id": 9, + "value_id": 246 + } + }, + "fallback": "0x00", + "docs": [ + " The overweight messages." + ] + } + ], + "calls": [ + { + "lookup": "2100", + "name": "service_overweight", + "docs": [ + "Service a single overweight message.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight message to service.", + "- `weight_limit`: The amount of weight that message execution may take.", + "", + "Errors:", + "- `Unknown`: Message of `index` is unknown.", + "- `OverLimit`: Message execution may use greater than `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 247 + }, + "events": [ + { + "lookup": "2100", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2101", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2102", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome." + ], + "args": [ + "[U8; 32]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "message_id", + "outcome" + ], + "args_type_name": [ + "MessageId", + "Outcome" + ] + }, + { + "lookup": "2103", + "name": "WeightExhausted", + "docs": [ + "The weight limit for handling downward messages was reached." + ], + "args": [ + "[U8; 32]", + "U64", + "U64" + ], + "args_name": [ + "message_id", + "remaining_weight", + "required_weight" + ], + "args_type_name": [ + "MessageId", + "Weight", + "Weight" + ] + }, + { + "lookup": "2104", + "name": "OverweightEnqueued", + "docs": [ + "Downward message is overweight and was placed in the overweight queue." + ], + "args": [ + "[U8; 32]", + "U64", + "U64" + ], + "args_name": [ + "message_id", + "overweight_index", + "required_weight" + ], + "args_type_name": [ + "MessageId", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "2105", + "name": "OverweightServiced", + "docs": [ + "Downward message from the overweight queue was executed." + ], + "args": [ + "U64", + "U64" + ], + "args_name": [ + "overweight_index", + "weight_used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 82 + }, + "errors": [ + { + "name": "Unknown", + "doc": [ + "The message index given is unknown." + ] + }, + { + "name": "OverLimit", + "doc": [ + "The amount of weight given is possibly not enough for executing the message." + ] + } + ], + "errors_value": { + "type": 248 + }, + "index": 33 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "Send a batch of dispatch calls.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# ", + "", + "This will return `Ok` in all circumstances. To determine the success of the batch, an", + "event is deposited. If a call failed and the batch was interrupted, then the", + "`BatchInterrupted` event is deposited, along with the number of successful calls made", + "and the error of the failed call. If all were successful, then the `BatchCompleted`", + "event is deposited." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::Call>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "Send a call through an indexed pseudonym of the sender.", + "", + "Filter from origin are passed along. The call will be dispatched with an origin which", + "use the same filter as the origin of this call.", + "", + "NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", + "because you expect `proxy` to have been used prior in the call stack and you do not want", + "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", + "in the Multisig pallet instead.", + "", + "NOTE: Prior to version *12, this was called `as_limited_sub`.", + "", + "The dispatch origin for this call must be _Signed_." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "Send a batch of dispatch calls and atomically execute them.", + "The whole transaction will rollback and fail if any of the calls failed.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# " + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::Call>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "Dispatches a function call with a provided origin.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "# ", + "- O(1).", + "- Limited storage reads.", + "- One DB write (event).", + "- Weight of derivative `call` execution + T::WeightInfo::dispatch_as().", + "# " + ], + "args": [ + { + "name": "as_origin", + "type": "statemint_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2804", + "name": "force_batch", + "docs": [ + "Send a batch of dispatch calls.", + "Unlike `batch`, it allows errors and won't interrupt.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# " + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::Call>" + } + ] + } + ], + "calls_value": { + "type": 249 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "BatchCompletedWithErrors", + "docs": [ + "Batch of dispatches completed but has errors." + ], + "args": null + }, + { + "lookup": "2803", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2804", + "name": "ItemFailed", + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ], + "args": [ + "sp_runtime:DispatchError" + ], + "args_name": [ + "error" + ], + "args_type_name": [ + "DispatchError" + ] + }, + { + "lookup": "2805", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 83 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 268 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 269, + "value_id": 270 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + }, + { + "name": "Calls", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "[U8; 32]" + ], + "value": "Tuple:WrapperOpaqueAccountIdU128", + "keys_id": 1, + "value_id": 271 + } + }, + "fallback": "0x00", + "docs": null + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "Immediately dispatch a multi-signature call using a single approval from the caller.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `other_signatories`: The accounts (other than the sender) who are part of the", + "multi-signature, but do not participate in the approval process.", + "- `call`: The call to be executed.", + "", + "Result is equivalent to the dispatched result.", + "", + "# ", + "O(Z + C) where Z is the length of the call and C its execution weight.", + "-------------------------------", + "- DB Weight: None", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "If there are enough, then dispatch the call.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call`: The call to be executed.", + "", + "NOTE: Unless this is the final approval, you will generally want to use", + "`approve_as_multi` instead, since it only requires a hash of the call.", + "", + "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", + "on success, result is `Ok` and the result from the interior call, if it was executed,", + "may be found in the deposited `MultisigExecuted` event.", + "", + "# ", + "- `O(S + Z + Call)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- The weight of the `call`.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "-------------------------------", + "- DB Weight:", + " - Reads: Multisig Storage, [Caller Account], Calls (if `store_call`)", + " - Writes: Multisig Storage, [Caller Account], Calls (if `store_call`)", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "WrapperOpaque", + "type_name": "OpaqueCall" + }, + { + "name": "store_call", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call_hash`: The hash of the call to be executed.", + "", + "NOTE: If this is the final approval, you will want to use `as_multi` instead.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account]", + " - Write: Multisig Storage, [Caller Account]", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", + "for this operation will be unreserved on success.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `timepoint`: The timepoint (block number and transaction index) of the first approval", + "transaction for this dispatch.", + "- `call_hash`: The hash of the call to be executed.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- One event.", + "- I/O: 1 read `O(S)`, one remove.", + "- Storage: removes one item.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account], Refund Account, Calls", + " - Write: Multisig Storage, [Caller Account], Refund Account, Calls", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 252 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 86 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00dbbb77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "00d43000000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U16", + "type_value": 90, + "constants_value": "6400", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 272 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:sp_runtime:bounded:bounded_vec:BoundedVec@274U128", + "keys_id": 0, + "value_id": 273 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:sp_runtime:bounded:bounded_vec:BoundedVec@278U128", + "keys_id": 0, + "value_id": 277 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorised for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "Register a proxy account for the sender that is able to make calls on its behalf.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to make a proxy.", + "- `proxy_type`: The permissions allowed for this proxy account.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "Unregister a proxy account for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to remove as a proxy.", + "- `proxy_type`: The permissions currently enabled for the removed proxy account.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "Unregister all proxy accounts for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "WARNING: This may be called on accounts created by `anonymous`, however if done, then", + "the unreserved fees will be inaccessible. **All access to this account will be lost.**", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": null + }, + { + "lookup": "2a04", + "name": "anonymous", + "docs": [ + "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", + "initialize it with a proxy of `proxy_type` for `origin` sender.", + "", + "Requires a `Signed` origin.", + "", + "- `proxy_type`: The type of the proxy that the sender will be registered as over the", + "new account. This will almost always be the most permissive `ProxyType` possible to", + "allow for maximum flexibility.", + "- `index`: A disambiguation index, in case this is called multiple times in the same", + "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", + "want to use `0`.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "Fails with `Duplicate` if this has already been called in this transaction, from the", + "same sender, with the same parameters.", + "", + "Fails if there are insufficient funds to pay for deposit.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# ", + "TODO: Might be over counting 1 read" + ], + "args": [ + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_anonymous", + "docs": [ + "Removes a previously spawned anonymous proxy.", + "", + "WARNING: **All access to this account will be lost.** Any funds held in it will be", + "inaccessible.", + "", + "Requires a `Signed` origin, and the sender account must have been created by a call to", + "`anonymous` with corresponding parameters.", + "", + "- `spawner`: The account that originally called `anonymous` to create this account.", + "- `index`: The disambiguation index originally passed to `anonymous`. Probably `0`.", + "- `proxy_type`: The proxy type originally passed to `anonymous`.", + "- `height`: The height of the chain when the call to `anonymous` was processed.", + "- `ext_index`: The extrinsic index in which the call to `anonymous` was processed.", + "", + "Fails with `NoPermission` in case the caller is not a previously created anonymous", + "account whose `anonymous` call has corresponding parameters.", + "", + "# ", + "Weight is a function of the number of proxies the user has (P).", + "# " + ], + "args": [ + { + "name": "spawner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumber" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "Publish the hash of a proxy-call that will be made in the future.", + "", + "This must be called some number of blocks before the corresponding `proxy` is attempted", + "if the delay associated with the proxy relationship is greater than zero.", + "", + "No more than `MaxPending` announcements may be made at any one time.", + "", + "This will take a deposit of `AnnouncementDepositFactor` as well as", + "`AnnouncementDepositBase` if there are no other pending announcements.", + "", + "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "Remove a given announcement.", + "", + "May be called by a proxy account to remove a call they previously announced and return", + "the deposit.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "Remove the given announcement of a delegate.", + "", + "May be called by a target (proxied) account to remove a call that one of their delegates", + "(`delegate`) has announced they want to execute. The deposit is returned.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `delegate`: The account that previously announced the call.", + "- `call_hash`: The hash of the call to be made.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorized for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account.", + "", + "# ", + "Weight is a function of:", + "- A: the number of announcements made.", + "- P: the number of proxies the user has.", + "# " + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::Call>" + } + ] + } + ], + "calls_value": { + "type": 255 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "AnonymousCreated", + "docs": [ + "Anonymous account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U16" + ], + "args_name": [ + "anonymous", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + }, + { + "lookup": "2a04", + "name": "ProxyRemoved", + "docs": [ + "A proxy was removed." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + } + ], + "events_value": { + "type": 88 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "009d7277000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "a05a3200000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00d27e77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "40b56400000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 281 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 282 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 283, + "value_id": 284 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 286, + "value_id": 287 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata", + "keys_id": 4, + "value_id": 288 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "destroy", + "docs": [ + "Destroy a class of fungible assets.", + "", + "The origin must conform to `ForceOrigin` or must be Signed and the sender must be the", + "owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + "asset.", + "", + "Emits `Destroyed` event when successful.", + "", + "NOTE: It can be helpful to first freeze an asset before destroying it so that you", + "can provide accurate witness information and prevent users from manipulating state", + "in a way that can make it harder to destroy.", + "", + "Weight: `O(c + p + a)` where:", + "- `c = (witness.accounts - witness.sufficients)`", + "- `s = witness.sufficients`", + "- `a = witness.approvals`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "witness", + "type": "pallet_assets:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3203", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3204", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3205", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3206", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers from an account.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3209", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320a", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "320b", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "320c", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320d", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320e", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "320f", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3210", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3211", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3212", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3213", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3214", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3215", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3216", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "touch", + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3218", + "name": "refund", + "docs": [ + "Return the deposit (if any) of an asset account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for the account to be created.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 257 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "total_supply" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320b", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320c", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "320d", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "320f", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3210", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3211", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + } + ], + "events_value": { + "type": 91 + }, + "constants": [ + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "NoProvider", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or the", + "maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + } + ], + "errors_value": { + "type": 290 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionDetails", + "keys_id": 4, + "value_id": 291 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 292, + "value_id": 85 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 293, + "value_id": 85 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemDetails", + "keys_id": 102, + "value_id": 294 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionMetadata", + "keys_id": 4, + "value_id": 295 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemMetadata", + "keys_id": 102, + "value_id": 296 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 297, + "value_id": 298 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 102, + "value_id": 299 + } + }, + "fallback": "0x00", + "docs": [ + " Price of an asset instance." + ] + }, + { + "name": "CollectionMaxSupply", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U32", + "keys_id": 4, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " Keeps track of the number of items a collection might have." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "`ItemDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `collection`: The identifier of the new collection. This must not be currently in use.", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `collection`: The identifier of the new item. This must not be currently in use.", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions", + "over this item, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.items`", + "- `m = witness.item_metadatas`", + "- `a = witness.attributes`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must be the Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: The item value of the item to be minted.", + "- `beneficiary`: The initial owner of the minted item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "Destroy a single item.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item of the item to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " item is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "Move an item from the sender account to another.", + "", + "This resets the approved account of the item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item of the item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "Reevaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown of the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be frozen.", + "- `item`: The item of the item to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be thawed.", + "- `item`: The item of the item to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_collection", + "docs": [ + "Disallow further unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "", + "Emits `CollectionFrozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_collection", + "docs": [ + "Re-allow unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection to be thawed.", + "", + "Emits `CollectionThawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be", + "either the owner of the `item` or the admin of the collection.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item of the item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "", + "Important NOTE: The `approved` account gets reset after each transfer.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "Cancel the prior approval for the transfer of an item by a delegate.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the `collection`;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the item of whose approval will be cancelled.", + "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", + " which permission of transfer is delegated.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "330f", + "name": "force_item_status", + "docs": [ + "Alter the attributes of a given item.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the item.", + "- `owner`: The new Owner of this item.", + "- `issuer`: The new Issuer of this item.", + "- `admin`: The new Admin of this item.", + "- `freezer`: The new Freezer of this item.", + "- `free_holding`: Whether a deposit is taken for holding an item of this collection.", + "- `is_frozen`: Whether this collection is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `ItemStatusChanged` with the identity of the item.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3314", + "name": "set_collection_metadata", + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_collection_metadata", + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "3316", + "name": "set_accept_ownership", + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3317", + "name": "set_collection_max_supply", + "docs": [ + "Set the maximum amount of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Note: This function can only succeed once per collection.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum amount of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "3318", + "name": "set_price", + "docs": [ + "Set (or reset) the price for an item.", + "", + "Origin must be Signed and must be the owner of the asset `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item to set the price for.", + "- `price`: The price for the item. Pass `None`, to reset the price.", + "- `buyer`: Restricts the buy operation to a specific account.", + "", + "Emits `ItemPriceSet` on success if the price is not `None`.", + "Emits `ItemPriceRemoved` on success if the price is `None`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3319", + "name": "buy_item", + "docs": [ + "Allows to buy an item if it's up for sale.", + "", + "Origin must be Signed and must not be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item the sender wants to buy.", + "- `bid_price`: The price the sender is willing to pay.", + "", + "Emits `ItemBought` on success." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + } + ], + "calls_value": { + "type": 259 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some `item` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some `item` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3308", + "name": "CollectionFrozen", + "docs": [ + "Some `collection` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3309", + "name": "CollectionThawed", + "docs": [ + "Some `collection` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "ItemStatusChanged", + "docs": [ + "A `collection` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330f", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "item", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec" + ] + }, + { + "lookup": "3316", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "3317", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "3318", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the instance." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "3319", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the instance was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "331a", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + } + ], + "events_value": { + "type": 93 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The item ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The item or collection is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership of the collection is acceptable." + ] + }, + { + "name": "Locked", + "doc": [ + "The item is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyAlreadySet", + "doc": [ + "The max supply has already been set." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less to the amount of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + } + ], + "errors_value": { + "type": 300 + }, + "index": 51 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v9320.json b/src/demo_substrate_events/abi/assethub/v9320.json new file mode 100644 index 000000000..c4d5fad37 --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v9320.json @@ -0,0 +1,9422 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:dispatch:PerDispatchClass@7", + "PlainTypeValue": 7 + }, + "fallback": "0x000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 11 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 12 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 17 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: The item is unbound and should therefore never be read on chain.", + " It could otherwise inflate the PoV size of a block.", + "", + " Events have a large in-memory size. Box the events to not go out-of-memory", + " just in case someone still reads them from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 11, + "value_id": 101 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 103 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 99 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "fill_block", + "docs": [ + "A dispatch that will fill the block weight up to the given ratio." + ], + "args": [ + { + "name": "ratio", + "type": "U32", + "type_name": "Perbill" + } + ] + }, + { + "lookup": "0001", + "name": "remark", + "docs": [ + "Make some on-chain remark.", + "", + "# ", + "- `O(1)`", + "# " + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0002", + "name": "set_heap_pages", + "docs": [ + "Set the number of pages in the WebAssembly environment's heap." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0003", + "name": "set_code", + "docs": [ + "Set the new runtime code.", + "", + "# ", + "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`", + "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is", + " expensive).", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime, but generally this is very", + "expensive. We will treat this as a full block.", + "# " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_code_without_checks", + "docs": [ + "Set the new runtime code without doing any checks of the given `code`.", + "", + "# ", + "- `O(C)` where `C` length of `code`", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime. We will treat this as a full", + "block. # " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0005", + "name": "set_storage", + "docs": [ + "Set some items of storage." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_storage", + "docs": [ + "Kill some items from storage." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0007", + "name": "kill_prefix", + "docs": [ + "Kill all storage items with a key that starts with the given prefix.", + "", + "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", + "the prefix we are removing to accurately calculate the weight of this function." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0008", + "name": "remark_with_event", + "docs": [ + "Make some on-chain remark and emit event." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 105 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + } + ], + "events_value": { + "type": 20 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 110, + "constants_value": "0700f2052a0100070088526a74020040010265cd1d000107c0d22c76510200e000010700e6bd4f570200f0000100000265cd1d000107c074c1906e0200300101070088526a7402004001010700a2941a1d020050000265cd1d00000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:dispatch:PerDispatchClass@115", + "type_value": 114, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "00100000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "sp_weights:RuntimeDbWeight", + "type_value": 116, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 117, + "constants_value": "2473746174656d696e742473746174656d696e740100000068240000000000002cdd718d5cc53262d401000000df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a802000000f3ff14d5ab52705902000000ea93e3f16f3d6962020000000900000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 90, + "constants_value": "0000", + "docs": [ + " The designated SS58 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + } + ], + "errors_value": { + "type": 121 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 12 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][well_known_keys::CODE]", + " which will result the next block process with the new validation code. This concludes the upgrade process.", + "", + " [well_known_keys::CODE]: sp_core::storage::well_known_keys::CODE" + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 12 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v2:PersistedValidationData", + "PlainTypeValue": 122 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "LastRelayChainBlockNumber", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The relay chain block number associated with the last parachain block." + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 124 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelayStateProof", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 126 + }, + "fallback": "0x00", + "docs": [ + " The state proof for the last relay parent block.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 128 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v2:AbridgedHostConfiguration", + "PlainTypeValue": 132 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 133 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 134 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 137 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 109 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 109 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 11 + }, + "fallback": "0x00", + "docs": [ + " The next authorized upgrade, if there is one." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 12 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See [`Pallet::set_custom_validation_head_data`] for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "Set the current validation data.", + "", + "This should be invoked exactly once per block. It will panic at the finalization", + "phase if the call was not invoked.", + "", + "The dispatch origin for this call must be `Inherent`", + "", + "As a side effect, this function upgrades the current validation function", + "if the appropriate time has come." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": null, + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": null, + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": null, + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 139 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "relay_chain_block_num" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade has been authorized." + ], + "args": [ + "H256" + ], + "args_name": [ + "code_hash" + ], + "args_type_name": [ + "Hash" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed." + ], + "args": [ + "U32" + ], + "args_name": [ + "count" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0105", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight." + ], + "args": [ + "sp_weights:weight_v2:Weight", + "H256" + ], + "args_name": [ + "weight_used", + "dmq_head" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + } + ], + "events_value": { + "type": 29 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending" + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function" + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run" + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block" + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block" + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 148 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 10 + }, + "fallback": "0x0000000000000000", + "docs": [ + " Current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Did the timestamp get updated in this block?" + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "Set the current time.", + "", + "This call should be invoked exactly once per block. It will panic at the finalization", + "phase, if this call hasn't been invoked by that time.", + "", + "The timestamp should be greater than the previous one by the amount specified by", + "`MinimumPeriod`.", + "", + "The dispatch origin for this call must be `Inherent`.", + "", + "# ", + "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", + "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in", + " `on_finalize`)", + "- 1 event handler `on_timestamp_set`. Must be `O(1)`.", + "# " + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 149 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 10, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks. Beware that this is different to the *expected*", + " period that the block production apparatus provides. Your chosen consensus system will", + " generally work with this to determine a sensible block time. e.g. For Aura, it will be", + " double this period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 41 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 150 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 154 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances." + ] + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_balances:Releases", + "PlainTypeValue": 157 + }, + "fallback": "0x00", + "docs": [ + " Storage version of the pallet.", + "", + " This is set to v2.0.0 for new networks." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer", + "docs": [ + "Transfer some liquid free balance to another account.", + "", + "`transfer` will set the `FreeBalance` of the sender and receiver.", + "If the sender's account is below the existential deposit as a result", + "of the transfer, the account will be reaped.", + "", + "The dispatch origin for this call must be `Signed` by the transactor.", + "", + "# ", + "- Dependent on arguments but not critical, given proper implementations for input config", + " types. See related functions below.", + "- It contains a limited number of reads and writes internally and no complex", + " computation.", + "", + "Related functions:", + "", + " - `ensure_can_withdraw` is always called internally but has a bounded complexity.", + " - Transferring balances to accounts that did not exist before will cause", + " `T::OnNewAccount::on_new_account` to be called.", + " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.", + " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check", + " that the transfer will not kill the origin account.", + "---------------------------------", + "- Origin account is already in memory, so no DB operations for them.", + "# " + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a01", + "name": "set_balance", + "docs": [ + "Set the balances of a given account.", + "", + "This will alter `FreeBalance` and `ReservedBalance` in storage. it will", + "also alter the total issuance of the system (`TotalIssuance`) appropriately.", + "If the new free or reserved balance is below the existential deposit,", + "it will reset the account nonce (`frame_system::AccountNonce`).", + "", + "The dispatch origin for this call is `root`." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "new_reserved", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "Exactly as `transfer`, except the origin must be root and the source account may be", + "specified.", + "# ", + "- Same as transfer, but additional read and write because the source account is not", + " assumed to be in the overlay.", + "# " + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "Same as the [`transfer`] call, but with a check that the transfer will not kill the", + "origin account.", + "", + "99% of the time you want [`transfer`] instead.", + "", + "[`transfer`]: struct.Pallet.html#method.transfer" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "Transfer the entire transferable balance from the caller account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the account has, causing the sender account to be killed (false), or", + " transfer everything except at least the existential deposit, which will guarantee to", + " keep the sender account alive (true). # ", + "- O(1). Just like transfer, but reading the user's transferable balance first.", + " #" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "Unreserve some balance from a user by force.", + "", + "Can only be called by ROOT." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 158 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "free", + "reserved" + ], + "args_type_name": [ + "AccountId", + "Balance", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 30 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open." + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value" + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal" + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value" + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit" + ] + }, + { + "name": "KeepAlive", + "doc": [ + "Transfer/payment would kill account" + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account" + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist" + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed MaxReserves" + ] + } + ], + "errors_value": { + "type": 161 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 162 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 163 + }, + "fallback": "0x00", + "docs": null + } + ], + "events": [ + { + "lookup": "0b00", + "name": "TransactionFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who`." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "actual_fee", + "tip" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf" + ] + } + ], + "events_value": { + "type": 32 + }, + "constants": [ + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "0c00", + "name": "AssetTxFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who` in an asset `asset_id`." + ], + "args": [ + "AccountId", + "U128", + "U128", + "option" + ], + "args_name": [ + "who", + "actual_fee", + "tip", + "asset_id" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf", + "Option" + ] + } + ], + "events_value": { + "type": 33 + }, + "errors": null, + "errors_value": null, + "index": 12 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Uncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 164 + }, + "fallback": "0x00", + "docs": [ + " Uncles" + ] + }, + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + }, + { + "name": "DidSetUncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Whether uncles were already set in this block." + ] + } + ], + "calls": [ + { + "lookup": "1400", + "name": "set_uncles", + "docs": [ + "Provide a set of uncles." + ], + "args": [ + { + "name": "new_uncles", + "type": "Vec", + "type_name": "Vec
" + } + ] + } + ], + "calls_value": { + "type": 167 + }, + "constants": [ + { + "name": "UncleGenerations", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The number of blocks back we should accept uncles.", + " This means that we will deal with uncle-parents that are", + " `UncleGenerations + 1` before `now`." + ] + } + ], + "errors": [ + { + "name": "InvalidUncleParent", + "doc": [ + "The uncle parent not in the chain." + ] + }, + { + "name": "UnclesAlreadySet", + "doc": [ + "Uncles already set in the block." + ] + }, + { + "name": "TooManyUncles", + "doc": [ + "Too many uncles." + ] + }, + { + "name": "GenesisUncle", + "doc": [ + "The uncle is genesis." + ] + }, + { + "name": "TooHighUncle", + "doc": [ + "The uncle is too high in chain." + ] + }, + { + "name": "UncleAlreadyIncluded", + "doc": [ + "The uncle is already included." + ] + }, + { + "name": "OldUncle", + "doc": [ + "The uncle isn't recent enough to be included." + ] + } + ], + "errors_value": { + "type": 171 + }, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 172 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, fixed collators." + ] + }, + { + "name": "Candidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 173 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "Set the list of invulnerable (fixed) collators." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "Set the ideal number of collators (not including the invulnerables).", + "If lowering this number, then the number of running collators could be higher than this figure.", + "Aside from that edge case, there should be no other way to have more collators than the desired number." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "Set the candidacy bond amount." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "Register this account as a collator candidate. The account must (a) already have", + "registered session keys and (b) be able to reserve the `CandidacyBond`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "Deregister `origin` as a collator candidate. Note that the collator can only leave on", + "session change. The `CandidacyBond` will be unreserved immediately.", + "", + "This call will fail if the total number of candidates would drop below `MinCandidates`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + } + ], + "calls_value": { + "type": 176 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": null, + "args": [ + "Vec" + ], + "args_name": [ + "invulnerables" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "NewDesiredCandidates", + "docs": null, + "args": [ + "U32" + ], + "args_name": [ + "desired_candidates" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1502", + "name": "NewCandidacyBond", + "docs": null, + "args": [ + "U128" + ], + "args_name": [ + "bond_amount" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1503", + "name": "CandidateAdded", + "docs": null, + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1504", + "name": "CandidateRemoved", + "docs": null, + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 35 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "Too many candidates" + ] + }, + { + "name": "TooFewCandidates", + "doc": [ + "Too few candidates" + ] + }, + { + "name": "Unknown", + "doc": [ + "Unknown error" + ] + }, + { + "name": "Permission", + "doc": [ + "Permission issue" + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "User is already a candidate" + ] + }, + { + "name": "NotCandidate", + "doc": [ + "User is not a candidate" + ] + }, + { + "name": "TooManyInvulnerables", + "doc": [ + "Too many invulnerables" + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "User is already an Invulnerable" + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID" + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered" + ] + } + ], + "errors_value": { + "type": 177 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 36 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 178 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 95 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 180 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 183, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "Sets the session key(s) of the function caller to `keys`.", + "Allows an account to set its session key prior to becoming a validator.", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be signed.", + "", + "# ", + "- Complexity: `O(1)`. Actual cost depends on the number of length of", + " `T::Keys::key_ids()` which is fixed.", + "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`", + "- DbWrites: `origin account`, `NextKeys`", + "- DbReads per key id: `KeyOwner`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "Removes any session key(s) of the function caller.", + "", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be Signed and the account must be either be", + "convertible to a validator ID using the chain's typical addressing system (this usually", + "means being a controller account) or directly convertible into a validator ID (which", + "usually means being a stash account).", + "", + "# ", + "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length", + " of `T::Keys::key_ids()` which is fixed.", + "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`", + "- DbWrites: `NextKeys`, `origin account`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": null + } + ], + "calls_value": { + "type": 185 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 37 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 186 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 187 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 189 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 187 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will always", + " be updated to the latest AuRa authorities in `on_finalize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 190 + }, + "fallback": "0x00", + "docs": [ + " Status of the inbound XCMP channels." + ] + }, + { + "name": "InboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 196, + "value_id": 12 + } + }, + "fallback": "0x00", + "docs": [ + " Inbound aggregate XCMP messages. It can only be one per ParaId/block." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 197 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 200, + "value_id": 12 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 41, + "value_id": 12 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 201 + }, + "fallback": "0x020000000500000001000000821a06000008000700c817a80400", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32U32Vec", + "keys_id": 10, + "value_id": 202 + } + }, + "fallback": "0x00", + "docs": [ + " The messages that exceeded max individual message weight budget.", + "", + " These message stay in this storage map until they are manually dispatched via", + " `service_overweight`." + ] + }, + { + "name": "OverweightCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 10 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The number of overweight messages ever recorded in `Overweight`. Also doubles as the next", + " available free overweight index." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + } + ], + "calls": [ + { + "lookup": "1e00", + "name": "service_overweight", + "docs": [ + "Services a single overweight XCM.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight XCM to service", + "- `weight_limit`: The amount of weight that XCM execution may take.", + "", + "Errors:", + "- `BadOverweightIndex`: XCM under `index` is not found in the `Overweight` storage map.", + "- `BadXcm`: XCM under `index` cannot be properly decoded into a valid XCM format.", + "- `WeightOverLimit`: XCM execution may use greater `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "XcmWeight" + } + ] + }, + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "Suspends all XCM executions for the XCMP queue, regardless of the sender's origin.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "Resumes all XCM executions for the XCMP queue.", + "", + "Note that this function doesn't change the status of the in/out bound channels.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue for the other side to be told to", + "suspend their sending.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.suspend_value`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue after which we drop any further", + "messages from the channel.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.drop_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "Overwrites the number of pages of messages which the queue must be reduced to before it signals that", + "message sending may recommence after it has been suspended.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.resume_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e06", + "name": "update_threshold_weight", + "docs": [ + "Overwrites the amount of remaining weight under which we stop processing messages.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.threshold_weight`" + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "XcmWeight" + } + ] + }, + { + "lookup": "1e07", + "name": "update_weight_restrict_decay", + "docs": [ + "Overwrites the speed to which the available weight approaches the maximum weight.", + "A lower number results in a faster progression. A value of 1 makes the entire weight available initially.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.weight_restrict_decay`." + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "XcmWeight" + } + ] + }, + { + "lookup": "1e08", + "name": "update_xcmp_max_individual_weight", + "docs": [ + "Overwrite the maximum amount of weight any individual message may consume.", + "Messages above this weight go into the overweight queue and may only be serviced explicitly.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.xcmp_max_individual_weight`." + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "XcmWeight" + } + ] + } + ], + "calls_value": { + "type": 203 + }, + "events": [ + { + "lookup": "1e00", + "name": "Success", + "docs": [ + "Some XCM was executed ok." + ], + "args": [ + "option", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "weight" + ], + "args_type_name": [ + "Option", + "Weight" + ] + }, + { + "lookup": "1e01", + "name": "Fail", + "docs": [ + "Some XCM failed." + ], + "args": [ + "option", + "xcm:v2:traits:Error", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "error", + "weight" + ], + "args_type_name": [ + "Option", + "XcmError", + "Weight" + ] + }, + { + "lookup": "1e02", + "name": "BadVersion", + "docs": [ + "Bad XCM version used." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e03", + "name": "BadFormat", + "docs": [ + "Bad XCM format used." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e04", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e05", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e06", + "name": "OverweightEnqueued", + "docs": [ + "An XCM exceeded the individual message weight budget." + ], + "args": [ + "U32", + "U32", + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "sender", + "sent_at", + "index", + "required" + ], + "args_type_name": [ + "ParaId", + "RelayBlockNumber", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "1e07", + "name": "OverweightServiced", + "docs": [ + "An XCM from the overweight queue was executed with the given actual weight used." + ], + "args": [ + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "index", + "used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 38 + }, + "errors": [ + { + "name": "FailedToSend", + "doc": [ + "Failed to send XCM message." + ] + }, + { + "name": "BadXcmOrigin", + "doc": [ + "Bad XCM origin." + ] + }, + { + "name": "BadXcm", + "doc": [ + "Bad XCM data." + ] + }, + { + "name": "BadOverweightIndex", + "doc": [ + "Bad overweight index." + ] + }, + { + "name": "WeightOverLimit", + "doc": [ + "Provided weight is possibly not enough to execute the message." + ] + } + ], + "errors_value": { + "type": 204 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 10 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 10, + "value_id": 205 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 11, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U32", + "keys_id": 211, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U64", + "keys_id": 211, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "Tuple:U64U64U32", + "keys_id": 211, + "value_id": 212 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 213 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 216 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": null, + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@219", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "Execute an XCM message from a local, signed, origin.", + "", + "An event is deposited indicating whether `msg` could be executed completely or only", + "partially.", + "", + "No more than `max_weight` will be used in its attempted execution. If this is less than the", + "maximum amount of weight that the message could take to be executed, then no execution", + "attempt will be made.", + "", + "NOTE: A successful return to this does *not* imply that the `msg` was executed successfully", + "to completion; only that *some* of it was executed." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@228", + "type_name": "Box::RuntimeCall>>" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "XcmWeight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "Extoll that a particular destination can be communicated with through a particular", + "version of XCM.", + "", + "- `origin`: Must be Root.", + "- `location`: The destination that is being described.", + "- `xcm_version`: The latest version of XCM that `location` supports." + ], + "args": [ + { + "name": "location", + "type": "xcm:v1:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "xcm_version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "Set a safe XCM version (the version that XCM should be encoded with if the most recent", + "version a destination can accept is unknown).", + "", + "- `origin`: Must be Root.", + "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "Ask a location to notify us regarding their XCM version and any changes to it.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we should subscribe for XCM version notifications." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "Require that a particular destination should no longer notify us regarding any XCM", + "version changes.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we are currently subscribed for XCM version", + " notifications which we no longer desire." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + } + ], + "calls_value": { + "type": 218 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted.", + "", + "\\[ outcome \\]" + ], + "args": [ + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent.", + "", + "\\[ origin, destination, message \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "xcm:v1:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiLocation", + "Xcm<()>" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call.", + "", + "\\[ id, response \\]" + ], + "args": [ + "U64", + "xcm:v2:Response" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification could", + "not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result.", + "", + "\\[ id, pallet index, call index, actual weight, max budgeted weight \\]" + ], + "args": [ + "U64", + "U8", + "U8", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "", + "", + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon.", + "", + "\\[ origin location, id, expected location \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "option" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed.", + "", + "\\[ id \\]" + ], + "args": [ + "U64" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap.", + "", + "\\[ hash, origin, assets \\]" + ], + "args": [ + "H256", + "xcm:v1:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "\\[ destination, result \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention.", + "", + "\\[ location, XCM version \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it.", + "", + "\\[ location, query ID, error \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "xcm:v2:traits:Error" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format.", + "", + "\\[ location, query ID \\]" + ], + "args": [ + "xcm:VersionedMultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "VersionedMultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f10", + "name": "AssetsClaimed", + "docs": [ + "Some assets have been claimed from an asset trap", + "", + "\\[ hash, origin, assets \\]" + ], + "args": [ + "H256", + "xcm:v1:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + } + ], + "events_value": { + "type": 42 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message. Perhaps", + "a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `MultiLocation` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + } + ], + "errors_value": { + "type": 241 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 8]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 8]", + "Outcome" + ] + } + ], + "events_value": { + "type": 81 + }, + "errors": null, + "errors_value": { + "type": 242 + }, + "index": 32 + }, + { + "name": "DmpQueue", + "prefix": "DmpQueue", + "storage": [ + { + "name": "Configuration", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 243 + }, + "fallback": "0x0700e40b540200", + "docs": [ + " The configuration." + ] + }, + { + "name": "PageIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_dmp_queue:PageIndexData", + "PlainTypeValue": 244 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The page index." + ] + }, + { + "name": "Pages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec>", + "keys_id": 4, + "value_id": 245 + } + }, + "fallback": "0x00", + "docs": [ + " The queue pages." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32Vec", + "keys_id": 10, + "value_id": 246 + } + }, + "fallback": "0x00", + "docs": [ + " The overweight messages." + ] + } + ], + "calls": [ + { + "lookup": "2100", + "name": "service_overweight", + "docs": [ + "Service a single overweight message.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight message to service.", + "- `weight_limit`: The amount of weight that message execution may take.", + "", + "Errors:", + "- `Unknown`: Message of `index` is unknown.", + "- `OverLimit`: Message execution may use greater than `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "XcmWeight" + } + ] + } + ], + "calls_value": { + "type": 247 + }, + "events": [ + { + "lookup": "2100", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2101", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2102", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome." + ], + "args": [ + "[U8; 32]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "message_id", + "outcome" + ], + "args_type_name": [ + "MessageId", + "Outcome" + ] + }, + { + "lookup": "2103", + "name": "WeightExhausted", + "docs": [ + "The weight limit for handling downward messages was reached." + ], + "args": [ + "[U8; 32]", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_id", + "remaining_weight", + "required_weight" + ], + "args_type_name": [ + "MessageId", + "Weight", + "Weight" + ] + }, + { + "lookup": "2104", + "name": "OverweightEnqueued", + "docs": [ + "Downward message is overweight and was placed in the overweight queue." + ], + "args": [ + "[U8; 32]", + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_id", + "overweight_index", + "required_weight" + ], + "args_type_name": [ + "MessageId", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "2105", + "name": "OverweightServiced", + "docs": [ + "Downward message from the overweight queue was executed." + ], + "args": [ + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "overweight_index", + "weight_used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 82 + }, + "errors": [ + { + "name": "Unknown", + "doc": [ + "The message index given is unknown." + ] + }, + { + "name": "OverLimit", + "doc": [ + "The amount of weight given is possibly not enough for executing the message." + ] + } + ], + "errors_value": { + "type": 248 + }, + "index": 33 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "Send a batch of dispatch calls.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# ", + "", + "This will return `Ok` in all circumstances. To determine the success of the batch, an", + "event is deposited. If a call failed and the batch was interrupted, then the", + "`BatchInterrupted` event is deposited, along with the number of successful calls made", + "and the error of the failed call. If all were successful, then the `BatchCompleted`", + "event is deposited." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "Send a call through an indexed pseudonym of the sender.", + "", + "Filter from origin are passed along. The call will be dispatched with an origin which", + "use the same filter as the origin of this call.", + "", + "NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", + "because you expect `proxy` to have been used prior in the call stack and you do not want", + "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", + "in the Multisig pallet instead.", + "", + "NOTE: Prior to version *12, this was called `as_limited_sub`.", + "", + "The dispatch origin for this call must be _Signed_." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "Send a batch of dispatch calls and atomically execute them.", + "The whole transaction will rollback and fail if any of the calls failed.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# " + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "Dispatches a function call with a provided origin.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "# ", + "- O(1).", + "- Limited storage reads.", + "- One DB write (event).", + "- Weight of derivative `call` execution + T::WeightInfo::dispatch_as().", + "# " + ], + "args": [ + { + "name": "as_origin", + "type": "statemint_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2804", + "name": "force_batch", + "docs": [ + "Send a batch of dispatch calls.", + "Unlike `batch`, it allows errors and won't interrupt.", + "", + "May be called from any origin.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then call are dispatch without checking origin filter. (This includes", + "bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# " + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + } + ], + "calls_value": { + "type": 249 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "BatchCompletedWithErrors", + "docs": [ + "Batch of dispatches completed but has errors." + ], + "args": null + }, + { + "lookup": "2803", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2804", + "name": "ItemFailed", + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ], + "args": [ + "sp_runtime:DispatchError" + ], + "args_name": [ + "error" + ], + "args_type_name": [ + "DispatchError" + ] + }, + { + "lookup": "2805", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 83 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 267 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 268, + "value_id": 269 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "Immediately dispatch a multi-signature call using a single approval from the caller.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `other_signatories`: The accounts (other than the sender) who are part of the", + "multi-signature, but do not participate in the approval process.", + "- `call`: The call to be executed.", + "", + "Result is equivalent to the dispatched result.", + "", + "# ", + "O(Z + C) where Z is the length of the call and C its execution weight.", + "-------------------------------", + "- DB Weight: None", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "If there are enough, then dispatch the call.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call`: The call to be executed.", + "", + "NOTE: Unless this is the final approval, you will generally want to use", + "`approve_as_multi` instead, since it only requires a hash of the call.", + "", + "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", + "on success, result is `Ok` and the result from the interior call, if it was executed,", + "may be found in the deposited `MultisigExecuted` event.", + "", + "# ", + "- `O(S + Z + Call)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- The weight of the `call`.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "-------------------------------", + "- DB Weight:", + " - Reads: Multisig Storage, [Caller Account]", + " - Writes: Multisig Storage, [Caller Account]", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call_hash`: The hash of the call to be executed.", + "", + "NOTE: If this is the final approval, you will want to use `as_multi` instead.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account]", + " - Write: Multisig Storage, [Caller Account]", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", + "for this operation will be unreserved on success.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `timepoint`: The timepoint (block number and transaction index) of the first approval", + "transaction for this dispatch.", + "- `call_hash`: The hash of the call to be executed.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- One event.", + "- I/O: 1 read `O(S)`, one remove.", + "- Storage: removes one item.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account], Refund Account", + " - Write: Multisig Storage, [Caller Account], Refund Account", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 252 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 86 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00dbbb77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "00d43000000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U16", + "type_value": 90, + "constants_value": "6400", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 270 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:VecU128", + "keys_id": 0, + "value_id": 271 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:VecU128", + "keys_id": 0, + "value_id": 275 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorised for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "Register a proxy account for the sender that is able to make calls on its behalf.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to make a proxy.", + "- `proxy_type`: The permissions allowed for this proxy account.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "Unregister a proxy account for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to remove as a proxy.", + "- `proxy_type`: The permissions currently enabled for the removed proxy account." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "Unregister all proxy accounts for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "WARNING: This may be called on accounts created by `pure`, however if done, then", + "the unreserved fees will be inaccessible. **All access to this account will be lost.**" + ], + "args": null + }, + { + "lookup": "2a04", + "name": "create_pure", + "docs": [ + "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", + "initialize it with a proxy of `proxy_type` for `origin` sender.", + "", + "Requires a `Signed` origin.", + "", + "- `proxy_type`: The type of the proxy that the sender will be registered as over the", + "new account. This will almost always be the most permissive `ProxyType` possible to", + "allow for maximum flexibility.", + "- `index`: A disambiguation index, in case this is called multiple times in the same", + "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", + "want to use `0`.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "Fails with `Duplicate` if this has already been called in this transaction, from the", + "same sender, with the same parameters.", + "", + "Fails if there are insufficient funds to pay for deposit." + ], + "args": [ + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_pure", + "docs": [ + "Removes a previously spawned pure proxy.", + "", + "WARNING: **All access to this account will be lost.** Any funds held in it will be", + "inaccessible.", + "", + "Requires a `Signed` origin, and the sender account must have been created by a call to", + "`pure` with corresponding parameters.", + "", + "- `spawner`: The account that originally called `pure` to create this account.", + "- `index`: The disambiguation index originally passed to `pure`. Probably `0`.", + "- `proxy_type`: The proxy type originally passed to `pure`.", + "- `height`: The height of the chain when the call to `pure` was processed.", + "- `ext_index`: The extrinsic index in which the call to `pure` was processed.", + "", + "Fails with `NoPermission` in case the caller is not a previously created pure", + "account whose `pure` call has corresponding parameters." + ], + "args": [ + { + "name": "spawner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumber" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "Publish the hash of a proxy-call that will be made in the future.", + "", + "This must be called some number of blocks before the corresponding `proxy` is attempted", + "if the delay associated with the proxy relationship is greater than zero.", + "", + "No more than `MaxPending` announcements may be made at any one time.", + "", + "This will take a deposit of `AnnouncementDepositFactor` as well as", + "`AnnouncementDepositBase` if there are no other pending announcements.", + "", + "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "Remove a given announcement.", + "", + "May be called by a proxy account to remove a call they previously announced and return", + "the deposit.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "Remove the given announcement of a delegate.", + "", + "May be called by a target (proxied) account to remove a call that one of their delegates", + "(`delegate`) has announced they want to execute. The deposit is returned.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `delegate`: The account that previously announced the call.", + "- `call_hash`: The hash of the call to be made." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorized for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + } + ], + "calls_value": { + "type": 254 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "PureCreated", + "docs": [ + "A pure account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U16" + ], + "args_name": [ + "pure", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + }, + { + "lookup": "2a04", + "name": "ProxyRemoved", + "docs": [ + "A proxy was removed." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + } + ], + "events_value": { + "type": 88 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "009d7277000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "a05a3200000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00d27e77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "40b56400000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 279 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 280 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 281, + "value_id": 282 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 284, + "value_id": 285 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata", + "keys_id": 4, + "value_id": 286 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "destroy", + "docs": [ + "Destroy a class of fungible assets.", + "", + "The origin must conform to `ForceOrigin` or must be Signed and the sender must be the", + "owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + "asset.", + "", + "Emits `Destroyed` event when successful.", + "", + "NOTE: It can be helpful to first freeze an asset before destroying it so that you", + "can provide accurate witness information and prevent users from manipulating state", + "in a way that can make it harder to destroy.", + "", + "Weight: `O(c + p + a)` where:", + "- `c = (witness.accounts - witness.sufficients)`", + "- `s = witness.sufficients`", + "- `a = witness.approvals`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "witness", + "type": "pallet_assets:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3203", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3204", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3205", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3206", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers from an account.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3209", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320a", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "320b", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "320c", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320d", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320e", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "320f", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3210", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3211", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3212", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3213", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3214", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3215", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3216", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "touch", + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3218", + "name": "refund", + "docs": [ + "Return the deposit (if any) of an asset account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for the account to be created.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 256 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "total_supply" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320b", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320c", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "320d", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "320f", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3210", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3211", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + } + ], + "events_value": { + "type": 91 + }, + "constants": [ + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "NoProvider", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or the", + "maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + } + ], + "errors_value": { + "type": 288 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionDetails", + "keys_id": 4, + "value_id": 289 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 290, + "value_id": 85 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 291, + "value_id": 85 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemDetails", + "keys_id": 102, + "value_id": 292 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionMetadata", + "keys_id": 4, + "value_id": 293 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemMetadata", + "keys_id": 102, + "value_id": 294 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 295, + "value_id": 296 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 102, + "value_id": 297 + } + }, + "fallback": "0x00", + "docs": [ + " Price of an asset instance." + ] + }, + { + "name": "CollectionMaxSupply", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U32", + "keys_id": 4, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " Keeps track of the number of items a collection might have." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "`ItemDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `collection`: The identifier of the new collection. This must not be currently in use.", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `collection`: The identifier of the new item. This must not be currently in use.", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions", + "over this item, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.items`", + "- `m = witness.item_metadatas`", + "- `a = witness.attributes`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must be the Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: The item value of the item to be minted.", + "- `beneficiary`: The initial owner of the minted item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "Destroy a single item.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item of the item to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " item is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "Move an item from the sender account to another.", + "", + "This resets the approved account of the item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item of the item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "Reevaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown of the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be frozen.", + "- `item`: The item of the item to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be thawed.", + "- `item`: The item of the item to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_collection", + "docs": [ + "Disallow further unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "", + "Emits `CollectionFrozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_collection", + "docs": [ + "Re-allow unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection to be thawed.", + "", + "Emits `CollectionThawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be", + "either the owner of the `item` or the admin of the collection.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item of the item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "", + "Important NOTE: The `approved` account gets reset after each transfer.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "Cancel the prior approval for the transfer of an item by a delegate.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the `collection`;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the item of whose approval will be cancelled.", + "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", + " which permission of transfer is delegated.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "330f", + "name": "force_item_status", + "docs": [ + "Alter the attributes of a given item.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the item.", + "- `owner`: The new Owner of this item.", + "- `issuer`: The new Issuer of this item.", + "- `admin`: The new Admin of this item.", + "- `freezer`: The new Freezer of this item.", + "- `free_holding`: Whether a deposit is taken for holding an item of this collection.", + "- `is_frozen`: Whether this collection is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `ItemStatusChanged` with the identity of the item.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3314", + "name": "set_collection_metadata", + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_collection_metadata", + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "3316", + "name": "set_accept_ownership", + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3317", + "name": "set_collection_max_supply", + "docs": [ + "Set the maximum amount of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Note: This function can only succeed once per collection.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum amount of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "3318", + "name": "set_price", + "docs": [ + "Set (or reset) the price for an item.", + "", + "Origin must be Signed and must be the owner of the asset `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item to set the price for.", + "- `price`: The price for the item. Pass `None`, to reset the price.", + "- `buyer`: Restricts the buy operation to a specific account.", + "", + "Emits `ItemPriceSet` on success if the price is not `None`.", + "Emits `ItemPriceRemoved` on success if the price is `None`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3319", + "name": "buy_item", + "docs": [ + "Allows to buy an item if it's up for sale.", + "", + "Origin must be Signed and must not be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item the sender wants to buy.", + "- `bid_price`: The price the sender is willing to pay.", + "", + "Emits `ItemBought` on success." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + } + ], + "calls_value": { + "type": 258 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some `item` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some `item` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3308", + "name": "CollectionFrozen", + "docs": [ + "Some `collection` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3309", + "name": "CollectionThawed", + "docs": [ + "Some `collection` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "ItemStatusChanged", + "docs": [ + "A `collection` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330f", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "item", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec" + ] + }, + { + "lookup": "3316", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "3317", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "3318", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the instance." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "3319", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the instance was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "331a", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + } + ], + "events_value": { + "type": 93 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The item ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The item or collection is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership of the collection is acceptable." + ] + }, + { + "name": "Locked", + "doc": [ + "The item is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyAlreadySet", + "doc": [ + "The max supply has already been set." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less to the amount of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + } + ], + "errors_value": { + "type": 298 + }, + "index": 51 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v9330.json b/src/demo_substrate_events/abi/assethub/v9330.json new file mode 100644 index 000000000..3a236c19f --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v9330.json @@ -0,0 +1,9578 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:dispatch:PerDispatchClass@7", + "PlainTypeValue": 7 + }, + "fallback": "0x000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 11 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 12 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 17 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: The item is unbound and should therefore never be read on chain.", + " It could otherwise inflate the PoV size of a block.", + "", + " Events have a large in-memory size. Box the events to not go out-of-memory", + " just in case someone still reads them from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 11, + "value_id": 101 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 103 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 99 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "fill_block", + "docs": [ + "A dispatch that will fill the block weight up to the given ratio." + ], + "args": [ + { + "name": "ratio", + "type": "U32", + "type_name": "Perbill" + } + ] + }, + { + "lookup": "0001", + "name": "remark", + "docs": [ + "Make some on-chain remark.", + "", + "# ", + "- `O(1)`", + "# " + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0002", + "name": "set_heap_pages", + "docs": [ + "Set the number of pages in the WebAssembly environment's heap." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0003", + "name": "set_code", + "docs": [ + "Set the new runtime code.", + "", + "# ", + "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`", + "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is", + " expensive).", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime, but generally this is very", + "expensive. We will treat this as a full block.", + "# " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_code_without_checks", + "docs": [ + "Set the new runtime code without doing any checks of the given `code`.", + "", + "# ", + "- `O(C)` where `C` length of `code`", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime. We will treat this as a full", + "block. # " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0005", + "name": "set_storage", + "docs": [ + "Set some items of storage." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_storage", + "docs": [ + "Kill some items from storage." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0007", + "name": "kill_prefix", + "docs": [ + "Kill all storage items with a key that starts with the given prefix.", + "", + "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", + "the prefix we are removing to accurately calculate the weight of this function." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0008", + "name": "remark_with_event", + "docs": [ + "Make some on-chain remark and emit event." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 105 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + } + ], + "events_value": { + "type": 20 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 110, + "constants_value": "0700f2052a0100070088526a74020040010265cd1d000107c0d22c76510200e000010700e6bd4f570200f0000100000265cd1d000107c074c1906e0200300101070088526a7402004001010700a2941a1d020050000265cd1d00000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:dispatch:PerDispatchClass@115", + "type_value": 114, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "00100000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "sp_weights:RuntimeDbWeight", + "type_value": 116, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 117, + "constants_value": "2473746174656d696e742473746174656d696e740100000072240000000000002cdd718d5cc53262d401000000df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a802000000f3ff14d5ab52705902000000ea93e3f16f3d6962020000000a00000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 90, + "constants_value": "0000", + "docs": [ + " The designated SS58 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + } + ], + "errors_value": { + "type": 121 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 12 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][well_known_keys::CODE]", + " which will result the next block process with the new validation code. This concludes the upgrade process.", + "", + " [well_known_keys::CODE]: sp_core::storage::well_known_keys::CODE" + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 12 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v2:PersistedValidationData", + "PlainTypeValue": 122 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "LastRelayChainBlockNumber", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The relay chain block number associated with the last parachain block." + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 124 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelayStateProof", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 126 + }, + "fallback": "0x00", + "docs": [ + " The state proof for the last relay parent block.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 128 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v2:AbridgedHostConfiguration", + "PlainTypeValue": 132 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 133 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 134 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 137 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 109 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 109 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 11 + }, + "fallback": "0x00", + "docs": [ + " The next authorized upgrade, if there is one." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 12 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See [`Pallet::set_custom_validation_head_data`] for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "Set the current validation data.", + "", + "This should be invoked exactly once per block. It will panic at the finalization", + "phase if the call was not invoked.", + "", + "The dispatch origin for this call must be `Inherent`", + "", + "As a side effect, this function upgrades the current validation function", + "if the appropriate time has come." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": null, + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": null, + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": null, + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 139 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "relay_chain_block_num" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade has been authorized." + ], + "args": [ + "H256" + ], + "args_name": [ + "code_hash" + ], + "args_type_name": [ + "Hash" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed." + ], + "args": [ + "U32" + ], + "args_name": [ + "count" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0105", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight." + ], + "args": [ + "sp_weights:weight_v2:Weight", + "H256" + ], + "args_name": [ + "weight_used", + "dmq_head" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + } + ], + "events_value": { + "type": 29 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending" + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function" + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run" + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block" + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block" + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 148 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 10 + }, + "fallback": "0x0000000000000000", + "docs": [ + " Current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Did the timestamp get updated in this block?" + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "Set the current time.", + "", + "This call should be invoked exactly once per block. It will panic at the finalization", + "phase, if this call hasn't been invoked by that time.", + "", + "The timestamp should be greater than the previous one by the amount specified by", + "`MinimumPeriod`.", + "", + "The dispatch origin for this call must be `Inherent`.", + "", + "# ", + "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", + "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in", + " `on_finalize`)", + "- 1 event handler `on_timestamp_set`. Must be `O(1)`.", + "# " + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 149 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 10, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks. Beware that this is different to the *expected*", + " period that the block production apparatus provides. Your chosen consensus system will", + " generally work with this to determine a sensible block time. e.g. For Aura, it will be", + " double this period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 41 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 150 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 154 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances." + ] + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_balances:Releases", + "PlainTypeValue": 157 + }, + "fallback": "0x00", + "docs": [ + " Storage version of the pallet.", + "", + " This is set to v2.0.0 for new networks." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer", + "docs": [ + "Transfer some liquid free balance to another account.", + "", + "`transfer` will set the `FreeBalance` of the sender and receiver.", + "If the sender's account is below the existential deposit as a result", + "of the transfer, the account will be reaped.", + "", + "The dispatch origin for this call must be `Signed` by the transactor.", + "", + "# ", + "- Dependent on arguments but not critical, given proper implementations for input config", + " types. See related functions below.", + "- It contains a limited number of reads and writes internally and no complex", + " computation.", + "", + "Related functions:", + "", + " - `ensure_can_withdraw` is always called internally but has a bounded complexity.", + " - Transferring balances to accounts that did not exist before will cause", + " `T::OnNewAccount::on_new_account` to be called.", + " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.", + " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check", + " that the transfer will not kill the origin account.", + "---------------------------------", + "- Origin account is already in memory, so no DB operations for them.", + "# " + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a01", + "name": "set_balance", + "docs": [ + "Set the balances of a given account.", + "", + "This will alter `FreeBalance` and `ReservedBalance` in storage. it will", + "also alter the total issuance of the system (`TotalIssuance`) appropriately.", + "If the new free or reserved balance is below the existential deposit,", + "it will reset the account nonce (`frame_system::AccountNonce`).", + "", + "The dispatch origin for this call is `root`." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "new_reserved", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "Exactly as `transfer`, except the origin must be root and the source account may be", + "specified.", + "# ", + "- Same as transfer, but additional read and write because the source account is not", + " assumed to be in the overlay.", + "# " + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "Same as the [`transfer`] call, but with a check that the transfer will not kill the", + "origin account.", + "", + "99% of the time you want [`transfer`] instead.", + "", + "[`transfer`]: struct.Pallet.html#method.transfer" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "Transfer the entire transferable balance from the caller account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the account has, causing the sender account to be killed (false), or", + " transfer everything except at least the existential deposit, which will guarantee to", + " keep the sender account alive (true). # ", + "- O(1). Just like transfer, but reading the user's transferable balance first.", + " #" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "Unreserve some balance from a user by force.", + "", + "Can only be called by ROOT." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 158 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "free", + "reserved" + ], + "args_type_name": [ + "AccountId", + "Balance", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 30 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open." + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value" + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal" + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value." + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit" + ] + }, + { + "name": "KeepAlive", + "doc": [ + "Transfer/payment would kill account" + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account" + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist" + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed MaxReserves" + ] + } + ], + "errors_value": { + "type": 161 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 162 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 163 + }, + "fallback": "0x00", + "docs": null + } + ], + "events": [ + { + "lookup": "0b00", + "name": "TransactionFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who`." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "actual_fee", + "tip" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf" + ] + } + ], + "events_value": { + "type": 32 + }, + "constants": [ + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "0c00", + "name": "AssetTxFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who` in an asset `asset_id`." + ], + "args": [ + "AccountId", + "U128", + "U128", + "option" + ], + "args_name": [ + "who", + "actual_fee", + "tip", + "asset_id" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf", + "Option" + ] + } + ], + "events_value": { + "type": 33 + }, + "errors": null, + "errors_value": null, + "index": 12 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Uncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 164 + }, + "fallback": "0x00", + "docs": [ + " Uncles" + ] + }, + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + }, + { + "name": "DidSetUncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Whether uncles were already set in this block." + ] + } + ], + "calls": [ + { + "lookup": "1400", + "name": "set_uncles", + "docs": [ + "Provide a set of uncles." + ], + "args": [ + { + "name": "new_uncles", + "type": "Vec", + "type_name": "Vec
" + } + ] + } + ], + "calls_value": { + "type": 167 + }, + "constants": [ + { + "name": "UncleGenerations", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The number of blocks back we should accept uncles.", + " This means that we will deal with uncle-parents that are", + " `UncleGenerations + 1` before `now`." + ] + } + ], + "errors": [ + { + "name": "InvalidUncleParent", + "doc": [ + "The uncle parent not in the chain." + ] + }, + { + "name": "UnclesAlreadySet", + "doc": [ + "Uncles already set in the block." + ] + }, + { + "name": "TooManyUncles", + "doc": [ + "Too many uncles." + ] + }, + { + "name": "GenesisUncle", + "doc": [ + "The uncle is genesis." + ] + }, + { + "name": "TooHighUncle", + "doc": [ + "The uncle is too high in chain." + ] + }, + { + "name": "UncleAlreadyIncluded", + "doc": [ + "The uncle is already included." + ] + }, + { + "name": "OldUncle", + "doc": [ + "The uncle isn't recent enough to be included." + ] + } + ], + "errors_value": { + "type": 171 + }, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 172 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, fixed collators." + ] + }, + { + "name": "Candidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 173 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "Set the list of invulnerable (fixed) collators." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "Set the ideal number of collators (not including the invulnerables).", + "If lowering this number, then the number of running collators could be higher than this figure.", + "Aside from that edge case, there should be no other way to have more collators than the desired number." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "Set the candidacy bond amount." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "Register this account as a collator candidate. The account must (a) already have", + "registered session keys and (b) be able to reserve the `CandidacyBond`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "Deregister `origin` as a collator candidate. Note that the collator can only leave on", + "session change. The `CandidacyBond` will be unreserved immediately.", + "", + "This call will fail if the total number of candidates would drop below `MinCandidates`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + } + ], + "calls_value": { + "type": 176 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": null, + "args": [ + "Vec" + ], + "args_name": [ + "invulnerables" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "NewDesiredCandidates", + "docs": null, + "args": [ + "U32" + ], + "args_name": [ + "desired_candidates" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1502", + "name": "NewCandidacyBond", + "docs": null, + "args": [ + "U128" + ], + "args_name": [ + "bond_amount" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1503", + "name": "CandidateAdded", + "docs": null, + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1504", + "name": "CandidateRemoved", + "docs": null, + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 35 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "Too many candidates" + ] + }, + { + "name": "TooFewCandidates", + "doc": [ + "Too few candidates" + ] + }, + { + "name": "Unknown", + "doc": [ + "Unknown error" + ] + }, + { + "name": "Permission", + "doc": [ + "Permission issue" + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "User is already a candidate" + ] + }, + { + "name": "NotCandidate", + "doc": [ + "User is not a candidate" + ] + }, + { + "name": "TooManyInvulnerables", + "doc": [ + "Too many invulnerables" + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "User is already an Invulnerable" + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID" + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered" + ] + } + ], + "errors_value": { + "type": 177 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 36 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 178 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 95 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 180 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 183, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "Sets the session key(s) of the function caller to `keys`.", + "Allows an account to set its session key prior to becoming a validator.", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be signed.", + "", + "# ", + "- Complexity: `O(1)`. Actual cost depends on the number of length of", + " `T::Keys::key_ids()` which is fixed.", + "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`", + "- DbWrites: `origin account`, `NextKeys`", + "- DbReads per key id: `KeyOwner`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "Removes any session key(s) of the function caller.", + "", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be Signed and the account must be either be", + "convertible to a validator ID using the chain's typical addressing system (this usually", + "means being a controller account) or directly convertible into a validator ID (which", + "usually means being a stash account).", + "", + "# ", + "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length", + " of `T::Keys::key_ids()` which is fixed.", + "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`", + "- DbWrites: `NextKeys`, `origin account`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": null + } + ], + "calls_value": { + "type": 185 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 37 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 186 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 187 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 189 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 187 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will always", + " be updated to the latest AuRa authorities in `on_finalize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 190 + }, + "fallback": "0x00", + "docs": [ + " Status of the inbound XCMP channels." + ] + }, + { + "name": "InboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 196, + "value_id": 12 + } + }, + "fallback": "0x00", + "docs": [ + " Inbound aggregate XCMP messages. It can only be one per ParaId/block." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 197 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 200, + "value_id": 12 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 41, + "value_id": 12 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 201 + }, + "fallback": "0x020000000500000001000000821a06000008000700c817a80402000400", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32U32Vec", + "keys_id": 10, + "value_id": 202 + } + }, + "fallback": "0x00", + "docs": [ + " The messages that exceeded max individual message weight budget.", + "", + " These message stay in this storage map until they are manually dispatched via", + " `service_overweight`." + ] + }, + { + "name": "OverweightCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 10 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The number of overweight messages ever recorded in `Overweight`. Also doubles as the next", + " available free overweight index." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + } + ], + "calls": [ + { + "lookup": "1e00", + "name": "service_overweight", + "docs": [ + "Services a single overweight XCM.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight XCM to service", + "- `weight_limit`: The amount of weight that XCM execution may take.", + "", + "Errors:", + "- `BadOverweightIndex`: XCM under `index` is not found in the `Overweight` storage map.", + "- `BadXcm`: XCM under `index` cannot be properly decoded into a valid XCM format.", + "- `WeightOverLimit`: XCM execution may use greater `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "XcmWeight" + } + ] + }, + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "Suspends all XCM executions for the XCMP queue, regardless of the sender's origin.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "Resumes all XCM executions for the XCMP queue.", + "", + "Note that this function doesn't change the status of the in/out bound channels.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue for the other side to be told to", + "suspend their sending.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.suspend_value`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue after which we drop any further", + "messages from the channel.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.drop_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "Overwrites the number of pages of messages which the queue must be reduced to before it signals that", + "message sending may recommence after it has been suspended.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.resume_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e06", + "name": "update_threshold_weight", + "docs": [ + "Overwrites the amount of remaining weight under which we stop processing messages.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.threshold_weight`" + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "XcmWeight" + } + ] + }, + { + "lookup": "1e07", + "name": "update_weight_restrict_decay", + "docs": [ + "Overwrites the speed to which the available weight approaches the maximum weight.", + "A lower number results in a faster progression. A value of 1 makes the entire weight available initially.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.weight_restrict_decay`." + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "XcmWeight" + } + ] + }, + { + "lookup": "1e08", + "name": "update_xcmp_max_individual_weight", + "docs": [ + "Overwrite the maximum amount of weight any individual message may consume.", + "Messages above this weight go into the overweight queue and may only be serviced explicitly.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.xcmp_max_individual_weight`." + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "XcmWeight" + } + ] + } + ], + "calls_value": { + "type": 203 + }, + "events": [ + { + "lookup": "1e00", + "name": "Success", + "docs": [ + "Some XCM was executed ok." + ], + "args": [ + "option", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "weight" + ], + "args_type_name": [ + "Option", + "Weight" + ] + }, + { + "lookup": "1e01", + "name": "Fail", + "docs": [ + "Some XCM failed." + ], + "args": [ + "option", + "xcm:v2:traits:Error", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "error", + "weight" + ], + "args_type_name": [ + "Option", + "XcmError", + "Weight" + ] + }, + { + "lookup": "1e02", + "name": "BadVersion", + "docs": [ + "Bad XCM version used." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e03", + "name": "BadFormat", + "docs": [ + "Bad XCM format used." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e04", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e05", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e06", + "name": "OverweightEnqueued", + "docs": [ + "An XCM exceeded the individual message weight budget." + ], + "args": [ + "U32", + "U32", + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "sender", + "sent_at", + "index", + "required" + ], + "args_type_name": [ + "ParaId", + "RelayBlockNumber", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "1e07", + "name": "OverweightServiced", + "docs": [ + "An XCM from the overweight queue was executed with the given actual weight used." + ], + "args": [ + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "index", + "used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 38 + }, + "errors": [ + { + "name": "FailedToSend", + "doc": [ + "Failed to send XCM message." + ] + }, + { + "name": "BadXcmOrigin", + "doc": [ + "Bad XCM origin." + ] + }, + { + "name": "BadXcm", + "doc": [ + "Bad XCM data." + ] + }, + { + "name": "BadOverweightIndex", + "doc": [ + "Bad overweight index." + ] + }, + { + "name": "WeightOverLimit", + "doc": [ + "Provided weight is possibly not enough to execute the message." + ] + } + ], + "errors_value": { + "type": 204 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 10 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 10, + "value_id": 205 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 11, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U32", + "keys_id": 211, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U64", + "keys_id": 211, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "Tuple:U64U64U32", + "keys_id": 211, + "value_id": 212 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 213 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 216 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": null, + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@219", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "Execute an XCM message from a local, signed, origin.", + "", + "An event is deposited indicating whether `msg` could be executed completely or only", + "partially.", + "", + "No more than `max_weight` will be used in its attempted execution. If this is less than the", + "maximum amount of weight that the message could take to be executed, then no execution", + "attempt will be made.", + "", + "NOTE: A successful return to this does *not* imply that the `msg` was executed successfully", + "to completion; only that *some* of it was executed." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@228", + "type_name": "Box::RuntimeCall>>" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "XcmWeight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "Extoll that a particular destination can be communicated with through a particular", + "version of XCM.", + "", + "- `origin`: Must be Root.", + "- `location`: The destination that is being described.", + "- `xcm_version`: The latest version of XCM that `location` supports." + ], + "args": [ + { + "name": "location", + "type": "xcm:v1:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "xcm_version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "Set a safe XCM version (the version that XCM should be encoded with if the most recent", + "version a destination can accept is unknown).", + "", + "- `origin`: Must be Root.", + "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "Ask a location to notify us regarding their XCM version and any changes to it.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we should subscribe for XCM version notifications." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "Require that a particular destination should no longer notify us regarding any XCM", + "version changes.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we are currently subscribed for XCM version", + " notifications which we no longer desire." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + } + ], + "calls_value": { + "type": 218 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted.", + "", + "\\[ outcome \\]" + ], + "args": [ + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent.", + "", + "\\[ origin, destination, message \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "xcm:v1:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiLocation", + "Xcm<()>" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call.", + "", + "\\[ id, response \\]" + ], + "args": [ + "U64", + "xcm:v2:Response" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification could", + "not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result.", + "", + "\\[ id, pallet index, call index, actual weight, max budgeted weight \\]" + ], + "args": [ + "U64", + "U8", + "U8", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "", + "", + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon.", + "", + "\\[ origin location, id, expected location \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "option" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed.", + "", + "\\[ id \\]" + ], + "args": [ + "U64" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap.", + "", + "\\[ hash, origin, assets \\]" + ], + "args": [ + "H256", + "xcm:v1:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "\\[ destination, result \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention.", + "", + "\\[ location, XCM version \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it.", + "", + "\\[ location, query ID, error \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "xcm:v2:traits:Error" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format.", + "", + "\\[ location, query ID \\]" + ], + "args": [ + "xcm:VersionedMultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "VersionedMultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f10", + "name": "AssetsClaimed", + "docs": [ + "Some assets have been claimed from an asset trap", + "", + "\\[ hash, origin, assets \\]" + ], + "args": [ + "H256", + "xcm:v1:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + } + ], + "events_value": { + "type": 42 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message. Perhaps", + "a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `MultiLocation` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + } + ], + "errors_value": { + "type": 241 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 8]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 8]", + "Outcome" + ] + } + ], + "events_value": { + "type": 81 + }, + "errors": null, + "errors_value": { + "type": 242 + }, + "index": 32 + }, + { + "name": "DmpQueue", + "prefix": "DmpQueue", + "storage": [ + { + "name": "Configuration", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 243 + }, + "fallback": "0x0700e40b540202000400", + "docs": [ + " The configuration." + ] + }, + { + "name": "PageIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_dmp_queue:PageIndexData", + "PlainTypeValue": 244 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The page index." + ] + }, + { + "name": "Pages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec>", + "keys_id": 4, + "value_id": 245 + } + }, + "fallback": "0x00", + "docs": [ + " The queue pages." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32Vec", + "keys_id": 10, + "value_id": 246 + } + }, + "fallback": "0x00", + "docs": [ + " The overweight messages." + ] + } + ], + "calls": [ + { + "lookup": "2100", + "name": "service_overweight", + "docs": [ + "Service a single overweight message.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight message to service.", + "- `weight_limit`: The amount of weight that message execution may take.", + "", + "Errors:", + "- `Unknown`: Message of `index` is unknown.", + "- `OverLimit`: Message execution may use greater than `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "XcmWeight" + } + ] + } + ], + "calls_value": { + "type": 247 + }, + "events": [ + { + "lookup": "2100", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2101", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2102", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome." + ], + "args": [ + "[U8; 32]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "message_id", + "outcome" + ], + "args_type_name": [ + "MessageId", + "Outcome" + ] + }, + { + "lookup": "2103", + "name": "WeightExhausted", + "docs": [ + "The weight limit for handling downward messages was reached." + ], + "args": [ + "[U8; 32]", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_id", + "remaining_weight", + "required_weight" + ], + "args_type_name": [ + "MessageId", + "Weight", + "Weight" + ] + }, + { + "lookup": "2104", + "name": "OverweightEnqueued", + "docs": [ + "Downward message is overweight and was placed in the overweight queue." + ], + "args": [ + "[U8; 32]", + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_id", + "overweight_index", + "required_weight" + ], + "args_type_name": [ + "MessageId", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "2105", + "name": "OverweightServiced", + "docs": [ + "Downward message from the overweight queue was executed." + ], + "args": [ + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "overweight_index", + "weight_used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 82 + }, + "errors": [ + { + "name": "Unknown", + "doc": [ + "The message index given is unknown." + ] + }, + { + "name": "OverLimit", + "doc": [ + "The amount of weight given is possibly not enough for executing the message." + ] + } + ], + "errors_value": { + "type": 248 + }, + "index": 33 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "Send a batch of dispatch calls.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatched without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# ", + "", + "This will return `Ok` in all circumstances. To determine the success of the batch, an", + "event is deposited. If a call failed and the batch was interrupted, then the", + "`BatchInterrupted` event is deposited, along with the number of successful calls made", + "and the error of the failed call. If all were successful, then the `BatchCompleted`", + "event is deposited." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "Send a call through an indexed pseudonym of the sender.", + "", + "Filter from origin are passed along. The call will be dispatched with an origin which", + "use the same filter as the origin of this call.", + "", + "NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", + "because you expect `proxy` to have been used prior in the call stack and you do not want", + "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", + "in the Multisig pallet instead.", + "", + "NOTE: Prior to version *12, this was called `as_limited_sub`.", + "", + "The dispatch origin for this call must be _Signed_." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "Send a batch of dispatch calls and atomically execute them.", + "The whole transaction will rollback and fail if any of the calls failed.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatched without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# " + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "Dispatches a function call with a provided origin.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "# ", + "- O(1).", + "- Limited storage reads.", + "- One DB write (event).", + "- Weight of derivative `call` execution + T::WeightInfo::dispatch_as().", + "# " + ], + "args": [ + { + "name": "as_origin", + "type": "statemint_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2804", + "name": "force_batch", + "docs": [ + "Send a batch of dispatch calls.", + "Unlike `batch`, it allows errors and won't interrupt.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatch without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# " + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + } + ], + "calls_value": { + "type": 249 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "BatchCompletedWithErrors", + "docs": [ + "Batch of dispatches completed but has errors." + ], + "args": null + }, + { + "lookup": "2803", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2804", + "name": "ItemFailed", + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ], + "args": [ + "sp_runtime:DispatchError" + ], + "args_name": [ + "error" + ], + "args_type_name": [ + "DispatchError" + ] + }, + { + "lookup": "2805", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 83 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 266 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 267, + "value_id": 268 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "Immediately dispatch a multi-signature call using a single approval from the caller.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `other_signatories`: The accounts (other than the sender) who are part of the", + "multi-signature, but do not participate in the approval process.", + "- `call`: The call to be executed.", + "", + "Result is equivalent to the dispatched result.", + "", + "# ", + "O(Z + C) where Z is the length of the call and C its execution weight.", + "-------------------------------", + "- DB Weight: None", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "If there are enough, then dispatch the call.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call`: The call to be executed.", + "", + "NOTE: Unless this is the final approval, you will generally want to use", + "`approve_as_multi` instead, since it only requires a hash of the call.", + "", + "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", + "on success, result is `Ok` and the result from the interior call, if it was executed,", + "may be found in the deposited `MultisigExecuted` event.", + "", + "# ", + "- `O(S + Z + Call)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- The weight of the `call`.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "-------------------------------", + "- DB Weight:", + " - Reads: Multisig Storage, [Caller Account]", + " - Writes: Multisig Storage, [Caller Account]", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call_hash`: The hash of the call to be executed.", + "", + "NOTE: If this is the final approval, you will want to use `as_multi` instead.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account]", + " - Write: Multisig Storage, [Caller Account]", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", + "for this operation will be unreserved on success.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `timepoint`: The timepoint (block number and transaction index) of the first approval", + "transaction for this dispatch.", + "- `call_hash`: The hash of the call to be executed.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- One event.", + "- I/O: 1 read `O(S)`, one remove.", + "- Storage: removes one item.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account], Refund Account", + " - Write: Multisig Storage, [Caller Account], Refund Account", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 252 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 86 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00dbbb77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "00d43000000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U32", + "type_value": 4, + "constants_value": "64000000", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 270 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:VecU128", + "keys_id": 0, + "value_id": 271 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:VecU128", + "keys_id": 0, + "value_id": 275 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorised for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "Register a proxy account for the sender that is able to make calls on its behalf.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to make a proxy.", + "- `proxy_type`: The permissions allowed for this proxy account.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "Unregister a proxy account for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to remove as a proxy.", + "- `proxy_type`: The permissions currently enabled for the removed proxy account." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "Unregister all proxy accounts for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "WARNING: This may be called on accounts created by `pure`, however if done, then", + "the unreserved fees will be inaccessible. **All access to this account will be lost.**" + ], + "args": null + }, + { + "lookup": "2a04", + "name": "create_pure", + "docs": [ + "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", + "initialize it with a proxy of `proxy_type` for `origin` sender.", + "", + "Requires a `Signed` origin.", + "", + "- `proxy_type`: The type of the proxy that the sender will be registered as over the", + "new account. This will almost always be the most permissive `ProxyType` possible to", + "allow for maximum flexibility.", + "- `index`: A disambiguation index, in case this is called multiple times in the same", + "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", + "want to use `0`.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "Fails with `Duplicate` if this has already been called in this transaction, from the", + "same sender, with the same parameters.", + "", + "Fails if there are insufficient funds to pay for deposit." + ], + "args": [ + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_pure", + "docs": [ + "Removes a previously spawned pure proxy.", + "", + "WARNING: **All access to this account will be lost.** Any funds held in it will be", + "inaccessible.", + "", + "Requires a `Signed` origin, and the sender account must have been created by a call to", + "`pure` with corresponding parameters.", + "", + "- `spawner`: The account that originally called `pure` to create this account.", + "- `index`: The disambiguation index originally passed to `pure`. Probably `0`.", + "- `proxy_type`: The proxy type originally passed to `pure`.", + "- `height`: The height of the chain when the call to `pure` was processed.", + "- `ext_index`: The extrinsic index in which the call to `pure` was processed.", + "", + "Fails with `NoPermission` in case the caller is not a previously created pure", + "account whose `pure` call has corresponding parameters." + ], + "args": [ + { + "name": "spawner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumber" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "Publish the hash of a proxy-call that will be made in the future.", + "", + "This must be called some number of blocks before the corresponding `proxy` is attempted", + "if the delay associated with the proxy relationship is greater than zero.", + "", + "No more than `MaxPending` announcements may be made at any one time.", + "", + "This will take a deposit of `AnnouncementDepositFactor` as well as", + "`AnnouncementDepositBase` if there are no other pending announcements.", + "", + "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "Remove a given announcement.", + "", + "May be called by a proxy account to remove a call they previously announced and return", + "the deposit.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "Remove the given announcement of a delegate.", + "", + "May be called by a target (proxied) account to remove a call that one of their delegates", + "(`delegate`) has announced they want to execute. The deposit is returned.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `delegate`: The account that previously announced the call.", + "- `call_hash`: The hash of the call to be made." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorized for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + } + ], + "calls_value": { + "type": 254 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "PureCreated", + "docs": [ + "A pure account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U16" + ], + "args_name": [ + "pure", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + }, + { + "lookup": "2a04", + "name": "ProxyRemoved", + "docs": [ + "A proxy was removed." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + } + ], + "events_value": { + "type": 88 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "009d7277000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "a05a3200000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00d27e77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "40b56400000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 279 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 280 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 282, + "value_id": 283 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 285, + "value_id": 286 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata", + "keys_id": 4, + "value_id": 287 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "start_destroy", + "docs": [ + "Start the process of destroying a class of fungible asset", + "start_destroy is the first in a series of extrinsics that should be called, to allow", + "destroying an asset.", + "", + "The origin must conform to `ForceOrigin` or must be Signed and the sender must be the", + "owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Assets must be freezed before calling start_destroy." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3203", + "name": "destroy_accounts", + "docs": [ + "Destroy all accounts associated with a given asset.", + "`destroy_accounts` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state", + "", + "Due to weight restrictions, this function may need to be called multiple", + "times to fully destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a", + "time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call Emits the `Event::DestroyedAccounts` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3204", + "name": "destroy_approvals", + "docs": [ + "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit),", + "`destroy_approvals` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state", + "", + "Due to weight restrictions, this function may need to be called multiple", + "times to fully destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a", + "time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call Emits the `Event::DestroyedApprovals` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3205", + "name": "finish_destroy", + "docs": [ + "Complete destroying asset and unreserve currency.", + "`finish_destroy` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state. All accounts or approvals should be destroyed before", + "hand.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each successful call Emits the `Event::Destroyed` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3206", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3209", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320a", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320b", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers from an account.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320c", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320d", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "320e", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "320f", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3210", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3211", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3212", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3213", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3214", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "3215", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3216", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3218", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3219", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321a", + "name": "touch", + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + } + ] + }, + { + "lookup": "321b", + "name": "refund", + "docs": [ + "Return the deposit (if any) of an asset account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for the account to be created.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetId" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 256 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "total_supply" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3210", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3211", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3212", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3213", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3214", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + } + ], + "events_value": { + "type": 91 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "NoProvider", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or the", + "maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + } + ], + "errors_value": { + "type": 289 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionDetails", + "keys_id": 4, + "value_id": 290 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 291, + "value_id": 85 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 292, + "value_id": 85 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemDetails", + "keys_id": 102, + "value_id": 293 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionMetadata", + "keys_id": 4, + "value_id": 294 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemMetadata", + "keys_id": 102, + "value_id": 295 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 296, + "value_id": 297 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 102, + "value_id": 298 + } + }, + "fallback": "0x00", + "docs": [ + " Price of an asset instance." + ] + }, + { + "name": "CollectionMaxSupply", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U32", + "keys_id": 4, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " Keeps track of the number of items a collection might have." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "`ItemDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `collection`: The identifier of the new collection. This must not be currently in use.", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `collection`: The identifier of the new item. This must not be currently in use.", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions", + "over this item, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.items`", + "- `m = witness.item_metadatas`", + "- `a = witness.attributes`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must be the Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: The item value of the item to be minted.", + "- `beneficiary`: The initial owner of the minted item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "Destroy a single item.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item of the item to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " item is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "Move an item from the sender account to another.", + "", + "This resets the approved account of the item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item of the item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "Reevaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown of the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be frozen.", + "- `item`: The item of the item to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be thawed.", + "- `item`: The item of the item to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_collection", + "docs": [ + "Disallow further unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "", + "Emits `CollectionFrozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_collection", + "docs": [ + "Re-allow unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection to be thawed.", + "", + "Emits `CollectionThawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be", + "either the owner of the `item` or the admin of the collection.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item of the item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "", + "Important NOTE: The `approved` account gets reset after each transfer.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "Cancel the prior approval for the transfer of an item by a delegate.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the `collection`;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the item of whose approval will be cancelled.", + "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", + " which permission of transfer is delegated.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "330f", + "name": "force_item_status", + "docs": [ + "Alter the attributes of a given item.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the item.", + "- `owner`: The new Owner of this item.", + "- `issuer`: The new Issuer of this item.", + "- `admin`: The new Admin of this item.", + "- `freezer`: The new Freezer of this item.", + "- `free_holding`: Whether a deposit is taken for holding an item of this collection.", + "- `is_frozen`: Whether this collection is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `ItemStatusChanged` with the identity of the item.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3314", + "name": "set_collection_metadata", + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_collection_metadata", + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "3316", + "name": "set_accept_ownership", + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3317", + "name": "set_collection_max_supply", + "docs": [ + "Set the maximum amount of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Note: This function can only succeed once per collection.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum amount of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "3318", + "name": "set_price", + "docs": [ + "Set (or reset) the price for an item.", + "", + "Origin must be Signed and must be the owner of the asset `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item to set the price for.", + "- `price`: The price for the item. Pass `None`, to reset the price.", + "- `buyer`: Restricts the buy operation to a specific account.", + "", + "Emits `ItemPriceSet` on success if the price is not `None`.", + "Emits `ItemPriceRemoved` on success if the price is `None`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3319", + "name": "buy_item", + "docs": [ + "Allows to buy an item if it's up for sale.", + "", + "Origin must be Signed and must not be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item the sender wants to buy.", + "- `bid_price`: The price the sender is willing to pay.", + "", + "Emits `ItemBought` on success." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + } + ], + "calls_value": { + "type": 257 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some `item` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some `item` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3308", + "name": "CollectionFrozen", + "docs": [ + "Some `collection` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3309", + "name": "CollectionThawed", + "docs": [ + "Some `collection` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "ItemStatusChanged", + "docs": [ + "A `collection` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330f", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "item", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec" + ] + }, + { + "lookup": "3316", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "3317", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "3318", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the instance." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "3319", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the instance was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "331a", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + } + ], + "events_value": { + "type": 93 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The item ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The item or collection is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership of the collection is acceptable." + ] + }, + { + "name": "Locked", + "doc": [ + "The item is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyAlreadySet", + "doc": [ + "The max supply has already been set." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less to the amount of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + } + ], + "errors_value": { + "type": 299 + }, + "index": 51 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v9360.json b/src/demo_substrate_events/abi/assethub/v9360.json new file mode 100644 index 000000000..8921eed28 --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v9360.json @@ -0,0 +1,9587 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:dispatch:PerDispatchClass@7", + "PlainTypeValue": 7 + }, + "fallback": "0x000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 11 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 12 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 17 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: The item is unbound and should therefore never be read on chain.", + " It could otherwise inflate the PoV size of a block.", + "", + " Events have a large in-memory size. Box the events to not go out-of-memory", + " just in case someone still reads them from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 11, + "value_id": 101 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 103 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 99 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "remark", + "docs": [ + "Make some on-chain remark.", + "", + "# ", + "- `O(1)`", + "# " + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0001", + "name": "set_heap_pages", + "docs": [ + "Set the number of pages in the WebAssembly environment's heap." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0002", + "name": "set_code", + "docs": [ + "Set the new runtime code.", + "", + "# ", + "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`", + "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is", + " expensive).", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime, but generally this is very", + "expensive. We will treat this as a full block.", + "# " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0003", + "name": "set_code_without_checks", + "docs": [ + "Set the new runtime code without doing any checks of the given `code`.", + "", + "# ", + "- `O(C)` where `C` length of `code`", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime. We will treat this as a full", + "block. # " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_storage", + "docs": [ + "Set some items of storage." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0005", + "name": "kill_storage", + "docs": [ + "Kill some items from storage." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_prefix", + "docs": [ + "Kill all storage items with a key that starts with the given prefix.", + "", + "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", + "the prefix we are removing to accurately calculate the weight of this function." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0007", + "name": "remark_with_event", + "docs": [ + "Make some on-chain remark and emit event." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 105 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + } + ], + "events_value": { + "type": 20 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 109, + "constants_value": "0700f2052a0100070088526a74020040010265cd1d000107c0d22c76510200e000010700e6bd4f570200f0000100000265cd1d000107c074c1906e0200300101070088526a7402004001010700a2941a1d020050000265cd1d00000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:dispatch:PerDispatchClass@114", + "type_value": 113, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "00100000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "sp_weights:RuntimeDbWeight", + "type_value": 115, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 116, + "constants_value": "2473746174656d696e742473746174656d696e740100000090240000000000002cdd718d5cc53262d401000000df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a802000000f3ff14d5ab52705902000000ea93e3f16f3d6962020000000b00000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 90, + "constants_value": "0000", + "docs": [ + " The designated SS58 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + } + ], + "errors_value": { + "type": 120 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 12 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][well_known_keys::CODE]", + " which will result the next block process with the new validation code. This concludes the upgrade process.", + "", + " [well_known_keys::CODE]: sp_core::storage::well_known_keys::CODE" + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 12 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v2:PersistedValidationData", + "PlainTypeValue": 121 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "LastRelayChainBlockNumber", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The relay chain block number associated with the last parachain block." + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 123 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelayStateProof", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 125 + }, + "fallback": "0x00", + "docs": [ + " The state proof for the last relay parent block.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 127 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v2:AbridgedHostConfiguration", + "PlainTypeValue": 131 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 132 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 133 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 136 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 108 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 108 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 11 + }, + "fallback": "0x00", + "docs": [ + " The next authorized upgrade, if there is one." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 12 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See [`Pallet::set_custom_validation_head_data`] for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "Set the current validation data.", + "", + "This should be invoked exactly once per block. It will panic at the finalization", + "phase if the call was not invoked.", + "", + "The dispatch origin for this call must be `Inherent`", + "", + "As a side effect, this function upgrades the current validation function", + "if the appropriate time has come." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": null, + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": null, + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": null, + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 138 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "relay_chain_block_num" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade has been authorized." + ], + "args": [ + "H256" + ], + "args_name": [ + "code_hash" + ], + "args_type_name": [ + "Hash" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed." + ], + "args": [ + "U32" + ], + "args_name": [ + "count" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0105", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight." + ], + "args": [ + "sp_weights:weight_v2:Weight", + "H256" + ], + "args_name": [ + "weight_used", + "dmq_head" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + } + ], + "events_value": { + "type": 29 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending" + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function" + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run" + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block" + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block" + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 147 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 10 + }, + "fallback": "0x0000000000000000", + "docs": [ + " Current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Did the timestamp get updated in this block?" + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "Set the current time.", + "", + "This call should be invoked exactly once per block. It will panic at the finalization", + "phase, if this call hasn't been invoked by that time.", + "", + "The timestamp should be greater than the previous one by the amount specified by", + "`MinimumPeriod`.", + "", + "The dispatch origin for this call must be `Inherent`.", + "", + "# ", + "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", + "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in", + " `on_finalize`)", + "- 1 event handler `on_timestamp_set`. Must be `O(1)`.", + "# " + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 148 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 10, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks. Beware that this is different to the *expected*", + " period that the block production apparatus provides. Your chosen consensus system will", + " generally work with this to determine a sensible block time. e.g. For Aura, it will be", + " double this period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 41 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "InactiveIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units of outstanding deactivated balance in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 149 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 153 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer", + "docs": [ + "Transfer some liquid free balance to another account.", + "", + "`transfer` will set the `FreeBalance` of the sender and receiver.", + "If the sender's account is below the existential deposit as a result", + "of the transfer, the account will be reaped.", + "", + "The dispatch origin for this call must be `Signed` by the transactor.", + "", + "# ", + "- Dependent on arguments but not critical, given proper implementations for input config", + " types. See related functions below.", + "- It contains a limited number of reads and writes internally and no complex", + " computation.", + "", + "Related functions:", + "", + " - `ensure_can_withdraw` is always called internally but has a bounded complexity.", + " - Transferring balances to accounts that did not exist before will cause", + " `T::OnNewAccount::on_new_account` to be called.", + " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.", + " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check", + " that the transfer will not kill the origin account.", + "---------------------------------", + "- Origin account is already in memory, so no DB operations for them.", + "# " + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a01", + "name": "set_balance", + "docs": [ + "Set the balances of a given account.", + "", + "This will alter `FreeBalance` and `ReservedBalance` in storage. it will", + "also alter the total issuance of the system (`TotalIssuance`) appropriately.", + "If the new free or reserved balance is below the existential deposit,", + "it will reset the account nonce (`frame_system::AccountNonce`).", + "", + "The dispatch origin for this call is `root`." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "new_reserved", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "Exactly as `transfer`, except the origin must be root and the source account may be", + "specified.", + "# ", + "- Same as transfer, but additional read and write because the source account is not", + " assumed to be in the overlay.", + "# " + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "Same as the [`transfer`] call, but with a check that the transfer will not kill the", + "origin account.", + "", + "99% of the time you want [`transfer`] instead.", + "", + "[`transfer`]: struct.Pallet.html#method.transfer" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "Transfer the entire transferable balance from the caller account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the account has, causing the sender account to be killed (false), or", + " transfer everything except at least the existential deposit, which will guarantee to", + " keep the sender account alive (true). # ", + "- O(1). Just like transfer, but reading the user's transferable balance first.", + " #" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "Unreserve some balance from a user by force.", + "", + "Can only be called by ROOT." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 156 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "free", + "reserved" + ], + "args_type_name": [ + "AccountId", + "Balance", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 30 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open." + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value" + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal" + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value." + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit" + ] + }, + { + "name": "KeepAlive", + "doc": [ + "Transfer/payment would kill account" + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account" + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist" + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed MaxReserves" + ] + } + ], + "errors_value": { + "type": 159 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 160 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 161 + }, + "fallback": "0x00", + "docs": null + } + ], + "events": [ + { + "lookup": "0b00", + "name": "TransactionFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who`." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "actual_fee", + "tip" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf" + ] + } + ], + "events_value": { + "type": 32 + }, + "constants": [ + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "0c00", + "name": "AssetTxFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who` in an asset `asset_id`." + ], + "args": [ + "AccountId", + "U128", + "U128", + "option" + ], + "args_name": [ + "who", + "actual_fee", + "tip", + "asset_id" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf", + "Option" + ] + } + ], + "events_value": { + "type": 33 + }, + "errors": null, + "errors_value": null, + "index": 12 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Uncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 162 + }, + "fallback": "0x00", + "docs": [ + " Uncles" + ] + }, + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + }, + { + "name": "DidSetUncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Whether uncles were already set in this block." + ] + } + ], + "calls": [ + { + "lookup": "1400", + "name": "set_uncles", + "docs": [ + "Provide a set of uncles." + ], + "args": [ + { + "name": "new_uncles", + "type": "Vec", + "type_name": "Vec
" + } + ] + } + ], + "calls_value": { + "type": 165 + }, + "constants": [ + { + "name": "UncleGenerations", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The number of blocks back we should accept uncles.", + " This means that we will deal with uncle-parents that are", + " `UncleGenerations + 1` before `now`." + ] + } + ], + "errors": [ + { + "name": "InvalidUncleParent", + "doc": [ + "The uncle parent not in the chain." + ] + }, + { + "name": "UnclesAlreadySet", + "doc": [ + "Uncles already set in the block." + ] + }, + { + "name": "TooManyUncles", + "doc": [ + "Too many uncles." + ] + }, + { + "name": "GenesisUncle", + "doc": [ + "The uncle is genesis." + ] + }, + { + "name": "TooHighUncle", + "doc": [ + "The uncle is too high in chain." + ] + }, + { + "name": "UncleAlreadyIncluded", + "doc": [ + "The uncle is already included." + ] + }, + { + "name": "OldUncle", + "doc": [ + "The uncle isn't recent enough to be included." + ] + } + ], + "errors_value": { + "type": 169 + }, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 170 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, fixed collators." + ] + }, + { + "name": "Candidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 171 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "Set the list of invulnerable (fixed) collators." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "Set the ideal number of collators (not including the invulnerables).", + "If lowering this number, then the number of running collators could be higher than this figure.", + "Aside from that edge case, there should be no other way to have more collators than the desired number." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "Set the candidacy bond amount." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "Register this account as a collator candidate. The account must (a) already have", + "registered session keys and (b) be able to reserve the `CandidacyBond`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "Deregister `origin` as a collator candidate. Note that the collator can only leave on", + "session change. The `CandidacyBond` will be unreserved immediately.", + "", + "This call will fail if the total number of candidates would drop below `MinCandidates`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + } + ], + "calls_value": { + "type": 174 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": null, + "args": [ + "Vec" + ], + "args_name": [ + "invulnerables" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "NewDesiredCandidates", + "docs": null, + "args": [ + "U32" + ], + "args_name": [ + "desired_candidates" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1502", + "name": "NewCandidacyBond", + "docs": null, + "args": [ + "U128" + ], + "args_name": [ + "bond_amount" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1503", + "name": "CandidateAdded", + "docs": null, + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1504", + "name": "CandidateRemoved", + "docs": null, + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 35 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "Too many candidates" + ] + }, + { + "name": "TooFewCandidates", + "doc": [ + "Too few candidates" + ] + }, + { + "name": "Unknown", + "doc": [ + "Unknown error" + ] + }, + { + "name": "Permission", + "doc": [ + "Permission issue" + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "User is already a candidate" + ] + }, + { + "name": "NotCandidate", + "doc": [ + "User is not a candidate" + ] + }, + { + "name": "TooManyInvulnerables", + "doc": [ + "Too many invulnerables" + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "User is already an Invulnerable" + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID" + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered" + ] + } + ], + "errors_value": { + "type": 175 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 36 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 176 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 95 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 178 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 181, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "Sets the session key(s) of the function caller to `keys`.", + "Allows an account to set its session key prior to becoming a validator.", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be signed.", + "", + "# ", + "- Complexity: `O(1)`. Actual cost depends on the number of length of", + " `T::Keys::key_ids()` which is fixed.", + "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`", + "- DbWrites: `origin account`, `NextKeys`", + "- DbReads per key id: `KeyOwner`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "Removes any session key(s) of the function caller.", + "", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be Signed and the account must be either be", + "convertible to a validator ID using the chain's typical addressing system (this usually", + "means being a controller account) or directly convertible into a validator ID (which", + "usually means being a stash account).", + "", + "# ", + "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length", + " of `T::Keys::key_ids()` which is fixed.", + "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`", + "- DbWrites: `NextKeys`, `origin account`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": null + } + ], + "calls_value": { + "type": 183 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 37 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 184 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 185 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 187 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 185 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will always", + " be updated to the latest AuRa authorities in `on_finalize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 188 + }, + "fallback": "0x00", + "docs": [ + " Status of the inbound XCMP channels." + ] + }, + { + "name": "InboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 194, + "value_id": 12 + } + }, + "fallback": "0x00", + "docs": [ + " Inbound aggregate XCMP messages. It can only be one per ParaId/block." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 195 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 198, + "value_id": 12 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 41, + "value_id": 12 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 199 + }, + "fallback": "0x020000000500000001000000821a06000008000700c817a80402000400", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32U32Vec", + "keys_id": 10, + "value_id": 200 + } + }, + "fallback": "0x00", + "docs": [ + " The messages that exceeded max individual message weight budget.", + "", + " These message stay in this storage map until they are manually dispatched via", + " `service_overweight`." + ] + }, + { + "name": "OverweightCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 10 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The number of overweight messages ever recorded in `Overweight`. Also doubles as the next", + " available free overweight index." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + } + ], + "calls": [ + { + "lookup": "1e00", + "name": "service_overweight", + "docs": [ + "Services a single overweight XCM.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight XCM to service", + "- `weight_limit`: The amount of weight that XCM execution may take.", + "", + "Errors:", + "- `BadOverweightIndex`: XCM under `index` is not found in the `Overweight` storage map.", + "- `BadXcm`: XCM under `index` cannot be properly decoded into a valid XCM format.", + "- `WeightOverLimit`: XCM execution may use greater `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "XcmWeight" + } + ] + }, + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "Suspends all XCM executions for the XCMP queue, regardless of the sender's origin.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "Resumes all XCM executions for the XCMP queue.", + "", + "Note that this function doesn't change the status of the in/out bound channels.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue for the other side to be told to", + "suspend their sending.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.suspend_value`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue after which we drop any further", + "messages from the channel.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.drop_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "Overwrites the number of pages of messages which the queue must be reduced to before it signals that", + "message sending may recommence after it has been suspended.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.resume_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e06", + "name": "update_threshold_weight", + "docs": [ + "Overwrites the amount of remaining weight under which we stop processing messages.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.threshold_weight`" + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "XcmWeight" + } + ] + }, + { + "lookup": "1e07", + "name": "update_weight_restrict_decay", + "docs": [ + "Overwrites the speed to which the available weight approaches the maximum weight.", + "A lower number results in a faster progression. A value of 1 makes the entire weight available initially.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.weight_restrict_decay`." + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "XcmWeight" + } + ] + }, + { + "lookup": "1e08", + "name": "update_xcmp_max_individual_weight", + "docs": [ + "Overwrite the maximum amount of weight any individual message may consume.", + "Messages above this weight go into the overweight queue and may only be serviced explicitly.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.xcmp_max_individual_weight`." + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "XcmWeight" + } + ] + } + ], + "calls_value": { + "type": 201 + }, + "events": [ + { + "lookup": "1e00", + "name": "Success", + "docs": [ + "Some XCM was executed ok." + ], + "args": [ + "option", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "weight" + ], + "args_type_name": [ + "Option", + "Weight" + ] + }, + { + "lookup": "1e01", + "name": "Fail", + "docs": [ + "Some XCM failed." + ], + "args": [ + "option", + "xcm:v2:traits:Error", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "error", + "weight" + ], + "args_type_name": [ + "Option", + "XcmError", + "Weight" + ] + }, + { + "lookup": "1e02", + "name": "BadVersion", + "docs": [ + "Bad XCM version used." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e03", + "name": "BadFormat", + "docs": [ + "Bad XCM format used." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e04", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e05", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e06", + "name": "OverweightEnqueued", + "docs": [ + "An XCM exceeded the individual message weight budget." + ], + "args": [ + "U32", + "U32", + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "sender", + "sent_at", + "index", + "required" + ], + "args_type_name": [ + "ParaId", + "RelayBlockNumber", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "1e07", + "name": "OverweightServiced", + "docs": [ + "An XCM from the overweight queue was executed with the given actual weight used." + ], + "args": [ + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "index", + "used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 38 + }, + "errors": [ + { + "name": "FailedToSend", + "doc": [ + "Failed to send XCM message." + ] + }, + { + "name": "BadXcmOrigin", + "doc": [ + "Bad XCM origin." + ] + }, + { + "name": "BadXcm", + "doc": [ + "Bad XCM data." + ] + }, + { + "name": "BadOverweightIndex", + "doc": [ + "Bad overweight index." + ] + }, + { + "name": "WeightOverLimit", + "doc": [ + "Provided weight is possibly not enough to execute the message." + ] + } + ], + "errors_value": { + "type": 202 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 10 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 10, + "value_id": 203 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 11, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U32", + "keys_id": 209, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U64", + "keys_id": 209, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "Tuple:U64U64U32", + "keys_id": 209, + "value_id": 210 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 211 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 214 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": null, + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@217", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "Execute an XCM message from a local, signed, origin.", + "", + "An event is deposited indicating whether `msg` could be executed completely or only", + "partially.", + "", + "No more than `max_weight` will be used in its attempted execution. If this is less than the", + "maximum amount of weight that the message could take to be executed, then no execution", + "attempt will be made.", + "", + "NOTE: A successful return to this does *not* imply that the `msg` was executed successfully", + "to completion; only that *some* of it was executed." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@226", + "type_name": "Box::RuntimeCall>>" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "XcmWeight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "Extoll that a particular destination can be communicated with through a particular", + "version of XCM.", + "", + "- `origin`: Must be Root.", + "- `location`: The destination that is being described.", + "- `xcm_version`: The latest version of XCM that `location` supports." + ], + "args": [ + { + "name": "location", + "type": "xcm:v1:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "xcm_version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "Set a safe XCM version (the version that XCM should be encoded with if the most recent", + "version a destination can accept is unknown).", + "", + "- `origin`: Must be Root.", + "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "Ask a location to notify us regarding their XCM version and any changes to it.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we should subscribe for XCM version notifications." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "Require that a particular destination should no longer notify us regarding any XCM", + "version changes.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we are currently subscribed for XCM version", + " notifications which we no longer desire." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + } + ], + "calls_value": { + "type": 216 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted.", + "", + "\\[ outcome \\]" + ], + "args": [ + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent.", + "", + "\\[ origin, destination, message \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "xcm:v1:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiLocation", + "Xcm<()>" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call.", + "", + "\\[ id, response \\]" + ], + "args": [ + "U64", + "xcm:v2:Response" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification could", + "not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result.", + "", + "\\[ id, pallet index, call index, actual weight, max budgeted weight \\]" + ], + "args": [ + "U64", + "U8", + "U8", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "", + "", + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon.", + "", + "\\[ origin location, id, expected location \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "option" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed.", + "", + "\\[ id \\]" + ], + "args": [ + "U64" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap.", + "", + "\\[ hash, origin, assets \\]" + ], + "args": [ + "H256", + "xcm:v1:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "\\[ destination, result \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention.", + "", + "\\[ location, XCM version \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it.", + "", + "\\[ location, query ID, error \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "xcm:v2:traits:Error" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format.", + "", + "\\[ location, query ID \\]" + ], + "args": [ + "xcm:VersionedMultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "VersionedMultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f10", + "name": "AssetsClaimed", + "docs": [ + "Some assets have been claimed from an asset trap", + "", + "\\[ hash, origin, assets \\]" + ], + "args": [ + "H256", + "xcm:v1:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + } + ], + "events_value": { + "type": 42 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message. Perhaps", + "a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `MultiLocation` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + } + ], + "errors_value": { + "type": 239 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 8]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 8]", + "Outcome" + ] + } + ], + "events_value": { + "type": 81 + }, + "errors": null, + "errors_value": { + "type": 240 + }, + "index": 32 + }, + { + "name": "DmpQueue", + "prefix": "DmpQueue", + "storage": [ + { + "name": "Configuration", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 241 + }, + "fallback": "0x0700e40b540202000400", + "docs": [ + " The configuration." + ] + }, + { + "name": "PageIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_dmp_queue:PageIndexData", + "PlainTypeValue": 242 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The page index." + ] + }, + { + "name": "Pages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec>", + "keys_id": 4, + "value_id": 243 + } + }, + "fallback": "0x00", + "docs": [ + " The queue pages." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32Vec", + "keys_id": 10, + "value_id": 244 + } + }, + "fallback": "0x00", + "docs": [ + " The overweight messages." + ] + } + ], + "calls": [ + { + "lookup": "2100", + "name": "service_overweight", + "docs": [ + "Service a single overweight message.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight message to service.", + "- `weight_limit`: The amount of weight that message execution may take.", + "", + "Errors:", + "- `Unknown`: Message of `index` is unknown.", + "- `OverLimit`: Message execution may use greater than `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "XcmWeight" + } + ] + } + ], + "calls_value": { + "type": 245 + }, + "events": [ + { + "lookup": "2100", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2101", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2102", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome." + ], + "args": [ + "[U8; 32]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "message_id", + "outcome" + ], + "args_type_name": [ + "MessageId", + "Outcome" + ] + }, + { + "lookup": "2103", + "name": "WeightExhausted", + "docs": [ + "The weight limit for handling downward messages was reached." + ], + "args": [ + "[U8; 32]", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_id", + "remaining_weight", + "required_weight" + ], + "args_type_name": [ + "MessageId", + "Weight", + "Weight" + ] + }, + { + "lookup": "2104", + "name": "OverweightEnqueued", + "docs": [ + "Downward message is overweight and was placed in the overweight queue." + ], + "args": [ + "[U8; 32]", + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_id", + "overweight_index", + "required_weight" + ], + "args_type_name": [ + "MessageId", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "2105", + "name": "OverweightServiced", + "docs": [ + "Downward message from the overweight queue was executed." + ], + "args": [ + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "overweight_index", + "weight_used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 82 + }, + "errors": [ + { + "name": "Unknown", + "doc": [ + "The message index given is unknown." + ] + }, + { + "name": "OverLimit", + "doc": [ + "The amount of weight given is possibly not enough for executing the message." + ] + } + ], + "errors_value": { + "type": 246 + }, + "index": 33 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "Send a batch of dispatch calls.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatched without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# ", + "", + "This will return `Ok` in all circumstances. To determine the success of the batch, an", + "event is deposited. If a call failed and the batch was interrupted, then the", + "`BatchInterrupted` event is deposited, along with the number of successful calls made", + "and the error of the failed call. If all were successful, then the `BatchCompleted`", + "event is deposited." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "Send a call through an indexed pseudonym of the sender.", + "", + "Filter from origin are passed along. The call will be dispatched with an origin which", + "use the same filter as the origin of this call.", + "", + "NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", + "because you expect `proxy` to have been used prior in the call stack and you do not want", + "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", + "in the Multisig pallet instead.", + "", + "NOTE: Prior to version *12, this was called `as_limited_sub`.", + "", + "The dispatch origin for this call must be _Signed_." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "Send a batch of dispatch calls and atomically execute them.", + "The whole transaction will rollback and fail if any of the calls failed.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatched without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# " + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "Dispatches a function call with a provided origin.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "# ", + "- O(1).", + "- Limited storage reads.", + "- One DB write (event).", + "- Weight of derivative `call` execution + T::WeightInfo::dispatch_as().", + "# " + ], + "args": [ + { + "name": "as_origin", + "type": "statemint_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2804", + "name": "force_batch", + "docs": [ + "Send a batch of dispatch calls.", + "Unlike `batch`, it allows errors and won't interrupt.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatch without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# " + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2805", + "name": "with_weight", + "docs": [ + "Dispatch a function call with a specified weight.", + "", + "This function does not check the weight of the call, and instead allows the", + "Root origin to specify the weight of the call.", + "", + "The dispatch origin for this call must be _Root_." + ], + "args": [ + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 247 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "BatchCompletedWithErrors", + "docs": [ + "Batch of dispatches completed but has errors." + ], + "args": null + }, + { + "lookup": "2803", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2804", + "name": "ItemFailed", + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ], + "args": [ + "sp_runtime:DispatchError" + ], + "args_name": [ + "error" + ], + "args_type_name": [ + "DispatchError" + ] + }, + { + "lookup": "2805", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 83 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 264 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 265, + "value_id": 266 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "Immediately dispatch a multi-signature call using a single approval from the caller.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `other_signatories`: The accounts (other than the sender) who are part of the", + "multi-signature, but do not participate in the approval process.", + "- `call`: The call to be executed.", + "", + "Result is equivalent to the dispatched result.", + "", + "# ", + "O(Z + C) where Z is the length of the call and C its execution weight.", + "-------------------------------", + "- DB Weight: None", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "If there are enough, then dispatch the call.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call`: The call to be executed.", + "", + "NOTE: Unless this is the final approval, you will generally want to use", + "`approve_as_multi` instead, since it only requires a hash of the call.", + "", + "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", + "on success, result is `Ok` and the result from the interior call, if it was executed,", + "may be found in the deposited `MultisigExecuted` event.", + "", + "# ", + "- `O(S + Z + Call)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- The weight of the `call`.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "-------------------------------", + "- DB Weight:", + " - Reads: Multisig Storage, [Caller Account]", + " - Writes: Multisig Storage, [Caller Account]", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call_hash`: The hash of the call to be executed.", + "", + "NOTE: If this is the final approval, you will want to use `as_multi` instead.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account]", + " - Write: Multisig Storage, [Caller Account]", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", + "for this operation will be unreserved on success.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `timepoint`: The timepoint (block number and transaction index) of the first approval", + "transaction for this dispatch.", + "- `call_hash`: The hash of the call to be executed.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- One event.", + "- I/O: 1 read `O(S)`, one remove.", + "- Storage: removes one item.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account], Refund Account", + " - Write: Multisig Storage, [Caller Account], Refund Account", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 250 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 86 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00dbbb77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "00d43000000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U32", + "type_value": 4, + "constants_value": "64000000", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 268 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:VecU128", + "keys_id": 0, + "value_id": 269 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:VecU128", + "keys_id": 0, + "value_id": 273 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorised for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "Register a proxy account for the sender that is able to make calls on its behalf.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to make a proxy.", + "- `proxy_type`: The permissions allowed for this proxy account.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "Unregister a proxy account for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to remove as a proxy.", + "- `proxy_type`: The permissions currently enabled for the removed proxy account." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "Unregister all proxy accounts for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "WARNING: This may be called on accounts created by `pure`, however if done, then", + "the unreserved fees will be inaccessible. **All access to this account will be lost.**" + ], + "args": null + }, + { + "lookup": "2a04", + "name": "create_pure", + "docs": [ + "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", + "initialize it with a proxy of `proxy_type` for `origin` sender.", + "", + "Requires a `Signed` origin.", + "", + "- `proxy_type`: The type of the proxy that the sender will be registered as over the", + "new account. This will almost always be the most permissive `ProxyType` possible to", + "allow for maximum flexibility.", + "- `index`: A disambiguation index, in case this is called multiple times in the same", + "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", + "want to use `0`.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "Fails with `Duplicate` if this has already been called in this transaction, from the", + "same sender, with the same parameters.", + "", + "Fails if there are insufficient funds to pay for deposit." + ], + "args": [ + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_pure", + "docs": [ + "Removes a previously spawned pure proxy.", + "", + "WARNING: **All access to this account will be lost.** Any funds held in it will be", + "inaccessible.", + "", + "Requires a `Signed` origin, and the sender account must have been created by a call to", + "`pure` with corresponding parameters.", + "", + "- `spawner`: The account that originally called `pure` to create this account.", + "- `index`: The disambiguation index originally passed to `pure`. Probably `0`.", + "- `proxy_type`: The proxy type originally passed to `pure`.", + "- `height`: The height of the chain when the call to `pure` was processed.", + "- `ext_index`: The extrinsic index in which the call to `pure` was processed.", + "", + "Fails with `NoPermission` in case the caller is not a previously created pure", + "account whose `pure` call has corresponding parameters." + ], + "args": [ + { + "name": "spawner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumber" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "Publish the hash of a proxy-call that will be made in the future.", + "", + "This must be called some number of blocks before the corresponding `proxy` is attempted", + "if the delay associated with the proxy relationship is greater than zero.", + "", + "No more than `MaxPending` announcements may be made at any one time.", + "", + "This will take a deposit of `AnnouncementDepositFactor` as well as", + "`AnnouncementDepositBase` if there are no other pending announcements.", + "", + "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "Remove a given announcement.", + "", + "May be called by a proxy account to remove a call they previously announced and return", + "the deposit.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "Remove the given announcement of a delegate.", + "", + "May be called by a target (proxied) account to remove a call that one of their delegates", + "(`delegate`) has announced they want to execute. The deposit is returned.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `delegate`: The account that previously announced the call.", + "- `call_hash`: The hash of the call to be made." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorized for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + } + ], + "calls_value": { + "type": 252 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "PureCreated", + "docs": [ + "A pure account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U16" + ], + "args_name": [ + "pure", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + }, + { + "lookup": "2a04", + "name": "ProxyRemoved", + "docs": [ + "A proxy was removed." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + } + ], + "events_value": { + "type": 88 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "009d7277000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "a05a3200000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00d27e77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "40b56400000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 277 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 278 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 280, + "value_id": 281 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 283, + "value_id": 284 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata", + "keys_id": 4, + "value_id": 285 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "start_destroy", + "docs": [ + "Start the process of destroying a fungible asset class.", + "", + "`start_destroy` is the first in a series of extrinsics that should be called, to allow", + "destruction of an asset class.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "The asset class must be frozen before calling `start_destroy`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3203", + "name": "destroy_accounts", + "docs": [ + "Destroy all accounts associated with a given asset.", + "", + "`destroy_accounts` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedAccounts` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3204", + "name": "destroy_approvals", + "docs": [ + "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).", + "", + "`destroy_approvals` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedApprovals` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3205", + "name": "finish_destroy", + "docs": [ + "Complete destroying asset and unreserve currency.", + "", + "`finish_destroy` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state. All accounts or approvals should be destroyed before", + "hand.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each successful call emits the `Event::Destroyed` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3206", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3209", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320a", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320b", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers from an account.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320c", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320d", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320e", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320f", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3210", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3211", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3212", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3213", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3214", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3215", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3216", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3218", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3219", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321a", + "name": "touch", + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "321b", + "name": "refund", + "docs": [ + "Return the deposit (if any) of an asset account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for the account to be created.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 254 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "total_supply" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3210", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3211", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3212", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3213", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3214", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + } + ], + "events_value": { + "type": 91 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "NoProvider", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or the", + "maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + } + ], + "errors_value": { + "type": 287 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionDetails", + "keys_id": 4, + "value_id": 288 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 289, + "value_id": 85 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 290, + "value_id": 85 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemDetails", + "keys_id": 102, + "value_id": 291 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionMetadata", + "keys_id": 4, + "value_id": 292 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemMetadata", + "keys_id": 102, + "value_id": 293 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 294, + "value_id": 295 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 102, + "value_id": 296 + } + }, + "fallback": "0x00", + "docs": [ + " Price of an asset instance." + ] + }, + { + "name": "CollectionMaxSupply", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U32", + "keys_id": 4, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " Keeps track of the number of items a collection might have." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "`ItemDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `collection`: The identifier of the new collection. This must not be currently in use.", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `collection`: The identifier of the new item. This must not be currently in use.", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions", + "over this item, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.items`", + "- `m = witness.item_metadatas`", + "- `a = witness.attributes`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must be the Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: The item value of the item to be minted.", + "- `beneficiary`: The initial owner of the minted item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "Destroy a single item.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item of the item to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " item is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "Move an item from the sender account to another.", + "", + "This resets the approved account of the item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item of the item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "Reevaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown of the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be frozen.", + "- `item`: The item of the item to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be thawed.", + "- `item`: The item of the item to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_collection", + "docs": [ + "Disallow further unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "", + "Emits `CollectionFrozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_collection", + "docs": [ + "Re-allow unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection to be thawed.", + "", + "Emits `CollectionThawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be", + "either the owner of the `item` or the admin of the collection.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item of the item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "", + "Important NOTE: The `approved` account gets reset after each transfer.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "Cancel the prior approval for the transfer of an item by a delegate.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the `collection`;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the item of whose approval will be cancelled.", + "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", + " which permission of transfer is delegated.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "330f", + "name": "force_item_status", + "docs": [ + "Alter the attributes of a given item.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the item.", + "- `owner`: The new Owner of this item.", + "- `issuer`: The new Issuer of this item.", + "- `admin`: The new Admin of this item.", + "- `freezer`: The new Freezer of this item.", + "- `free_holding`: Whether a deposit is taken for holding an item of this collection.", + "- `is_frozen`: Whether this collection is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `ItemStatusChanged` with the identity of the item.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3314", + "name": "set_collection_metadata", + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_collection_metadata", + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "3316", + "name": "set_accept_ownership", + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3317", + "name": "set_collection_max_supply", + "docs": [ + "Set the maximum amount of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Note: This function can only succeed once per collection.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum amount of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "3318", + "name": "set_price", + "docs": [ + "Set (or reset) the price for an item.", + "", + "Origin must be Signed and must be the owner of the asset `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item to set the price for.", + "- `price`: The price for the item. Pass `None`, to reset the price.", + "- `buyer`: Restricts the buy operation to a specific account.", + "", + "Emits `ItemPriceSet` on success if the price is not `None`.", + "Emits `ItemPriceRemoved` on success if the price is `None`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3319", + "name": "buy_item", + "docs": [ + "Allows to buy an item if it's up for sale.", + "", + "Origin must be Signed and must not be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item the sender wants to buy.", + "- `bid_price`: The price the sender is willing to pay.", + "", + "Emits `ItemBought` on success." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + } + ], + "calls_value": { + "type": 255 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some `item` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some `item` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3308", + "name": "CollectionFrozen", + "docs": [ + "Some `collection` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3309", + "name": "CollectionThawed", + "docs": [ + "Some `collection` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "ItemStatusChanged", + "docs": [ + "A `collection` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330f", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "item", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec" + ] + }, + { + "lookup": "3316", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "3317", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "3318", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the instance." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "3319", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the instance was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "331a", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + } + ], + "events_value": { + "type": 93 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The item ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The item or collection is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership of the collection is acceptable." + ] + }, + { + "name": "Locked", + "doc": [ + "The item is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyAlreadySet", + "doc": [ + "The max supply has already been set." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less to the amount of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + } + ], + "errors_value": { + "type": 297 + }, + "index": 51 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v9370.json b/src/demo_substrate_events/abi/assethub/v9370.json new file mode 100644 index 000000000..64a9b3141 --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v9370.json @@ -0,0 +1,9589 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:dispatch:PerDispatchClass@7", + "PlainTypeValue": 7 + }, + "fallback": "0x000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 11 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 12 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 17 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: The item is unbound and should therefore never be read on chain.", + " It could otherwise inflate the PoV size of a block.", + "", + " Events have a large in-memory size. Box the events to not go out-of-memory", + " just in case someone still reads them from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 11, + "value_id": 101 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 103 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 99 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "remark", + "docs": [ + "Make some on-chain remark.", + "", + "# ", + "- `O(1)`", + "# " + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0001", + "name": "set_heap_pages", + "docs": [ + "Set the number of pages in the WebAssembly environment's heap." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0002", + "name": "set_code", + "docs": [ + "Set the new runtime code.", + "", + "# ", + "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`", + "- 1 call to `can_set_code`: `O(S)` (calls `sp_io::misc::runtime_version` which is", + " expensive).", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime, but generally this is very", + "expensive. We will treat this as a full block.", + "# " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0003", + "name": "set_code_without_checks", + "docs": [ + "Set the new runtime code without doing any checks of the given `code`.", + "", + "# ", + "- `O(C)` where `C` length of `code`", + "- 1 storage write (codec `O(C)`).", + "- 1 digest item.", + "- 1 event.", + "The weight of this function is dependent on the runtime. We will treat this as a full", + "block. # " + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_storage", + "docs": [ + "Set some items of storage." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0005", + "name": "kill_storage", + "docs": [ + "Kill some items from storage." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_prefix", + "docs": [ + "Kill all storage items with a key that starts with the given prefix.", + "", + "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", + "the prefix we are removing to accurately calculate the weight of this function." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0007", + "name": "remark_with_event", + "docs": [ + "Make some on-chain remark and emit event." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 105 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + } + ], + "events_value": { + "type": 20 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 109, + "constants_value": "0700f2052a0100070088526a74020040010265cd1d000107c0d22c76510200e000010700e6bd4f570200f0000100000265cd1d000107c074c1906e0200300101070088526a7402004001010700a2941a1d020050000265cd1d00000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:dispatch:PerDispatchClass@114", + "type_value": 113, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "00100000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "sp_weights:RuntimeDbWeight", + "type_value": 115, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 116, + "constants_value": "2473746174656d696e742473746174656d696e74010000009a240000000000002cdd718d5cc53262d401000000df6acb689907609b0400000037e397fc7c91f5e40100000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a802000000f3ff14d5ab52705902000000ea93e3f16f3d6962020000000b00000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 90, + "constants_value": "0000", + "docs": [ + " The designated SS58 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + } + ], + "errors_value": { + "type": 120 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 12 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][well_known_keys::CODE]", + " which will result the next block process with the new validation code. This concludes the upgrade process.", + "", + " [well_known_keys::CODE]: sp_core::storage::well_known_keys::CODE" + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 12 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v2:PersistedValidationData", + "PlainTypeValue": 121 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "LastRelayChainBlockNumber", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The relay chain block number associated with the last parachain block." + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 123 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelayStateProof", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 125 + }, + "fallback": "0x00", + "docs": [ + " The state proof for the last relay parent block.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 127 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v2:AbridgedHostConfiguration", + "PlainTypeValue": 131 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 132 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 133 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 136 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 108 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 108 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 8 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 11 + }, + "fallback": "0x00", + "docs": [ + " The next authorized upgrade, if there is one." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 12 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See [`Pallet::set_custom_validation_head_data`] for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "Set the current validation data.", + "", + "This should be invoked exactly once per block. It will panic at the finalization", + "phase if the call was not invoked.", + "", + "The dispatch origin for this call must be `Inherent`", + "", + "As a side effect, this function upgrades the current validation function", + "if the appropriate time has come." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": null, + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": null, + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": null, + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 138 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "relay_chain_block_num" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade has been authorized." + ], + "args": [ + "H256" + ], + "args_name": [ + "code_hash" + ], + "args_type_name": [ + "Hash" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed." + ], + "args": [ + "U32" + ], + "args_name": [ + "count" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0105", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight." + ], + "args": [ + "sp_weights:weight_v2:Weight", + "H256" + ], + "args_name": [ + "weight_used", + "dmq_head" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + } + ], + "events_value": { + "type": 29 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending" + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function" + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run" + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block" + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block" + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 147 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 10 + }, + "fallback": "0x0000000000000000", + "docs": [ + " Current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Did the timestamp get updated in this block?" + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "Set the current time.", + "", + "This call should be invoked exactly once per block. It will panic at the finalization", + "phase, if this call hasn't been invoked by that time.", + "", + "The timestamp should be greater than the previous one by the amount specified by", + "`MinimumPeriod`.", + "", + "The dispatch origin for this call must be `Inherent`.", + "", + "# ", + "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", + "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in", + " `on_finalize`)", + "- 1 event handler `on_timestamp_set`. Must be `O(1)`.", + "# " + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 148 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 10, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks. Beware that this is different to the *expected*", + " period that the block production apparatus provides. Your chosen consensus system will", + " generally work with this to determine a sensible block time. e.g. For Aura, it will be", + " double this period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 41 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "InactiveIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units of outstanding deactivated balance in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 149 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 153 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer", + "docs": [ + "Transfer some liquid free balance to another account.", + "", + "`transfer` will set the `FreeBalance` of the sender and receiver.", + "If the sender's account is below the existential deposit as a result", + "of the transfer, the account will be reaped.", + "", + "The dispatch origin for this call must be `Signed` by the transactor.", + "", + "# ", + "- Dependent on arguments but not critical, given proper implementations for input config", + " types. See related functions below.", + "- It contains a limited number of reads and writes internally and no complex", + " computation.", + "", + "Related functions:", + "", + " - `ensure_can_withdraw` is always called internally but has a bounded complexity.", + " - Transferring balances to accounts that did not exist before will cause", + " `T::OnNewAccount::on_new_account` to be called.", + " - Removing enough funds from an account will trigger `T::DustRemoval::on_unbalanced`.", + " - `transfer_keep_alive` works the same way as `transfer`, but has an additional check", + " that the transfer will not kill the origin account.", + "---------------------------------", + "- Origin account is already in memory, so no DB operations for them.", + "# " + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a01", + "name": "set_balance", + "docs": [ + "Set the balances of a given account.", + "", + "This will alter `FreeBalance` and `ReservedBalance` in storage. it will", + "also alter the total issuance of the system (`TotalIssuance`) appropriately.", + "If the new free or reserved balance is below the existential deposit,", + "it will reset the account nonce (`frame_system::AccountNonce`).", + "", + "The dispatch origin for this call is `root`." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "new_reserved", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "Exactly as `transfer`, except the origin must be root and the source account may be", + "specified.", + "# ", + "- Same as transfer, but additional read and write because the source account is not", + " assumed to be in the overlay.", + "# " + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "Same as the [`transfer`] call, but with a check that the transfer will not kill the", + "origin account.", + "", + "99% of the time you want [`transfer`] instead.", + "", + "[`transfer`]: struct.Pallet.html#method.transfer" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "Transfer the entire transferable balance from the caller account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the account has, causing the sender account to be killed (false), or", + " transfer everything except at least the existential deposit, which will guarantee to", + " keep the sender account alive (true). # ", + "- O(1). Just like transfer, but reading the user's transferable balance first.", + " #" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "Unreserve some balance from a user by force.", + "", + "Can only be called by ROOT." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 156 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "free", + "reserved" + ], + "args_type_name": [ + "AccountId", + "Balance", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 30 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open." + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value" + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal" + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value." + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit" + ] + }, + { + "name": "KeepAlive", + "doc": [ + "Transfer/payment would kill account" + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account" + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist" + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed MaxReserves" + ] + } + ], + "errors_value": { + "type": 159 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 160 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 161 + }, + "fallback": "0x00", + "docs": null + } + ], + "events": [ + { + "lookup": "0b00", + "name": "TransactionFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who`." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "actual_fee", + "tip" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf" + ] + } + ], + "events_value": { + "type": 32 + }, + "constants": [ + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "0c00", + "name": "AssetTxFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who` in an asset `asset_id`." + ], + "args": [ + "AccountId", + "U128", + "U128", + "option" + ], + "args_name": [ + "who", + "actual_fee", + "tip", + "asset_id" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf", + "Option" + ] + } + ], + "events_value": { + "type": 33 + }, + "errors": null, + "errors_value": null, + "index": 12 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Uncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 162 + }, + "fallback": "0x00", + "docs": [ + " Uncles" + ] + }, + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + }, + { + "name": "DidSetUncles", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Whether uncles were already set in this block." + ] + } + ], + "calls": [ + { + "lookup": "1400", + "name": "set_uncles", + "docs": [ + "Provide a set of uncles." + ], + "args": [ + { + "name": "new_uncles", + "type": "Vec", + "type_name": "Vec
" + } + ] + } + ], + "calls_value": { + "type": 165 + }, + "constants": [ + { + "name": "UncleGenerations", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The number of blocks back we should accept uncles.", + " This means that we will deal with uncle-parents that are", + " `UncleGenerations + 1` before `now`." + ] + } + ], + "errors": [ + { + "name": "InvalidUncleParent", + "doc": [ + "The uncle parent not in the chain." + ] + }, + { + "name": "UnclesAlreadySet", + "doc": [ + "Uncles already set in the block." + ] + }, + { + "name": "TooManyUncles", + "doc": [ + "Too many uncles." + ] + }, + { + "name": "GenesisUncle", + "doc": [ + "The uncle is genesis." + ] + }, + { + "name": "TooHighUncle", + "doc": [ + "The uncle is too high in chain." + ] + }, + { + "name": "UncleAlreadyIncluded", + "doc": [ + "The uncle is already included." + ] + }, + { + "name": "OldUncle", + "doc": [ + "The uncle isn't recent enough to be included." + ] + } + ], + "errors_value": { + "type": 169 + }, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 170 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, fixed collators." + ] + }, + { + "name": "Candidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 171 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "Set the list of invulnerable (fixed) collators." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "Set the ideal number of collators (not including the invulnerables).", + "If lowering this number, then the number of running collators could be higher than this figure.", + "Aside from that edge case, there should be no other way to have more collators than the desired number." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "Set the candidacy bond amount." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "Register this account as a collator candidate. The account must (a) already have", + "registered session keys and (b) be able to reserve the `CandidacyBond`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "Deregister `origin` as a collator candidate. Note that the collator can only leave on", + "session change. The `CandidacyBond` will be unreserved immediately.", + "", + "This call will fail if the total number of candidates would drop below `MinCandidates`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + } + ], + "calls_value": { + "type": 174 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": null, + "args": [ + "Vec" + ], + "args_name": [ + "invulnerables" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "NewDesiredCandidates", + "docs": null, + "args": [ + "U32" + ], + "args_name": [ + "desired_candidates" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1502", + "name": "NewCandidacyBond", + "docs": null, + "args": [ + "U128" + ], + "args_name": [ + "bond_amount" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1503", + "name": "CandidateAdded", + "docs": null, + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1504", + "name": "CandidateRemoved", + "docs": null, + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 35 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "Too many candidates" + ] + }, + { + "name": "TooFewCandidates", + "doc": [ + "Too few candidates" + ] + }, + { + "name": "Unknown", + "doc": [ + "Unknown error" + ] + }, + { + "name": "Permission", + "doc": [ + "Permission issue" + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "User is already a candidate" + ] + }, + { + "name": "NotCandidate", + "doc": [ + "User is not a candidate" + ] + }, + { + "name": "TooManyInvulnerables", + "doc": [ + "Too many invulnerables" + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "User is already an Invulnerable" + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID" + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered" + ] + } + ], + "errors_value": { + "type": 175 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 36 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 176 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 95 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 178 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 181, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "Sets the session key(s) of the function caller to `keys`.", + "Allows an account to set its session key prior to becoming a validator.", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be signed.", + "", + "# ", + "- Complexity: `O(1)`. Actual cost depends on the number of length of", + " `T::Keys::key_ids()` which is fixed.", + "- DbReads: `origin account`, `T::ValidatorIdOf`, `NextKeys`", + "- DbWrites: `origin account`, `NextKeys`", + "- DbReads per key id: `KeyOwner`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "Removes any session key(s) of the function caller.", + "", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be Signed and the account must be either be", + "convertible to a validator ID using the chain's typical addressing system (this usually", + "means being a controller account) or directly convertible into a validator ID (which", + "usually means being a stash account).", + "", + "# ", + "- Complexity: `O(1)` in number of key types. Actual cost depends on the number of length", + " of `T::Keys::key_ids()` which is fixed.", + "- DbReads: `T::ValidatorIdOf`, `NextKeys`, `origin account`", + "- DbWrites: `NextKeys`, `origin account`", + "- DbWrites per key id: `KeyOwner`", + "# " + ], + "args": null + } + ], + "calls_value": { + "type": 183 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 37 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 184 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 185 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 187 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 185 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will always", + " be updated to the latest AuRa authorities in `on_finalize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 188 + }, + "fallback": "0x00", + "docs": [ + " Status of the inbound XCMP channels." + ] + }, + { + "name": "InboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 194, + "value_id": 12 + } + }, + "fallback": "0x00", + "docs": [ + " Inbound aggregate XCMP messages. It can only be one per ParaId/block." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 195 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 198, + "value_id": 12 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 41, + "value_id": 12 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 199 + }, + "fallback": "0x020000000500000001000000821a06000008000700c817a80402000400", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32U32Vec", + "keys_id": 10, + "value_id": 200 + } + }, + "fallback": "0x00", + "docs": [ + " The messages that exceeded max individual message weight budget.", + "", + " These message stay in this storage map until they are manually dispatched via", + " `service_overweight`." + ] + }, + { + "name": "OverweightCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 10 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The number of overweight messages ever recorded in `Overweight`. Also doubles as the next", + " available free overweight index." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 92 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + } + ], + "calls": [ + { + "lookup": "1e00", + "name": "service_overweight", + "docs": [ + "Services a single overweight XCM.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight XCM to service", + "- `weight_limit`: The amount of weight that XCM execution may take.", + "", + "Errors:", + "- `BadOverweightIndex`: XCM under `index` is not found in the `Overweight` storage map.", + "- `BadXcm`: XCM under `index` cannot be properly decoded into a valid XCM format.", + "- `WeightOverLimit`: XCM execution may use greater `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "XcmWeight" + } + ] + }, + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "Suspends all XCM executions for the XCMP queue, regardless of the sender's origin.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "Resumes all XCM executions for the XCMP queue.", + "", + "Note that this function doesn't change the status of the in/out bound channels.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue for the other side to be told to", + "suspend their sending.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.suspend_value`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue after which we drop any further", + "messages from the channel.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.drop_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "Overwrites the number of pages of messages which the queue must be reduced to before it signals that", + "message sending may recommence after it has been suspended.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.resume_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e06", + "name": "update_threshold_weight", + "docs": [ + "Overwrites the amount of remaining weight under which we stop processing messages.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.threshold_weight`" + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "XcmWeight" + } + ] + }, + { + "lookup": "1e07", + "name": "update_weight_restrict_decay", + "docs": [ + "Overwrites the speed to which the available weight approaches the maximum weight.", + "A lower number results in a faster progression. A value of 1 makes the entire weight available initially.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.weight_restrict_decay`." + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "XcmWeight" + } + ] + }, + { + "lookup": "1e08", + "name": "update_xcmp_max_individual_weight", + "docs": [ + "Overwrite the maximum amount of weight any individual message may consume.", + "Messages above this weight go into the overweight queue and may only be serviced explicitly.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.xcmp_max_individual_weight`." + ], + "args": [ + { + "name": "new", + "type": "U64", + "type_name": "XcmWeight" + } + ] + } + ], + "calls_value": { + "type": 201 + }, + "events": [ + { + "lookup": "1e00", + "name": "Success", + "docs": [ + "Some XCM was executed ok." + ], + "args": [ + "option", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "weight" + ], + "args_type_name": [ + "Option", + "Weight" + ] + }, + { + "lookup": "1e01", + "name": "Fail", + "docs": [ + "Some XCM failed." + ], + "args": [ + "option", + "xcm:v2:traits:Error", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "error", + "weight" + ], + "args_type_name": [ + "Option", + "XcmError", + "Weight" + ] + }, + { + "lookup": "1e02", + "name": "BadVersion", + "docs": [ + "Bad XCM version used." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e03", + "name": "BadFormat", + "docs": [ + "Bad XCM format used." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e04", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e05", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "option" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e06", + "name": "OverweightEnqueued", + "docs": [ + "An XCM exceeded the individual message weight budget." + ], + "args": [ + "U32", + "U32", + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "sender", + "sent_at", + "index", + "required" + ], + "args_type_name": [ + "ParaId", + "RelayBlockNumber", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "1e07", + "name": "OverweightServiced", + "docs": [ + "An XCM from the overweight queue was executed with the given actual weight used." + ], + "args": [ + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "index", + "used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 38 + }, + "errors": [ + { + "name": "FailedToSend", + "doc": [ + "Failed to send XCM message." + ] + }, + { + "name": "BadXcmOrigin", + "doc": [ + "Bad XCM origin." + ] + }, + { + "name": "BadXcm", + "doc": [ + "Bad XCM data." + ] + }, + { + "name": "BadOverweightIndex", + "doc": [ + "Bad overweight index." + ] + }, + { + "name": "WeightOverLimit", + "doc": [ + "Provided weight is possibly not enough to execute the message." + ] + } + ], + "errors_value": { + "type": 202 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 10 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 10, + "value_id": 203 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 11, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U32", + "keys_id": 209, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U64", + "keys_id": 209, + "value_id": 10 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "Tuple:U64U64U32", + "keys_id": 209, + "value_id": 210 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 211 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 214 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": null, + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@217", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "Execute an XCM message from a local, signed, origin.", + "", + "An event is deposited indicating whether `msg` could be executed completely or only", + "partially.", + "", + "No more than `max_weight` will be used in its attempted execution. If this is less than the", + "maximum amount of weight that the message could take to be executed, then no execution", + "attempt will be made.", + "", + "NOTE: A successful return to this does *not* imply that the `msg` was executed successfully", + "to completion; only that *some* of it was executed." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@226", + "type_name": "Box::RuntimeCall>>" + }, + { + "name": "max_weight", + "type": "U64", + "type_name": "XcmWeight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "Extoll that a particular destination can be communicated with through a particular", + "version of XCM.", + "", + "- `origin`: Must be Root.", + "- `location`: The destination that is being described.", + "- `xcm_version`: The latest version of XCM that `location` supports." + ], + "args": [ + { + "name": "location", + "type": "xcm:v1:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "xcm_version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "Set a safe XCM version (the version that XCM should be encoded with if the most recent", + "version a destination can accept is unknown).", + "", + "- `origin`: Must be Root.", + "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "Ask a location to notify us regarding their XCM version and any changes to it.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we should subscribe for XCM version notifications." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "Require that a particular destination should no longer notify us regarding any XCM", + "version changes.", + "", + "- `origin`: Must be Root.", + "- `location`: The location to which we are currently subscribed for XCM version", + " notifications which we no longer desire." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v2:WeightLimit", + "type_name": "WeightLimit" + } + ] + } + ], + "calls_value": { + "type": 216 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted.", + "", + "\\[ outcome \\]" + ], + "args": [ + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent.", + "", + "\\[ origin, destination, message \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "xcm:v1:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiLocation", + "Xcm<()>" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call.", + "", + "\\[ id, response \\]" + ], + "args": [ + "U64", + "xcm:v2:Response" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification could", + "not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result.", + "", + "\\[ id, pallet index, call index, actual weight, max budgeted weight \\]" + ], + "args": [ + "U64", + "U8", + "U8", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "", + "", + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon.", + "", + "\\[ origin location, id, expected location \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "option" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed.", + "", + "\\[ id \\]" + ], + "args": [ + "U64" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap.", + "", + "\\[ hash, origin, assets \\]" + ], + "args": [ + "H256", + "xcm:v1:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "\\[ destination, result \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention.", + "", + "\\[ location, XCM version \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it.", + "", + "\\[ location, query ID, error \\]" + ], + "args": [ + "xcm:v1:multilocation:MultiLocation", + "U64", + "xcm:v2:traits:Error" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format.", + "", + "\\[ location, query ID \\]" + ], + "args": [ + "xcm:VersionedMultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "VersionedMultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f10", + "name": "AssetsClaimed", + "docs": [ + "Some assets have been claimed from an asset trap", + "", + "\\[ hash, origin, assets \\]" + ], + "args": [ + "H256", + "xcm:v1:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + } + ], + "events_value": { + "type": 42 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message. Perhaps", + "a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `MultiLocation` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + } + ], + "errors_value": { + "type": 239 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 8]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 8]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 8]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 8]", + "Outcome" + ] + } + ], + "events_value": { + "type": 81 + }, + "errors": null, + "errors_value": { + "type": 240 + }, + "index": 32 + }, + { + "name": "DmpQueue", + "prefix": "DmpQueue", + "storage": [ + { + "name": "Configuration", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 241 + }, + "fallback": "0x0700e40b540202000400", + "docs": [ + " The configuration." + ] + }, + { + "name": "PageIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_dmp_queue:PageIndexData", + "PlainTypeValue": 242 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The page index." + ] + }, + { + "name": "Pages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec>", + "keys_id": 4, + "value_id": 243 + } + }, + "fallback": "0x00", + "docs": [ + " The queue pages." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32Vec", + "keys_id": 10, + "value_id": 244 + } + }, + "fallback": "0x00", + "docs": [ + " The overweight messages." + ] + } + ], + "calls": [ + { + "lookup": "2100", + "name": "service_overweight", + "docs": [ + "Service a single overweight message.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight message to service.", + "- `weight_limit`: The amount of weight that message execution may take.", + "", + "Errors:", + "- `Unknown`: Message of `index` is unknown.", + "- `OverLimit`: Message execution may use greater than `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "U64", + "type_name": "XcmWeight" + } + ] + } + ], + "calls_value": { + "type": 245 + }, + "events": [ + { + "lookup": "2100", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2101", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2102", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome." + ], + "args": [ + "[U8; 32]", + "xcm:v2:traits:Outcome" + ], + "args_name": [ + "message_id", + "outcome" + ], + "args_type_name": [ + "MessageId", + "Outcome" + ] + }, + { + "lookup": "2103", + "name": "WeightExhausted", + "docs": [ + "The weight limit for handling downward messages was reached." + ], + "args": [ + "[U8; 32]", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_id", + "remaining_weight", + "required_weight" + ], + "args_type_name": [ + "MessageId", + "Weight", + "Weight" + ] + }, + { + "lookup": "2104", + "name": "OverweightEnqueued", + "docs": [ + "Downward message is overweight and was placed in the overweight queue." + ], + "args": [ + "[U8; 32]", + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_id", + "overweight_index", + "required_weight" + ], + "args_type_name": [ + "MessageId", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "2105", + "name": "OverweightServiced", + "docs": [ + "Downward message from the overweight queue was executed." + ], + "args": [ + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "overweight_index", + "weight_used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 82 + }, + "errors": [ + { + "name": "Unknown", + "doc": [ + "The message index given is unknown." + ] + }, + { + "name": "OverLimit", + "doc": [ + "The amount of weight given is possibly not enough for executing the message." + ] + } + ], + "errors_value": { + "type": 246 + }, + "index": 33 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "Send a batch of dispatch calls.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatched without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# ", + "", + "This will return `Ok` in all circumstances. To determine the success of the batch, an", + "event is deposited. If a call failed and the batch was interrupted, then the", + "`BatchInterrupted` event is deposited, along with the number of successful calls made", + "and the error of the failed call. If all were successful, then the `BatchCompleted`", + "event is deposited." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "Send a call through an indexed pseudonym of the sender.", + "", + "Filter from origin are passed along. The call will be dispatched with an origin which", + "use the same filter as the origin of this call.", + "", + "NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", + "because you expect `proxy` to have been used prior in the call stack and you do not want", + "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", + "in the Multisig pallet instead.", + "", + "NOTE: Prior to version *12, this was called `as_limited_sub`.", + "", + "The dispatch origin for this call must be _Signed_." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "Send a batch of dispatch calls and atomically execute them.", + "The whole transaction will rollback and fail if any of the calls failed.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatched without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# " + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "Dispatches a function call with a provided origin.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "# ", + "- O(1).", + "- Limited storage reads.", + "- One DB write (event).", + "- Weight of derivative `call` execution + T::WeightInfo::dispatch_as().", + "# " + ], + "args": [ + { + "name": "as_origin", + "type": "statemint_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2804", + "name": "force_batch", + "docs": [ + "Send a batch of dispatch calls.", + "Unlike `batch`, it allows errors and won't interrupt.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatch without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "# ", + "- Complexity: O(C) where C is the number of calls to be batched.", + "# " + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2805", + "name": "with_weight", + "docs": [ + "Dispatch a function call with a specified weight.", + "", + "This function does not check the weight of the call, and instead allows the", + "Root origin to specify the weight of the call.", + "", + "The dispatch origin for this call must be _Root_." + ], + "args": [ + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 247 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "BatchCompletedWithErrors", + "docs": [ + "Batch of dispatches completed but has errors." + ], + "args": null + }, + { + "lookup": "2803", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2804", + "name": "ItemFailed", + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ], + "args": [ + "sp_runtime:DispatchError" + ], + "args_name": [ + "error" + ], + "args_type_name": [ + "DispatchError" + ] + }, + { + "lookup": "2805", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 83 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 264 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 265, + "value_id": 266 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "Immediately dispatch a multi-signature call using a single approval from the caller.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `other_signatories`: The accounts (other than the sender) who are part of the", + "multi-signature, but do not participate in the approval process.", + "- `call`: The call to be executed.", + "", + "Result is equivalent to the dispatched result.", + "", + "# ", + "O(Z + C) where Z is the length of the call and C its execution weight.", + "-------------------------------", + "- DB Weight: None", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "If there are enough, then dispatch the call.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call`: The call to be executed.", + "", + "NOTE: Unless this is the final approval, you will generally want to use", + "`approve_as_multi` instead, since it only requires a hash of the call.", + "", + "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", + "on success, result is `Ok` and the result from the interior call, if it was executed,", + "may be found in the deposited `MultisigExecuted` event.", + "", + "# ", + "- `O(S + Z + Call)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- The weight of the `call`.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "-------------------------------", + "- DB Weight:", + " - Reads: Multisig Storage, [Caller Account]", + " - Writes: Multisig Storage, [Caller Account]", + "- Plus Call Weight", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call_hash`: The hash of the call to be executed.", + "", + "NOTE: If this is the final approval, you will want to use `as_multi` instead.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account]", + " - Write: Multisig Storage, [Caller Account]", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", + "for this operation will be unreserved on success.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `timepoint`: The timepoint (block number and transaction index) of the first approval", + "transaction for this dispatch.", + "- `call_hash`: The hash of the call to be executed.", + "", + "# ", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- One event.", + "- I/O: 1 read `O(S)`, one remove.", + "- Storage: removes one item.", + "----------------------------------", + "- DB Weight:", + " - Read: Multisig Storage, [Caller Account], Refund Account", + " - Write: Multisig Storage, [Caller Account], Refund Account", + "# " + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 250 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 86 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00dbbb77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "00d43000000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U32", + "type_value": 4, + "constants_value": "64000000", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 268 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:VecU128", + "keys_id": 0, + "value_id": 269 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:VecU128", + "keys_id": 0, + "value_id": 273 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorised for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "Register a proxy account for the sender that is able to make calls on its behalf.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to make a proxy.", + "- `proxy_type`: The permissions allowed for this proxy account.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "Unregister a proxy account for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to remove as a proxy.", + "- `proxy_type`: The permissions currently enabled for the removed proxy account." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "Unregister all proxy accounts for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "WARNING: This may be called on accounts created by `pure`, however if done, then", + "the unreserved fees will be inaccessible. **All access to this account will be lost.**" + ], + "args": null + }, + { + "lookup": "2a04", + "name": "create_pure", + "docs": [ + "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", + "initialize it with a proxy of `proxy_type` for `origin` sender.", + "", + "Requires a `Signed` origin.", + "", + "- `proxy_type`: The type of the proxy that the sender will be registered as over the", + "new account. This will almost always be the most permissive `ProxyType` possible to", + "allow for maximum flexibility.", + "- `index`: A disambiguation index, in case this is called multiple times in the same", + "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", + "want to use `0`.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "Fails with `Duplicate` if this has already been called in this transaction, from the", + "same sender, with the same parameters.", + "", + "Fails if there are insufficient funds to pay for deposit." + ], + "args": [ + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_pure", + "docs": [ + "Removes a previously spawned pure proxy.", + "", + "WARNING: **All access to this account will be lost.** Any funds held in it will be", + "inaccessible.", + "", + "Requires a `Signed` origin, and the sender account must have been created by a call to", + "`pure` with corresponding parameters.", + "", + "- `spawner`: The account that originally called `pure` to create this account.", + "- `index`: The disambiguation index originally passed to `pure`. Probably `0`.", + "- `proxy_type`: The proxy type originally passed to `pure`.", + "- `height`: The height of the chain when the call to `pure` was processed.", + "- `ext_index`: The extrinsic index in which the call to `pure` was processed.", + "", + "Fails with `NoPermission` in case the caller is not a previously created pure", + "account whose `pure` call has corresponding parameters." + ], + "args": [ + { + "name": "spawner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumber" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "Publish the hash of a proxy-call that will be made in the future.", + "", + "This must be called some number of blocks before the corresponding `proxy` is attempted", + "if the delay associated with the proxy relationship is greater than zero.", + "", + "No more than `MaxPending` announcements may be made at any one time.", + "", + "This will take a deposit of `AnnouncementDepositFactor` as well as", + "`AnnouncementDepositBase` if there are no other pending announcements.", + "", + "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "Remove a given announcement.", + "", + "May be called by a proxy account to remove a call they previously announced and return", + "the deposit.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "Remove the given announcement of a delegate.", + "", + "May be called by a target (proxied) account to remove a call that one of their delegates", + "(`delegate`) has announced they want to execute. The deposit is returned.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `delegate`: The account that previously announced the call.", + "- `call_hash`: The hash of the call to be made." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorized for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + } + ], + "calls_value": { + "type": 252 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "PureCreated", + "docs": [ + "A pure account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U16" + ], + "args_name": [ + "pure", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + }, + { + "lookup": "2a04", + "name": "ProxyRemoved", + "docs": [ + "A proxy was removed." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + } + ], + "events_value": { + "type": 88 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "009d7277000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "a05a3200000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00d27e77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "40b56400000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 277 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 278 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 280, + "value_id": 281 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 283, + "value_id": 284 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata", + "keys_id": 4, + "value_id": 285 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "start_destroy", + "docs": [ + "Start the process of destroying a fungible asset class.", + "", + "`start_destroy` is the first in a series of extrinsics that should be called, to allow", + "destruction of an asset class.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "The asset class must be frozen before calling `start_destroy`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3203", + "name": "destroy_accounts", + "docs": [ + "Destroy all accounts associated with a given asset.", + "", + "`destroy_accounts` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedAccounts` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3204", + "name": "destroy_approvals", + "docs": [ + "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).", + "", + "`destroy_approvals` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedApprovals` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3205", + "name": "finish_destroy", + "docs": [ + "Complete destroying asset and unreserve currency.", + "", + "`finish_destroy` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state. All accounts or approvals should be destroyed before", + "hand.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each successful call emits the `Event::Destroyed` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3206", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3209", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320a", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320b", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers from an account.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320c", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320d", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320e", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320f", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3210", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3211", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3212", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3213", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3214", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3215", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3216", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3218", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3219", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321a", + "name": "touch", + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "321b", + "name": "refund", + "docs": [ + "Return the deposit (if any) of an asset account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for the account to be created.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 254 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "total_supply" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3210", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3211", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3212", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3213", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3214", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + } + ], + "events_value": { + "type": 91 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "NoProvider", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or the", + "maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + } + ], + "errors_value": { + "type": 287 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionDetails", + "keys_id": 4, + "value_id": 288 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 289, + "value_id": 85 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 290, + "value_id": 85 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemDetails", + "keys_id": 102, + "value_id": 291 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionMetadata", + "keys_id": 4, + "value_id": 292 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemMetadata", + "keys_id": 102, + "value_id": 293 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 294, + "value_id": 295 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 102, + "value_id": 296 + } + }, + "fallback": "0x00", + "docs": [ + " Price of an asset instance." + ] + }, + { + "name": "CollectionMaxSupply", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U32", + "keys_id": 4, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " Keeps track of the number of items a collection might have." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "`ItemDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `collection`: The identifier of the new collection. This must not be currently in use.", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `collection`: The identifier of the new item. This must not be currently in use.", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions", + "over this item, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.items`", + "- `m = witness.item_metadatas`", + "- `a = witness.attributes`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must be the Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: The item value of the item to be minted.", + "- `beneficiary`: The initial owner of the minted item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "Destroy a single item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item of the item to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " item is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "Move an item from the sender account to another.", + "", + "This resets the approved account of the item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item of the item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "Reevaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown of the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be frozen.", + "- `item`: The item of the item to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be thawed.", + "- `item`: The item of the item to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_collection", + "docs": [ + "Disallow further unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "", + "Emits `CollectionFrozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_collection", + "docs": [ + "Re-allow unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection to be thawed.", + "", + "Emits `CollectionThawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be", + "either the owner of the `item` or the admin of the collection.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item of the item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "", + "Important NOTE: The `approved` account gets reset after each transfer.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "Cancel the prior approval for the transfer of an item by a delegate.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the `collection`;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the item of whose approval will be cancelled.", + "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", + " which permission of transfer is delegated.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "330f", + "name": "force_item_status", + "docs": [ + "Alter the attributes of a given item.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the item.", + "- `owner`: The new Owner of this item.", + "- `issuer`: The new Issuer of this item.", + "- `admin`: The new Admin of this item.", + "- `freezer`: The new Freezer of this item.", + "- `free_holding`: Whether a deposit is taken for holding an item of this collection.", + "- `is_frozen`: Whether this collection is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `ItemStatusChanged` with the identity of the item.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3314", + "name": "set_collection_metadata", + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_collection_metadata", + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "3316", + "name": "set_accept_ownership", + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3317", + "name": "set_collection_max_supply", + "docs": [ + "Set the maximum amount of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Note: This function can only succeed once per collection.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum amount of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "3318", + "name": "set_price", + "docs": [ + "Set (or reset) the price for an item.", + "", + "Origin must be Signed and must be the owner of the asset `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item to set the price for.", + "- `price`: The price for the item. Pass `None`, to reset the price.", + "- `buyer`: Restricts the buy operation to a specific account.", + "", + "Emits `ItemPriceSet` on success if the price is not `None`.", + "Emits `ItemPriceRemoved` on success if the price is `None`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3319", + "name": "buy_item", + "docs": [ + "Allows to buy an item if it's up for sale.", + "", + "Origin must be Signed and must not be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item the sender wants to buy.", + "- `bid_price`: The price the sender is willing to pay.", + "", + "Emits `ItemBought` on success." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + } + ], + "calls_value": { + "type": 255 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some `item` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some `item` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3308", + "name": "CollectionFrozen", + "docs": [ + "Some `collection` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3309", + "name": "CollectionThawed", + "docs": [ + "Some `collection` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "ItemStatusChanged", + "docs": [ + "A `collection` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330f", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "item", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec" + ] + }, + { + "lookup": "3316", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "3317", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "3318", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the instance." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "3319", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the instance was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "331a", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + } + ], + "events_value": { + "type": 93 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The item ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The item or collection is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership of the collection is acceptable." + ] + }, + { + "name": "Locked", + "doc": [ + "The item is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyAlreadySet", + "doc": [ + "The max supply has already been set." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less to the amount of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + } + ], + "errors_value": { + "type": 297 + }, + "index": 51 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v9420.json b/src/demo_substrate_events/abi/assethub/v9420.json new file mode 100644 index 000000000..38efb641f --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v9420.json @@ -0,0 +1,10124 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:dispatch:PerDispatchClass@8", + "PlainTypeValue": 8 + }, + "fallback": "0x000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 12 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 12 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 14 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 18 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: The item is unbound and should therefore never be read on chain.", + " It could otherwise inflate the PoV size of a block.", + "", + " Events have a large in-memory size. Box the events to not go out-of-memory", + " just in case someone still reads them from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 12, + "value_id": 118 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 120 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 116 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "remark", + "docs": [ + "Make some on-chain remark.", + "", + "## Complexity", + "- `O(1)`" + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0001", + "name": "set_heap_pages", + "docs": [ + "Set the number of pages in the WebAssembly environment's heap." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0002", + "name": "set_code", + "docs": [ + "Set the new runtime code.", + "", + "## Complexity", + "- `O(C + S)` where `C` length of `code` and `S` complexity of `can_set_code`" + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0003", + "name": "set_code_without_checks", + "docs": [ + "Set the new runtime code without doing any checks of the given `code`.", + "", + "## Complexity", + "- `O(C)` where `C` length of `code`" + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_storage", + "docs": [ + "Set some items of storage." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0005", + "name": "kill_storage", + "docs": [ + "Kill some items from storage." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_prefix", + "docs": [ + "Kill all storage items with a key that starts with the given prefix.", + "", + "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", + "the prefix we are removing to accurately calculate the weight of this function." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0007", + "name": "remark_with_event", + "docs": [ + "Make some on-chain remark and emit event." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 122 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + } + ], + "events_value": { + "type": 21 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 126, + "constants_value": "0700f2052a0100070088526a74020040010265cd1d000107c0d22c76510200e000010700e6bd4f570200f0000100000265cd1d000107c074c1906e0200300101070088526a7402004001010700a2941a1d020050000265cd1d00000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:dispatch:PerDispatchClass@131", + "type_value": 130, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "00100000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "sp_weights:RuntimeDbWeight", + "type_value": 132, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 133, + "constants_value": "2473746174656d696e742473746174656d696e7401000000cc2400000000000030dd718d5cc53262d401000000df6acb689907609b0400000037e397fc7c91f5e40200000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000f3ff14d5ab52705903000000de92b8a0426b9bf602000000ea93e3f16f3d6962020000000d00000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 108, + "constants_value": "0000", + "docs": [ + " The designated SS58 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + } + ], + "errors_value": { + "type": 137 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][well_known_keys::CODE]", + " which will result the next block process with the new validation code. This concludes the upgrade process.", + "", + " [well_known_keys::CODE]: sp_core::storage::well_known_keys::CODE" + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v4:PersistedValidationData", + "PlainTypeValue": 138 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "LastRelayChainBlockNumber", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The relay chain block number associated with the last parachain block." + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 140 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelayStateProof", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 142 + }, + "fallback": "0x00", + "docs": [ + " The state proof for the last relay parent block.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 144 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v4:AbridgedHostConfiguration", + "PlainTypeValue": 149 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 150 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 151 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 154 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 125 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 125 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:CodeUpgradeAuthorization", + "PlainTypeValue": 156 + }, + "fallback": "0x00", + "docs": [ + " The next authorized upgrade, if there is one." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See [`Pallet::set_custom_validation_head_data`] for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "Set the current validation data.", + "", + "This should be invoked exactly once per block. It will panic at the finalization", + "phase if the call was not invoked.", + "", + "The dispatch origin for this call must be `Inherent`", + "", + "As a side effect, this function upgrades the current validation function", + "if the appropriate time has come." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": null, + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": [ + "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied", + "later.", + "", + "The `check_version` parameter sets a boolean flag for whether or not the runtime's spec", + "version and name should be verified on upgrade. Since the authorization only has a hash,", + "it cannot actually perform the verification.", + "", + "This call requires Root origin." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + }, + { + "name": "check_version", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": [ + "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized.", + "", + "If the authorization required a version check, this call will ensure the spec name", + "remains unchanged and that the spec version has increased.", + "", + "Note that this function will not apply the new `code`, but only attempt to schedule the", + "upgrade with the Relay Chain.", + "", + "All origins are allowed." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 157 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "relay_chain_block_num" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade has been authorized." + ], + "args": [ + "H256" + ], + "args_name": [ + "code_hash" + ], + "args_type_name": [ + "Hash" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed." + ], + "args": [ + "U32" + ], + "args_name": [ + "count" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0105", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight." + ], + "args": [ + "sp_weights:weight_v2:Weight", + "H256" + ], + "args_name": [ + "weight_used", + "dmq_head" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + }, + { + "lookup": "0106", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option<[U8; 32]>" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + } + ], + "events_value": { + "type": 30 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending." + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function." + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run." + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block." + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block." + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 166 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " Current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " Did the timestamp get updated in this block?" + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "Set the current time.", + "", + "This call should be invoked exactly once per block. It will panic at the finalization", + "phase, if this call hasn't been invoked by that time.", + "", + "The timestamp should be greater than the previous one by the amount specified by", + "`MinimumPeriod`.", + "", + "The dispatch origin for this call must be `Inherent`.", + "", + "## Complexity", + "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", + "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in", + " `on_finalize`)", + "- 1 event handler `on_timestamp_set`. Must be `O(1)`." + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 167 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 11, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks. Beware that this is different to the *expected*", + " period that the block production apparatus provides. Your chosen consensus system will", + " generally work with this to determine a sensible block time. e.g. For Aura, it will be", + " double this period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 42 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "InactiveIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units of outstanding deactivated balance in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:types:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 168 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 172 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances." + ] + }, + { + "name": "Holds", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 175 + } + }, + "fallback": "0x00", + "docs": [ + " Holds on account balances." + ] + }, + { + "name": "Freezes", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 175 + } + }, + "fallback": "0x00", + "docs": [ + " Freeze locks on account balances." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer_allow_death", + "docs": [ + "Transfer some liquid free balance to another account.", + "", + "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver.", + "If the sender's account is below the existential deposit as a result", + "of the transfer, the account will be reaped.", + "", + "The dispatch origin for this call must be `Signed` by the transactor." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a01", + "name": "set_balance_deprecated", + "docs": [ + "Set the regular balance of a given account; it also takes a reserved balance but this", + "must be the same as the account's current reserved balance.", + "", + "The dispatch origin for this call is `root`.", + "", + "WARNING: This call is DEPRECATED! Use `force_set_balance` instead." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "old_reserved", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "Exactly as `transfer_allow_death`, except the origin must be root and the source account", + "may be specified." + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not", + "kill the origin account.", + "", + "99% of the time you want [`transfer_allow_death`] instead.", + "", + "[`transfer_allow_death`]: struct.Pallet.html#method.transfer" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "Transfer the entire transferable balance from the caller account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the account has, causing the sender account to be killed (false), or", + " transfer everything except at least the existential deposit, which will guarantee to", + " keep the sender account alive (true)." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "Unreserve some balance from a user by force.", + "", + "Can only be called by ROOT." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a06", + "name": "upgrade_accounts", + "docs": [ + "Upgrade a specified account.", + "", + "- `origin`: Must be `Signed`.", + "- `who`: The account to be upgraded.", + "", + "This will waive the transaction fee if at least all but 10% of the accounts needed to", + "be upgraded. (We let some not have to be upgraded just in order to allow for the", + "possibililty of churn)." + ], + "args": [ + { + "name": "who", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0a07", + "name": "transfer", + "docs": [ + "Alias for `transfer_allow_death`, provided only for name-wise compatibility.", + "", + "WARNING: DEPRECATED! Will be released in approximately 3 months." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a08", + "name": "force_set_balance", + "docs": [ + "Set the regular balance of a given account.", + "", + "The dispatch origin for this call is `root`." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 178 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "free" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0a", + "name": "Minted", + "docs": [ + "Some amount was minted into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0b", + "name": "Burned", + "docs": [ + "Some amount was burned from an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0c", + "name": "Suspended", + "docs": [ + "Some amount was suspended from an account (it can be restored later)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0d", + "name": "Restored", + "docs": [ + "Some amount was restored into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0e", + "name": "Upgraded", + "docs": [ + "An account was upgraded." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "who" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0a0f", + "name": "Issued", + "docs": [ + "Total issuance was increased by `amount`, creating a credit to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a10", + "name": "Rescinded", + "docs": [ + "Total issuance was decreased by `amount`, creating a debt to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a11", + "name": "Locked", + "docs": [ + "Some balance was locked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a12", + "name": "Unlocked", + "docs": [ + "Some balance was unlocked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a13", + "name": "Frozen", + "docs": [ + "Some balance was frozen." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a14", + "name": "Thawed", + "docs": [ + "Some balance was thawed." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 32 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!", + "", + " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for", + " this pallet. However, you do so at your own risk: this will open up a major DoS vector.", + " In case you have multiple sources of provider references, you may also get unexpected", + " behaviour if you set this to zero.", + "", + " Bottom line: Do yourself a favour and make it at least one!" + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + }, + { + "name": "MaxHolds", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The maximum number of holds that can exist on an account at any time." + ] + }, + { + "name": "MaxFreezes", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The maximum number of individual freeze locks that can exist on an account at any time." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value." + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal." + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value." + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit." + ] + }, + { + "name": "Expendability", + "doc": [ + "Transfer/payment would kill account." + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account." + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist." + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed `MaxReserves`." + ] + }, + { + "name": "TooManyHolds", + "doc": [ + "Number of holds exceed `MaxHolds`." + ] + }, + { + "name": "TooManyFreezes", + "doc": [ + "Number of freezes exceed `MaxFreezes`." + ] + } + ], + "errors_value": { + "type": 181 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 182 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 183 + }, + "fallback": "0x00", + "docs": null + } + ], + "events": [ + { + "lookup": "0b00", + "name": "TransactionFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who`." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "actual_fee", + "tip" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf" + ] + } + ], + "events_value": { + "type": 34 + }, + "constants": [ + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "0c00", + "name": "AssetTxFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who` in an asset `asset_id`." + ], + "args": [ + "AccountId", + "U128", + "U128", + "option" + ], + "args_name": [ + "who", + "actual_fee", + "tip", + "asset_id" + ], + "args_type_name": [ + "AccountId", + "AssetBalanceOf", + "AssetBalanceOf", + "Option" + ] + } + ], + "events_value": { + "type": 35 + }, + "errors": null, + "errors_value": null, + "index": 12 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 184 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, fixed collators." + ] + }, + { + "name": "Candidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 185 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "Set the list of invulnerable (fixed) collators." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "Set the ideal number of collators (not including the invulnerables).", + "If lowering this number, then the number of running collators could be higher than this figure.", + "Aside from that edge case, there should be no other way to have more collators than the desired number." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "Set the candidacy bond amount." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "Register this account as a collator candidate. The account must (a) already have", + "registered session keys and (b) be able to reserve the `CandidacyBond`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "Deregister `origin` as a collator candidate. Note that the collator can only leave on", + "session change. The `CandidacyBond` will be unreserved immediately.", + "", + "This call will fail if the total number of candidates would drop below `MinCandidates`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + } + ], + "calls_value": { + "type": 188 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": null, + "args": [ + "Vec" + ], + "args_name": [ + "invulnerables" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "NewDesiredCandidates", + "docs": null, + "args": [ + "U32" + ], + "args_name": [ + "desired_candidates" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1502", + "name": "NewCandidacyBond", + "docs": null, + "args": [ + "U128" + ], + "args_name": [ + "bond_amount" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1503", + "name": "CandidateAdded", + "docs": null, + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1504", + "name": "CandidateRemoved", + "docs": null, + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 37 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "Too many candidates" + ] + }, + { + "name": "TooFewCandidates", + "doc": [ + "Too few candidates" + ] + }, + { + "name": "Unknown", + "doc": [ + "Unknown error" + ] + }, + { + "name": "Permission", + "doc": [ + "Permission issue" + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "User is already a candidate" + ] + }, + { + "name": "NotCandidate", + "doc": [ + "User is not a candidate" + ] + }, + { + "name": "TooManyInvulnerables", + "doc": [ + "Too many invulnerables" + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "User is already an Invulnerable" + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID" + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered" + ] + } + ], + "errors_value": { + "type": 189 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 38 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 190 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 112 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 192 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 195, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "Sets the session key(s) of the function caller to `keys`.", + "Allows an account to set its session key prior to becoming a validator.", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be signed.", + "", + "## Complexity", + "- `O(1)`. Actual cost depends on the number of length of `T::Keys::key_ids()` which is", + " fixed." + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "Removes any session key(s) of the function caller.", + "", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be Signed and the account must be either be", + "convertible to a validator ID using the chain's typical addressing system (this usually", + "means being a controller account) or directly convertible into a validator ID (which", + "usually means being a stash account).", + "", + "## Complexity", + "- `O(1)` in number of key types. Actual cost depends on the number of length of", + " `T::Keys::key_ids()` which is fixed." + ], + "args": null + } + ], + "calls_value": { + "type": 197 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 39 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 198 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 199 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 201 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 199 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will always", + " be updated to the latest AuRa authorities in `on_finalize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 202 + }, + "fallback": "0x00", + "docs": [ + " Status of the inbound XCMP channels." + ] + }, + { + "name": "InboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 208, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Inbound aggregate XCMP messages. It can only be one per ParaId/block." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 209 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 212, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 42, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 213 + }, + "fallback": "0x020000000500000001000000821a06000008000700c817a80402000400", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32U32Vec", + "keys_id": 11, + "value_id": 214 + } + }, + "fallback": "0x00", + "docs": [ + " The messages that exceeded max individual message weight budget.", + "", + " These message stay in this storage map until they are manually dispatched via", + " `service_overweight`." + ] + }, + { + "name": "CounterForOverweight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + "Counter for the related counted storage map" + ] + }, + { + "name": "OverweightCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The number of overweight messages ever recorded in `Overweight`. Also doubles as the next", + " available free overweight index." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + } + ], + "calls": [ + { + "lookup": "1e00", + "name": "service_overweight", + "docs": [ + "Services a single overweight XCM.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight XCM to service", + "- `weight_limit`: The amount of weight that XCM execution may take.", + "", + "Errors:", + "- `BadOverweightIndex`: XCM under `index` is not found in the `Overweight` storage map.", + "- `BadXcm`: XCM under `index` cannot be properly decoded into a valid XCM format.", + "- `WeightOverLimit`: XCM execution may use greater `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "Suspends all XCM executions for the XCMP queue, regardless of the sender's origin.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "Resumes all XCM executions for the XCMP queue.", + "", + "Note that this function doesn't change the status of the in/out bound channels.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue for the other side to be told to", + "suspend their sending.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.suspend_value`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue after which we drop any further", + "messages from the channel.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.drop_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "Overwrites the number of pages of messages which the queue must be reduced to before it signals that", + "message sending may recommence after it has been suspended.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.resume_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e06", + "name": "update_threshold_weight", + "docs": [ + "Overwrites the amount of remaining weight under which we stop processing messages.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.threshold_weight`" + ], + "args": [ + { + "name": "new", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e07", + "name": "update_weight_restrict_decay", + "docs": [ + "Overwrites the speed to which the available weight approaches the maximum weight.", + "A lower number results in a faster progression. A value of 1 makes the entire weight available initially.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.weight_restrict_decay`." + ], + "args": [ + { + "name": "new", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e08", + "name": "update_xcmp_max_individual_weight", + "docs": [ + "Overwrite the maximum amount of weight any individual message may consume.", + "Messages above this weight go into the overweight queue and may only be serviced explicitly.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.xcmp_max_individual_weight`." + ], + "args": [ + { + "name": "new", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 215 + }, + "events": [ + { + "lookup": "1e00", + "name": "Success", + "docs": [ + "Some XCM was executed ok." + ], + "args": [ + "option<[U8; 32]>", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "weight" + ], + "args_type_name": [ + "Option", + "Weight" + ] + }, + { + "lookup": "1e01", + "name": "Fail", + "docs": [ + "Some XCM failed." + ], + "args": [ + "option<[U8; 32]>", + "xcm:v3:traits:Error", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "error", + "weight" + ], + "args_type_name": [ + "Option", + "XcmError", + "Weight" + ] + }, + { + "lookup": "1e02", + "name": "BadVersion", + "docs": [ + "Bad XCM version used." + ], + "args": [ + "option<[U8; 32]>" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e03", + "name": "BadFormat", + "docs": [ + "Bad XCM format used." + ], + "args": [ + "option<[U8; 32]>" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e04", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "option<[U8; 32]>" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e05", + "name": "OverweightEnqueued", + "docs": [ + "An XCM exceeded the individual message weight budget." + ], + "args": [ + "U32", + "U32", + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "sender", + "sent_at", + "index", + "required" + ], + "args_type_name": [ + "ParaId", + "RelayBlockNumber", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "1e06", + "name": "OverweightServiced", + "docs": [ + "An XCM from the overweight queue was executed with the given actual weight used." + ], + "args": [ + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "index", + "used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 40 + }, + "errors": [ + { + "name": "FailedToSend", + "doc": [ + "Failed to send XCM message." + ] + }, + { + "name": "BadXcmOrigin", + "doc": [ + "Bad XCM origin." + ] + }, + { + "name": "BadXcm", + "doc": [ + "Bad XCM data." + ] + }, + { + "name": "BadOverweightIndex", + "doc": [ + "Bad overweight index." + ] + }, + { + "name": "WeightOverLimit", + "doc": [ + "Provided weight is possibly not enough to execute the message." + ] + } + ], + "errors_value": { + "type": 216 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 11, + "value_id": 217 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 12, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U32", + "keys_id": 226, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U64", + "keys_id": 226, + "value_id": 11 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "Tuple:U64sp_weights:weight_v2:WeightU32", + "keys_id": 226, + "value_id": 227 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 228 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 231 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + }, + { + "name": "RemoteLockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "xcm:VersionedAssetId" + ], + "value": "pallet_xcm:pallet:RemoteLockedFungibleRecord", + "keys_id": 233, + "value_id": 235 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on a remote chain." + ] + }, + { + "name": "LockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 236 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on this chain." + ] + }, + { + "name": "XcmExecutionSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " Global suspension state of the XCM executor." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": null, + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@240", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "Execute an XCM message from a local, signed, origin.", + "", + "An event is deposited indicating whether `msg` could be executed completely or only", + "partially.", + "", + "No more than `max_weight` will be used in its attempted execution. If this is less than the", + "maximum amount of weight that the message could take to be executed, then no execution", + "attempt will be made.", + "", + "NOTE: A successful return to this does *not* imply that the `msg` was executed successfully", + "to completion; only that *some* of it was executed." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@248", + "type_name": "Box::RuntimeCall>>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "Extoll that a particular destination can be communicated with through a particular", + "version of XCM.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `location`: The destination that is being described.", + "- `xcm_version`: The latest version of XCM that `location` supports." + ], + "args": [ + { + "name": "location", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "xcm_version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "Set a safe XCM version (the version that XCM should be encoded with if the most recent", + "version a destination can accept is unknown).", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "Ask a location to notify us regarding their XCM version and any changes to it.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `location`: The location to which we should subscribe for XCM version notifications." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "Require that a particular destination should no longer notify us regarding any XCM", + "version changes.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `location`: The location to which we are currently subscribed for XCM version", + " notifications which we no longer desire." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f0a", + "name": "force_suspension", + "docs": [ + "Set or unset the global suspension state of the XCM executor.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `suspended`: `true` to suspend, `false` to resume." + ], + "args": [ + { + "name": "suspended", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 239 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted.", + "", + "\\[ outcome \\]" + ], + "args": [ + "xcm:v3:traits:Outcome" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent.", + "", + "\\[ origin, destination, message \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "xcm:v3:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiLocation", + "Xcm<()>" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call.", + "", + "\\[ id, response \\]" + ], + "args": [ + "U64", + "xcm:v3:Response" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification could", + "not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result.", + "", + "\\[ id, pallet index, call index, actual weight, max budgeted weight \\]" + ], + "args": [ + "U64", + "U8", + "U8", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "", + "", + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon.", + "", + "\\[ origin location, id, expected location \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "U64", + "option" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed.", + "", + "\\[ id \\]" + ], + "args": [ + "U64" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap.", + "", + "\\[ hash, origin, assets \\]" + ], + "args": [ + "H256", + "xcm:v3:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "The cost of sending it (borne by the chain) is included.", + "", + "\\[ destination, result, cost \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "U32", + "Vec" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion", + "MultiAssets" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention.", + "", + "\\[ location, XCM version \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it.", + "", + "\\[ location, query ID, error \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "U64", + "xcm:v3:traits:Error" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format.", + "", + "\\[ location, query ID \\]" + ], + "args": [ + "xcm:VersionedMultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "VersionedMultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f10", + "name": "InvalidQuerierVersion", + "docs": [ + "Expected query response has been received but the expected querier location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f11", + "name": "InvalidQuerier", + "docs": [ + "Expected query response has been received but the querier location of the response does", + "not match the expected. The query remains registered for a later, valid, response to", + "be received and acted upon.", + "", + "\\[ origin location, id, expected querier, maybe actual querier \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "U64", + "xcm:v3:multilocation:MultiLocation", + "option" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "MultiLocation", + "Option" + ] + }, + { + "lookup": "1f12", + "name": "VersionNotifyStarted", + "docs": [ + "A remote has requested XCM version change notification from us and we have honored it.", + "A version information message is sent to them and its cost is included.", + "", + "\\[ destination location, cost \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiAssets" + ] + }, + { + "lookup": "1f13", + "name": "VersionNotifyRequested", + "docs": [ + "We have requested that a remote chain sends us XCM version change notifications.", + "", + "\\[ destination location, cost \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiAssets" + ] + }, + { + "lookup": "1f14", + "name": "VersionNotifyUnrequested", + "docs": [ + "We have requested that a remote chain stops sending us XCM version change notifications.", + "", + "\\[ destination location, cost \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiAssets" + ] + }, + { + "lookup": "1f15", + "name": "FeesPaid", + "docs": [ + "Fees were paid from a location for an operation (often for using `SendXcm`).", + "", + "\\[ paying location, fees \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiAssets" + ] + }, + { + "lookup": "1f16", + "name": "AssetsClaimed", + "docs": [ + "Some assets have been claimed from an asset trap", + "", + "\\[ hash, origin, assets \\]" + ], + "args": [ + "H256", + "xcm:v3:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + } + ], + "events_value": { + "type": 43 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message. Perhaps", + "a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `MultiLocation` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + }, + { + "name": "InvalidAsset", + "doc": [ + "Invalid asset for the operation." + ] + }, + { + "name": "LowBalance", + "doc": [ + "The owner does not own (all) of the asset that they wish to do the operation on." + ] + }, + { + "name": "TooManyLocks", + "doc": [ + "The asset owner has too many locks on the asset." + ] + }, + { + "name": "AccountNotSovereign", + "doc": [ + "The given account is not an identifiable sovereign account for any location." + ] + }, + { + "name": "FeesNotMet", + "doc": [ + "The operation required fees to be paid which the initiator could not meet." + ] + }, + { + "name": "LockNotFound", + "doc": [ + "A remote lock with the corresponding data could not be found." + ] + }, + { + "name": "InUse", + "doc": [ + "The unlock operation cannot succeed because there are still users of the lock." + ] + } + ], + "errors_value": { + "type": 256 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 32]", + "xcm:v3:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 32]", + "Outcome" + ] + } + ], + "events_value": { + "type": 99 + }, + "errors": null, + "errors_value": { + "type": 257 + }, + "index": 32 + }, + { + "name": "DmpQueue", + "prefix": "DmpQueue", + "storage": [ + { + "name": "Configuration", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 258 + }, + "fallback": "0x0700e40b540202000400", + "docs": [ + " The configuration." + ] + }, + { + "name": "PageIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_dmp_queue:PageIndexData", + "PlainTypeValue": 259 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The page index." + ] + }, + { + "name": "Pages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec>", + "keys_id": 4, + "value_id": 260 + } + }, + "fallback": "0x00", + "docs": [ + " The queue pages." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32Vec", + "keys_id": 11, + "value_id": 261 + } + }, + "fallback": "0x00", + "docs": [ + " The overweight messages." + ] + }, + { + "name": "CounterForOverweight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + "Counter for the related counted storage map" + ] + } + ], + "calls": [ + { + "lookup": "2100", + "name": "service_overweight", + "docs": [ + "Service a single overweight message." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 262 + }, + "events": [ + { + "lookup": "2100", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2101", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2102", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome." + ], + "args": [ + "[U8; 32]", + "xcm:v3:traits:Outcome" + ], + "args_name": [ + "message_id", + "outcome" + ], + "args_type_name": [ + "MessageId", + "Outcome" + ] + }, + { + "lookup": "2103", + "name": "WeightExhausted", + "docs": [ + "The weight limit for handling downward messages was reached." + ], + "args": [ + "[U8; 32]", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_id", + "remaining_weight", + "required_weight" + ], + "args_type_name": [ + "MessageId", + "Weight", + "Weight" + ] + }, + { + "lookup": "2104", + "name": "OverweightEnqueued", + "docs": [ + "Downward message is overweight and was placed in the overweight queue." + ], + "args": [ + "[U8; 32]", + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_id", + "overweight_index", + "required_weight" + ], + "args_type_name": [ + "MessageId", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "2105", + "name": "OverweightServiced", + "docs": [ + "Downward message from the overweight queue was executed." + ], + "args": [ + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "overweight_index", + "weight_used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "2106", + "name": "MaxMessagesExhausted", + "docs": [ + "The maximum number of downward messages was." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + } + ], + "events_value": { + "type": 100 + }, + "errors": [ + { + "name": "Unknown", + "doc": [ + "The message index given is unknown." + ] + }, + { + "name": "OverLimit", + "doc": [ + "The amount of weight given is possibly not enough for executing the message." + ] + } + ], + "errors_value": { + "type": 263 + }, + "index": 33 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "Send a batch of dispatch calls.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatched without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "## Complexity", + "- O(C) where C is the number of calls to be batched.", + "", + "This will return `Ok` in all circumstances. To determine the success of the batch, an", + "event is deposited. If a call failed and the batch was interrupted, then the", + "`BatchInterrupted` event is deposited, along with the number of successful calls made", + "and the error of the failed call. If all were successful, then the `BatchCompleted`", + "event is deposited." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "Send a call through an indexed pseudonym of the sender.", + "", + "Filter from origin are passed along. The call will be dispatched with an origin which", + "use the same filter as the origin of this call.", + "", + "NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", + "because you expect `proxy` to have been used prior in the call stack and you do not want", + "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", + "in the Multisig pallet instead.", + "", + "NOTE: Prior to version *12, this was called `as_limited_sub`.", + "", + "The dispatch origin for this call must be _Signed_." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "Send a batch of dispatch calls and atomically execute them.", + "The whole transaction will rollback and fail if any of the calls failed.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatched without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "## Complexity", + "- O(C) where C is the number of calls to be batched." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "Dispatches a function call with a provided origin.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "## Complexity", + "- O(1)." + ], + "args": [ + { + "name": "as_origin", + "type": "statemint_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2804", + "name": "force_batch", + "docs": [ + "Send a batch of dispatch calls.", + "Unlike `batch`, it allows errors and won't interrupt.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatch without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "## Complexity", + "- O(C) where C is the number of calls to be batched." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2805", + "name": "with_weight", + "docs": [ + "Dispatch a function call with a specified weight.", + "", + "This function does not check the weight of the call, and instead allows the", + "Root origin to specify the weight of the call.", + "", + "The dispatch origin for this call must be _Root_." + ], + "args": [ + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 264 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "BatchCompletedWithErrors", + "docs": [ + "Batch of dispatches completed but has errors." + ], + "args": null + }, + { + "lookup": "2803", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2804", + "name": "ItemFailed", + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ], + "args": [ + "sp_runtime:DispatchError" + ], + "args_name": [ + "error" + ], + "args_type_name": [ + "DispatchError" + ] + }, + { + "lookup": "2805", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 101 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 281 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 282, + "value_id": 283 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "Immediately dispatch a multi-signature call using a single approval from the caller.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `other_signatories`: The accounts (other than the sender) who are part of the", + "multi-signature, but do not participate in the approval process.", + "- `call`: The call to be executed.", + "", + "Result is equivalent to the dispatched result.", + "", + "## Complexity", + "O(Z + C) where Z is the length of the call and C its execution weight." + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "If there are enough, then dispatch the call.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call`: The call to be executed.", + "", + "NOTE: Unless this is the final approval, you will generally want to use", + "`approve_as_multi` instead, since it only requires a hash of the call.", + "", + "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", + "on success, result is `Ok` and the result from the interior call, if it was executed,", + "may be found in the deposited `MultisigExecuted` event.", + "", + "## Complexity", + "- `O(S + Z + Call)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- The weight of the `call`.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call_hash`: The hash of the call to be executed.", + "", + "NOTE: If this is the final approval, you will want to use `as_multi` instead.", + "", + "## Complexity", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", + "for this operation will be unreserved on success.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `timepoint`: The timepoint (block number and transaction index) of the first approval", + "transaction for this dispatch.", + "- `call_hash`: The hash of the call to be executed.", + "", + "## Complexity", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- One event.", + "- I/O: 1 read `O(S)`, one remove.", + "- Storage: removes one item." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 267 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 104 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00dbbb77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "00d43000000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U32", + "type_value": 4, + "constants_value": "64000000", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 285 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@287U128", + "keys_id": 0, + "value_id": 286 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@291U128", + "keys_id": 0, + "value_id": 290 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorised for through", + "`add_proxy`.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "Register a proxy account for the sender that is able to make calls on its behalf.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to make a proxy.", + "- `proxy_type`: The permissions allowed for this proxy account.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "Unregister a proxy account for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to remove as a proxy.", + "- `proxy_type`: The permissions currently enabled for the removed proxy account." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "Unregister all proxy accounts for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "WARNING: This may be called on accounts created by `pure`, however if done, then", + "the unreserved fees will be inaccessible. **All access to this account will be lost.**" + ], + "args": null + }, + { + "lookup": "2a04", + "name": "create_pure", + "docs": [ + "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", + "initialize it with a proxy of `proxy_type` for `origin` sender.", + "", + "Requires a `Signed` origin.", + "", + "- `proxy_type`: The type of the proxy that the sender will be registered as over the", + "new account. This will almost always be the most permissive `ProxyType` possible to", + "allow for maximum flexibility.", + "- `index`: A disambiguation index, in case this is called multiple times in the same", + "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", + "want to use `0`.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "Fails with `Duplicate` if this has already been called in this transaction, from the", + "same sender, with the same parameters.", + "", + "Fails if there are insufficient funds to pay for deposit." + ], + "args": [ + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_pure", + "docs": [ + "Removes a previously spawned pure proxy.", + "", + "WARNING: **All access to this account will be lost.** Any funds held in it will be", + "inaccessible.", + "", + "Requires a `Signed` origin, and the sender account must have been created by a call to", + "`pure` with corresponding parameters.", + "", + "- `spawner`: The account that originally called `pure` to create this account.", + "- `index`: The disambiguation index originally passed to `pure`. Probably `0`.", + "- `proxy_type`: The proxy type originally passed to `pure`.", + "- `height`: The height of the chain when the call to `pure` was processed.", + "- `ext_index`: The extrinsic index in which the call to `pure` was processed.", + "", + "Fails with `NoPermission` in case the caller is not a previously created pure", + "account whose `pure` call has corresponding parameters." + ], + "args": [ + { + "name": "spawner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumber" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "Publish the hash of a proxy-call that will be made in the future.", + "", + "This must be called some number of blocks before the corresponding `proxy` is attempted", + "if the delay associated with the proxy relationship is greater than zero.", + "", + "No more than `MaxPending` announcements may be made at any one time.", + "", + "This will take a deposit of `AnnouncementDepositFactor` as well as", + "`AnnouncementDepositBase` if there are no other pending announcements.", + "", + "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "Remove a given announcement.", + "", + "May be called by a proxy account to remove a call they previously announced and return", + "the deposit.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "Remove the given announcement of a delegate.", + "", + "May be called by a target (proxied) account to remove a call that one of their delegates", + "(`delegate`) has announced they want to execute. The deposit is returned.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `delegate`: The account that previously announced the call.", + "- `call_hash`: The hash of the call to be made." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorized for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + } + ], + "calls_value": { + "type": 269 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "PureCreated", + "docs": [ + "A pure account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U16" + ], + "args_name": [ + "pure", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + }, + { + "lookup": "2a04", + "name": "ProxyRemoved", + "docs": [ + "A proxy was removed." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + } + ], + "events_value": { + "type": 106 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "009d7277000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "a05a3200000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00d27e77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "40b56400000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 294 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 295 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 297, + "value_id": 298 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 300, + "value_id": 301 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata", + "keys_id": 4, + "value_id": 302 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "start_destroy", + "docs": [ + "Start the process of destroying a fungible asset class.", + "", + "`start_destroy` is the first in a series of extrinsics that should be called, to allow", + "destruction of an asset class.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "The asset class must be frozen before calling `start_destroy`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3203", + "name": "destroy_accounts", + "docs": [ + "Destroy all accounts associated with a given asset.", + "", + "`destroy_accounts` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedAccounts` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3204", + "name": "destroy_approvals", + "docs": [ + "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).", + "", + "`destroy_approvals` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedApprovals` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3205", + "name": "finish_destroy", + "docs": [ + "Complete destroying asset and unreserve currency.", + "", + "`finish_destroy` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state. All accounts or approvals should be destroyed before", + "hand.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each successful call emits the `Event::Destroyed` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3206", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3209", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320a", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320b", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers from an account.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320c", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320d", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320e", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320f", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3210", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3211", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3212", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3213", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3214", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3215", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3216", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3218", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3219", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321a", + "name": "touch", + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "321b", + "name": "refund", + "docs": [ + "Return the deposit (if any) of an asset account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for the account to be created.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "321c", + "name": "set_min_balance", + "docs": [ + "Sets the minimum balance of an asset.", + "", + "Only works if there aren't any accounts that are holding the asset or if", + "the new value of `min_balance` is less than the old one.", + "", + "Origin must be Signed and the sender has to be the Owner of the", + "asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `min_balance`: The new value of `min_balance`.", + "", + "Emits `AssetMinBalanceChanged` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 271 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3210", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3211", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3212", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3213", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3214", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3215", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "U32", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + } + ], + "events_value": { + "type": 109 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + } + ], + "errors_value": { + "type": 304 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionDetails", + "keys_id": 4, + "value_id": 305 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 306, + "value_id": 103 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 307, + "value_id": 103 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemDetails", + "keys_id": 119, + "value_id": 308 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionMetadata", + "keys_id": 4, + "value_id": 309 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemMetadata", + "keys_id": 119, + "value_id": 310 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 311, + "value_id": 312 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 119, + "value_id": 313 + } + }, + "fallback": "0x00", + "docs": [ + " Price of an asset instance." + ] + }, + { + "name": "CollectionMaxSupply", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U32", + "keys_id": 4, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " Keeps track of the number of items a collection might have." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "`ItemDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `collection`: The identifier of the new collection. This must not be currently in use.", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `collection`: The identifier of the new item. This must not be currently in use.", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions", + "over this item, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.items`", + "- `m = witness.item_metadatas`", + "- `a = witness.attributes`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must be the Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: The item value of the item to be minted.", + "- `beneficiary`: The initial owner of the minted item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "Destroy a single item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item of the item to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " item is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "Move an item from the sender account to another.", + "", + "This resets the approved account of the item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item of the item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "Reevaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown of the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be frozen.", + "- `item`: The item of the item to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be thawed.", + "- `item`: The item of the item to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_collection", + "docs": [ + "Disallow further unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "", + "Emits `CollectionFrozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_collection", + "docs": [ + "Re-allow unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection to be thawed.", + "", + "Emits `CollectionThawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be", + "either the owner of the `item` or the admin of the collection.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item of the item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "", + "Important NOTE: The `approved` account gets reset after each transfer.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "Cancel the prior approval for the transfer of an item by a delegate.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the `collection`;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the item of whose approval will be cancelled.", + "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", + " which permission of transfer is delegated.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "330f", + "name": "force_item_status", + "docs": [ + "Alter the attributes of a given item.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the item.", + "- `owner`: The new Owner of this item.", + "- `issuer`: The new Issuer of this item.", + "- `admin`: The new Admin of this item.", + "- `freezer`: The new Freezer of this item.", + "- `free_holding`: Whether a deposit is taken for holding an item of this collection.", + "- `is_frozen`: Whether this collection is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `ItemStatusChanged` with the identity of the item.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3314", + "name": "set_collection_metadata", + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_collection_metadata", + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "3316", + "name": "set_accept_ownership", + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3317", + "name": "set_collection_max_supply", + "docs": [ + "Set the maximum amount of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Note: This function can only succeed once per collection.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum amount of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "3318", + "name": "set_price", + "docs": [ + "Set (or reset) the price for an item.", + "", + "Origin must be Signed and must be the owner of the asset `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item to set the price for.", + "- `price`: The price for the item. Pass `None`, to reset the price.", + "- `buyer`: Restricts the buy operation to a specific account.", + "", + "Emits `ItemPriceSet` on success if the price is not `None`.", + "Emits `ItemPriceRemoved` on success if the price is `None`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3319", + "name": "buy_item", + "docs": [ + "Allows to buy an item if it's up for sale.", + "", + "Origin must be Signed and must not be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item the sender wants to buy.", + "- `bid_price`: The price the sender is willing to pay.", + "", + "Emits `ItemBought` on success." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + } + ], + "calls_value": { + "type": 272 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some `item` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some `item` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3308", + "name": "CollectionFrozen", + "docs": [ + "Some `collection` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3309", + "name": "CollectionThawed", + "docs": [ + "Some `collection` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "ItemStatusChanged", + "docs": [ + "A `collection` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330f", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "item", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec" + ] + }, + { + "lookup": "3316", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "3317", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "3318", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the instance." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "3319", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the instance was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "331a", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + } + ], + "events_value": { + "type": 110 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The item ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The item or collection is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership of the collection is acceptable." + ] + }, + { + "name": "Locked", + "doc": [ + "The item is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyAlreadySet", + "doc": [ + "The max supply has already been set." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less to the amount of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + } + ], + "errors_value": { + "type": 314 + }, + "index": 51 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/abi/assethub/v9430.json b/src/demo_substrate_events/abi/assethub/v9430.json new file mode 100644 index 000000000..1940fcbd1 --- /dev/null +++ b/src/demo_substrate_events/abi/assethub/v9430.json @@ -0,0 +1,15129 @@ +[ + { + "name": "System", + "prefix": "System", + "storage": [ + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "frame_system:AccountInfo", + "keys_id": 0, + "value_id": 3 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The full account information for a particular account ID." + ] + }, + { + "name": "ExtrinsicCount", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total extrinsics count for the current block." + ] + }, + { + "name": "BlockWeight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "frame_support:dispatch:PerDispatchClass@8", + "PlainTypeValue": 8 + }, + "fallback": "0x000000000000", + "docs": [ + " The current weight for the block." + ] + }, + { + "name": "AllExtrinsicsLen", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Total length (in bytes) for all extrinsics put together, for the current block." + ] + }, + { + "name": "BlockHash", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "H256", + "keys_id": 4, + "value_id": 12 + } + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Map of block numbers to block hashes." + ] + }, + { + "name": "ExtrinsicData", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 4, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Extrinsics data for the current block (maps an extrinsic's index to its data)." + ] + }, + { + "name": "Number", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The current block number being processed. Set by `execute_block`." + ] + }, + { + "name": "ParentHash", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 12 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " Hash of the previous block." + ] + }, + { + "name": "Digest", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 14 + }, + "fallback": "0x00", + "docs": [ + " Digest of the current block, also part of the block header." + ] + }, + { + "name": "Events", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 18 + }, + "fallback": "0x00", + "docs": [ + " Events deposited for the current block.", + "", + " NOTE: The item is unbound and should therefore never be read on chain.", + " It could otherwise inflate the PoV size of a block.", + "", + " Events have a large in-memory size. Box the events to not go out-of-memory", + " just in case someone still reads them from within the runtime." + ] + }, + { + "name": "EventCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of events in the `Events` list." + ] + }, + { + "name": "EventTopics", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "H256" + ], + "value": "Vec", + "keys_id": 12, + "value_id": 126 + } + }, + "fallback": "0x00", + "docs": [ + " Mapping between a topic (represented by T::Hash) and a vector of indexes", + " of events in the `>` list.", + "", + " All topic vectors have deterministic storage locations depending on the topic. This", + " allows light-clients to leverage the changes trie storage tracking mechanism and", + " in case of changes fetch the list of events of interest.", + "", + " The value has the type `(T::BlockNumber, EventIndex)` because if we used only just", + " the `EventIndex` then in case if the topic has the same contents on the next block", + " no notification will be triggered thus the event might be lost." + ] + }, + { + "name": "LastRuntimeUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:LastRuntimeUpgradeInfo", + "PlainTypeValue": 128 + }, + "fallback": "0x00", + "docs": [ + " Stores the `spec_version` and `spec_name` of when the last runtime upgrade happened." + ] + }, + { + "name": "UpgradedToU32RefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that `type RefCount` is `u32`. False (default) if not." + ] + }, + { + "name": "UpgradedToTripleRefCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " True if we have upgraded so that AccountInfo contains three types of `RefCount`. False", + " (default) if not." + ] + }, + { + "name": "ExecutionPhase", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "frame_system:Phase", + "PlainTypeValue": 124 + }, + "fallback": "0x00", + "docs": [ + " The execution phase of the block." + ] + } + ], + "calls": [ + { + "lookup": "0000", + "name": "remark", + "docs": [ + "Make some on-chain remark.", + "", + "- `O(1)`" + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0001", + "name": "set_heap_pages", + "docs": [ + "Set the number of pages in the WebAssembly environment's heap." + ], + "args": [ + { + "name": "pages", + "type": "U64", + "type_name": "u64" + } + ] + }, + { + "lookup": "0002", + "name": "set_code", + "docs": [ + "Set the new runtime code." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0003", + "name": "set_code_without_checks", + "docs": [ + "Set the new runtime code without doing any checks of the given `code`." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "0004", + "name": "set_storage", + "docs": [ + "Set some items of storage." + ], + "args": [ + { + "name": "items", + "type": "VecVec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0005", + "name": "kill_storage", + "docs": [ + "Kill some items from storage." + ], + "args": [ + { + "name": "keys", + "type": "Vec>", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0006", + "name": "kill_prefix", + "docs": [ + "Kill all storage items with a key that starts with the given prefix.", + "", + "**NOTE:** We rely on the Root origin to provide us the number of subkeys under", + "the prefix we are removing to accurately calculate the weight of this function." + ], + "args": [ + { + "name": "prefix", + "type": "Vec", + "type_name": "Key" + }, + { + "name": "subkeys", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "0007", + "name": "remark_with_event", + "docs": [ + "Make some on-chain remark and emit event." + ], + "args": [ + { + "name": "remark", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 130 + }, + "events": [ + { + "lookup": "0000", + "name": "ExtrinsicSuccess", + "docs": [ + "An extrinsic completed successfully." + ], + "args": [ + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_info" + ], + "args_type_name": [ + "DispatchInfo" + ] + }, + { + "lookup": "0001", + "name": "ExtrinsicFailed", + "docs": [ + "An extrinsic failed." + ], + "args": [ + "sp_runtime:DispatchError", + "frame_support:dispatch:DispatchInfo" + ], + "args_name": [ + "dispatch_error", + "dispatch_info" + ], + "args_type_name": [ + "DispatchError", + "DispatchInfo" + ] + }, + { + "lookup": "0002", + "name": "CodeUpdated", + "docs": [ + "`:code` was updated." + ], + "args": null + }, + { + "lookup": "0003", + "name": "NewAccount", + "docs": [ + "A new account was created." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0004", + "name": "KilledAccount", + "docs": [ + "An account was reaped." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "account" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0005", + "name": "Remarked", + "docs": [ + "On on-chain remark happened." + ], + "args": [ + "AccountId", + "H256" + ], + "args_name": [ + "sender", + "hash" + ], + "args_type_name": [ + "AccountId", + "Hash" + ] + } + ], + "events_value": { + "type": 21 + }, + "constants": [ + { + "name": "BlockWeights", + "type": "frame_system:limits:BlockWeights", + "type_value": 134, + "constants_value": "0700f2052a0100070088526a74020040010265cd1d000107c0d22c76510200e000010700e6bd4f570200f0000100000265cd1d000107c074c1906e0200300101070088526a7402004001010700a2941a1d020050000265cd1d00000000", + "docs": [ + " Block & extrinsics weights: base values and limits." + ] + }, + { + "name": "BlockLength", + "type": "frame_support:dispatch:PerDispatchClass@139", + "type_value": 138, + "constants_value": "00003c000000500000005000", + "docs": [ + " The maximum length of a block (in bytes)." + ] + }, + { + "name": "BlockHashCount", + "type": "U32", + "type_value": 4, + "constants_value": "00100000", + "docs": [ + " Maximum number of block number to block hash mappings to keep (oldest pruned first)." + ] + }, + { + "name": "DbWeight", + "type": "sp_weights:RuntimeDbWeight", + "type_value": 140, + "constants_value": "40787d010000000000e1f50500000000", + "docs": [ + " The weight of runtime database operations the runtime can invoke." + ] + }, + { + "name": "Version", + "type": "sp_version:RuntimeVersion", + "type_value": 141, + "constants_value": "2473746174656d696e742473746174656d696e7401000000d62400000000000030dd718d5cc53262d401000000df6acb689907609b0400000037e397fc7c91f5e40200000040fe3ad401f8959a06000000d2bc9897eed08f1503000000f78b278be53f454c02000000ab3c0572291feb8b01000000bc9d89904f5b923f0100000037c8bb1350a9a2a804000000f3ff14d5ab52705903000000de92b8a0426b9bf602000000ea93e3f16f3d6962020000000d00000000", + "docs": [ + " Get the chain's current version." + ] + }, + { + "name": "SS58Prefix", + "type": "U16", + "type_value": 108, + "constants_value": "0000", + "docs": [ + " The designated SS58 prefix of this chain.", + "", + " This replaces the \"ss58Format\" property declared in the chain spec. Reason is", + " that the runtime should know about the prefix in order to make use of it as", + " an identifier of the chain." + ] + } + ], + "errors": [ + { + "name": "InvalidSpecName", + "doc": [ + "The name of specification does not match between the current runtime", + "and the new runtime." + ] + }, + { + "name": "SpecVersionNeedsToIncrease", + "doc": [ + "The specification version is not allowed to decrease between the current runtime", + "and the new runtime." + ] + }, + { + "name": "FailedToExtractRuntimeVersion", + "doc": [ + "Failed to extract the runtime version from the new runtime.", + "", + "Either calling `Core_version` or decoding `RuntimeVersion` failed." + ] + }, + { + "name": "NonDefaultComposite", + "doc": [ + "Suicide called when the account has non-default composite data." + ] + }, + { + "name": "NonZeroRefCount", + "doc": [ + "There is a non-zero reference count preventing the account from being purged." + ] + }, + { + "name": "CallFiltered", + "doc": [ + "The origin filter prevent the call to be dispatched." + ] + } + ], + "errors_value": { + "type": 145 + }, + "index": 0 + }, + { + "name": "ParachainSystem", + "prefix": "ParachainSystem", + "storage": [ + { + "name": "PendingValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " In case of a scheduled upgrade, this storage field contains the validation code to be applied.", + "", + " As soon as the relay chain gives us the go-ahead signal, we will overwrite the [`:code`][well_known_keys::CODE]", + " which will result the next block process with the new validation code. This concludes the upgrade process.", + "", + " [well_known_keys::CODE]: sp_core::storage::well_known_keys::CODE" + ] + }, + { + "name": "NewValidationCode", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " Validation code that is set by the parachain and is to be communicated to collator and", + " consequently the relay-chain.", + "", + " This will be cleared in `on_initialize` of each new block if no other pallet already set", + " the value." + ] + }, + { + "name": "ValidationData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v4:PersistedValidationData", + "PlainTypeValue": 146 + }, + "fallback": "0x00", + "docs": [ + " The [`PersistedValidationData`] set for this block.", + " This value is expected to be set only once per block and it's never stored", + " in the trie." + ] + }, + { + "name": "DidSetValidationCode", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " Were the validation data set to notify the relay chain?" + ] + }, + { + "name": "LastRelayChainBlockNumber", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The relay chain block number associated with the last parachain block." + ] + }, + { + "name": "UpgradeRestrictionSignal", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "option", + "PlainTypeValue": 148 + }, + "fallback": "0x00", + "docs": [ + " An option which indicates if the relay-chain restricts signalling a validation code upgrade.", + " In other words, if this is `Some` and [`NewValidationCode`] is `Some` then the produced", + " candidate will be invalid.", + "", + " This storage item is a mirror of the corresponding value for the current parachain from the", + " relay-chain. This value is ephemeral which means it doesn't hit the storage. This value is", + " set after the inherent." + ] + }, + { + "name": "RelayStateProof", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 150 + }, + "fallback": "0x00", + "docs": [ + " The state proof for the last relay parent block.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "RelevantMessagingState", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:relay_state_snapshot:MessagingStateSnapshot", + "PlainTypeValue": 152 + }, + "fallback": "0x00", + "docs": [ + " The snapshot of some state related to messaging relevant to the current parachain as per", + " the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "HostConfiguration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "polkadot_primitives:v4:AbridgedHostConfiguration", + "PlainTypeValue": 158 + }, + "fallback": "0x00", + "docs": [ + " The parachain host configuration that was obtained from the relay parent.", + "", + " This field is meant to be updated each block with the validation data inherent. Therefore,", + " before processing of the inherent, e.g. in `on_initialize` this data may be stale.", + "", + " This data is also absent from the genesis." + ] + }, + { + "name": "LastDmqMqcHead", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "H256", + "PlainTypeValue": 159 + }, + "fallback": "0x0000000000000000000000000000000000000000000000000000000000000000", + "docs": [ + " The last downward message queue chain head we have observed.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "LastHrmpMqcHeads", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 160 + }, + "fallback": "0x00", + "docs": [ + " The message queue chain heads we have observed per each channel incoming channel.", + "", + " This value is loaded before and saved after processing inbound downward messages carried", + " by the system inherent." + ] + }, + { + "name": "ProcessedDownwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Number of downward messages processed in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpWatermark", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " HRMP watermark that was set in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "HrmpOutboundMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 163 + }, + "fallback": "0x00", + "docs": [ + " HRMP messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "UpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 133 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that were sent in a block.", + "", + " This will be cleared in `on_initialize` of each new block." + ] + }, + { + "name": "PendingUpwardMessages", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec>", + "PlainTypeValue": 133 + }, + "fallback": "0x00", + "docs": [ + " Upward messages that are still pending and not yet send to the relay chain." + ] + }, + { + "name": "AnnouncedHrmpMessagesPerCandidate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " The number of HRMP messages we observed in `on_initialize` and thus used that number for", + " announcing the weight of `on_initialize` and `on_finalize`." + ] + }, + { + "name": "ReservedXcmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing XCMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "ReservedDmpWeightOverride", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 9 + }, + "fallback": "0x00", + "docs": [ + " The weight we reserve at the beginning of the block for processing DMP messages. This", + " overrides the amount set in the Config trait." + ] + }, + { + "name": "AuthorizedUpgrade", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_parachain_system:CodeUpgradeAuthorization", + "PlainTypeValue": 165 + }, + "fallback": "0x00", + "docs": [ + " The next authorized upgrade, if there is one." + ] + }, + { + "name": "CustomValidationHeadData", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 13 + }, + "fallback": "0x00", + "docs": [ + " A custom head data that should be returned as result of `validate_block`.", + "", + " See [`Pallet::set_custom_validation_head_data`] for more information." + ] + } + ], + "calls": [ + { + "lookup": "0100", + "name": "set_validation_data", + "docs": [ + "Set the current validation data.", + "", + "This should be invoked exactly once per block. It will panic at the finalization", + "phase if the call was not invoked.", + "", + "The dispatch origin for this call must be `Inherent`", + "", + "As a side effect, this function upgrades the current validation function", + "if the appropriate time has come." + ], + "args": [ + { + "name": "data", + "type": "cumulus_primitives_parachain_inherent:ParachainInherentData", + "type_name": "ParachainInherentData" + } + ] + }, + { + "lookup": "0101", + "name": "sudo_send_upward_message", + "docs": null, + "args": [ + { + "name": "message", + "type": "Vec", + "type_name": "UpwardMessage" + } + ] + }, + { + "lookup": "0102", + "name": "authorize_upgrade", + "docs": [ + "Authorize an upgrade to a given `code_hash` for the runtime. The runtime can be supplied", + "later.", + "", + "The `check_version` parameter sets a boolean flag for whether or not the runtime's spec", + "version and name should be verified on upgrade. Since the authorization only has a hash,", + "it cannot actually perform the verification.", + "", + "This call requires Root origin." + ], + "args": [ + { + "name": "code_hash", + "type": "H256", + "type_name": "Hash" + }, + { + "name": "check_version", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0103", + "name": "enact_authorized_upgrade", + "docs": [ + "Provide the preimage (runtime binary) `code` for an upgrade that has been authorized.", + "", + "If the authorization required a version check, this call will ensure the spec name", + "remains unchanged and that the spec version has increased.", + "", + "Note that this function will not apply the new `code`, but only attempt to schedule the", + "upgrade with the Relay Chain.", + "", + "All origins are allowed." + ], + "args": [ + { + "name": "code", + "type": "Vec", + "type_name": "Bytes" + } + ] + } + ], + "calls_value": { + "type": 166 + }, + "events": [ + { + "lookup": "0100", + "name": "ValidationFunctionStored", + "docs": [ + "The validation function has been scheduled to apply." + ], + "args": null + }, + { + "lookup": "0101", + "name": "ValidationFunctionApplied", + "docs": [ + "The validation function was applied as of the contained relay chain block number." + ], + "args": [ + "U32" + ], + "args_name": [ + "relay_chain_block_num" + ], + "args_type_name": [ + "RelayChainBlockNumber" + ] + }, + { + "lookup": "0102", + "name": "ValidationFunctionDiscarded", + "docs": [ + "The relay-chain aborted the upgrade process." + ], + "args": null + }, + { + "lookup": "0103", + "name": "UpgradeAuthorized", + "docs": [ + "An upgrade has been authorized." + ], + "args": [ + "H256" + ], + "args_name": [ + "code_hash" + ], + "args_type_name": [ + "Hash" + ] + }, + { + "lookup": "0104", + "name": "DownwardMessagesReceived", + "docs": [ + "Some downward messages have been received and will be processed." + ], + "args": [ + "U32" + ], + "args_name": [ + "count" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "0105", + "name": "DownwardMessagesProcessed", + "docs": [ + "Downward messages were processed using the given weight." + ], + "args": [ + "sp_weights:weight_v2:Weight", + "H256" + ], + "args_name": [ + "weight_used", + "dmq_head" + ], + "args_type_name": [ + "Weight", + "relay_chain::Hash" + ] + }, + { + "lookup": "0106", + "name": "UpwardMessageSent", + "docs": [ + "An upward message was sent to the relay chain." + ], + "args": [ + "option<[U8; 32]>" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + } + ], + "events_value": { + "type": 30 + }, + "errors": [ + { + "name": "OverlappingUpgrades", + "doc": [ + "Attempt to upgrade validation function while existing upgrade pending." + ] + }, + { + "name": "ProhibitedByPolkadot", + "doc": [ + "Polkadot currently prohibits this parachain from upgrading its validation function." + ] + }, + { + "name": "TooBig", + "doc": [ + "The supplied validation function has compiled into a blob larger than Polkadot is", + "willing to run." + ] + }, + { + "name": "ValidationDataNotAvailable", + "doc": [ + "The inherent which supplies the validation data did not run this block." + ] + }, + { + "name": "HostConfigurationNotAvailable", + "doc": [ + "The inherent which supplies the host configuration did not run this block." + ] + }, + { + "name": "NotScheduled", + "doc": [ + "No validation function upgrade is currently scheduled." + ] + }, + { + "name": "NothingAuthorized", + "doc": [ + "No code upgrade has been authorized." + ] + }, + { + "name": "Unauthorized", + "doc": [ + "The given code upgrade has not been authorized." + ] + } + ], + "errors_value": { + "type": 175 + }, + "index": 1 + }, + { + "name": "Timestamp", + "prefix": "Timestamp", + "storage": [ + { + "name": "Now", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " Current time for the current block." + ] + }, + { + "name": "DidUpdate", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " Did the timestamp get updated in this block?" + ] + } + ], + "calls": [ + { + "lookup": "0300", + "name": "set", + "docs": [ + "Set the current time.", + "", + "This call should be invoked exactly once per block. It will panic at the finalization", + "phase, if this call hasn't been invoked by that time.", + "", + "The timestamp should be greater than the previous one by the amount specified by", + "`MinimumPeriod`.", + "", + "The dispatch origin for this call must be `Inherent`.", + "", + "## Complexity", + "- `O(1)` (Note that implementations of `OnTimestampSet` must also be `O(1)`)", + "- 1 storage read and 1 storage mutation (codec `O(1)`). (because of `DidUpdate::take` in", + " `on_finalize`)", + "- 1 event handler `on_timestamp_set`. Must be `O(1)`." + ], + "args": [ + { + "name": "now", + "type": "compact", + "type_name": "Moment" + } + ] + } + ], + "calls_value": { + "type": 176 + }, + "constants": [ + { + "name": "MinimumPeriod", + "type": "U64", + "type_value": 11, + "constants_value": "7017000000000000", + "docs": [ + " The minimum period between blocks. Beware that this is different to the *expected*", + " period that the block production apparatus provides. Your chosen consensus system will", + " generally work with this to determine a sensible block time. e.g. For Aura, it will be", + " double this period on default settings." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 3 + }, + { + "name": "ParachainInfo", + "prefix": "ParachainInfo", + "storage": [ + { + "name": "ParachainId", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 42 + }, + "fallback": "0x64000000", + "docs": null + } + ], + "errors": null, + "errors_value": null, + "index": 4 + }, + { + "name": "Balances", + "prefix": "Balances", + "storage": [ + { + "name": "TotalIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units issued in the system." + ] + }, + { + "name": "InactiveIssuance", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The total units of outstanding deactivated balance in the system." + ] + }, + { + "name": "Account", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "pallet_balances:types:AccountData", + "keys_id": 0, + "value_id": 5 + } + }, + "fallback": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000080", + "docs": [ + " The Balances pallet example of storing the balance of an account.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = StorageMapShim, frame_system::Provider, AccountId, Self::AccountData>", + " }", + " ```", + "", + " You can also store the balance of an account in the `System` pallet.", + "", + " # Example", + "", + " ```nocompile", + " impl pallet_balances::Config for Runtime {", + " type AccountStore = System", + " }", + " ```", + "", + " But this comes with tradeoffs, storing account balances in the system pallet stores", + " `frame_system` data alongside the account data contrary to storing account balances in the", + " `Balances` pallet, which uses a `StorageMap` to store balances data only.", + " NOTE: This is only used in the case that this pallet is used to store balances." + ] + }, + { + "name": "Locks", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 177 + } + }, + "fallback": "0x00", + "docs": [ + " Any liquidity locks on some account balances.", + " NOTE: Should only be accessed when setting, changing and freeing a lock." + ] + }, + { + "name": "Reserves", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 181 + } + }, + "fallback": "0x00", + "docs": [ + " Named reserves on some account balances." + ] + }, + { + "name": "Holds", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 184 + } + }, + "fallback": "0x00", + "docs": [ + " Holds on account balances." + ] + }, + { + "name": "Freezes", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 184 + } + }, + "fallback": "0x00", + "docs": [ + " Freeze locks on account balances." + ] + } + ], + "calls": [ + { + "lookup": "0a00", + "name": "transfer_allow_death", + "docs": [ + "Transfer some liquid free balance to another account.", + "", + "`transfer_allow_death` will set the `FreeBalance` of the sender and receiver.", + "If the sender's account is below the existential deposit as a result", + "of the transfer, the account will be reaped.", + "", + "The dispatch origin for this call must be `Signed` by the transactor." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a01", + "name": "set_balance_deprecated", + "docs": [ + "Set the regular balance of a given account; it also takes a reserved balance but this", + "must be the same as the account's current reserved balance.", + "", + "The dispatch origin for this call is `root`.", + "", + "WARNING: This call is DEPRECATED! Use `force_set_balance` instead." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "old_reserved", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a02", + "name": "force_transfer", + "docs": [ + "Exactly as `transfer_allow_death`, except the origin must be root and the source account", + "may be specified." + ], + "args": [ + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a03", + "name": "transfer_keep_alive", + "docs": [ + "Same as the [`transfer_allow_death`] call, but with a check that the transfer will not", + "kill the origin account.", + "", + "99% of the time you want [`transfer_allow_death`] instead.", + "", + "[`transfer_allow_death`]: struct.Pallet.html#method.transfer" + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a04", + "name": "transfer_all", + "docs": [ + "Transfer the entire transferable balance from the caller account.", + "", + "NOTE: This function only attempts to transfer _transferable_ balances. This means that", + "any locked, reserved, or existential deposits (when `keep_alive` is `true`), will not be", + "transferred by this function. To ensure that this function results in a killed account,", + "you might need to prepare the account by removing any reference counters, storage", + "deposits, etc...", + "", + "The dispatch origin of this call must be Signed.", + "", + "- `dest`: The recipient of the transfer.", + "- `keep_alive`: A boolean to determine if the `transfer_all` operation should send all", + " of the funds the account has, causing the sender account to be killed (false), or", + " transfer everything except at least the existential deposit, which will guarantee to", + " keep the sender account alive (true)." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "keep_alive", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "0a05", + "name": "force_unreserve", + "docs": [ + "Unreserve some balance from a user by force.", + "", + "Can only be called by ROOT." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a06", + "name": "upgrade_accounts", + "docs": [ + "Upgrade a specified account.", + "", + "- `origin`: Must be `Signed`.", + "- `who`: The account to be upgraded.", + "", + "This will waive the transaction fee if at least all but 10% of the accounts needed to", + "be upgraded. (We let some not have to be upgraded just in order to allow for the", + "possibililty of churn)." + ], + "args": [ + { + "name": "who", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "0a07", + "name": "transfer", + "docs": [ + "Alias for `transfer_allow_death`, provided only for name-wise compatibility.", + "", + "WARNING: DEPRECATED! Will be released in approximately 3 months." + ], + "args": [ + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "value", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "0a08", + "name": "force_set_balance", + "docs": [ + "Set the regular balance of a given account.", + "", + "The dispatch origin for this call is `root`." + ], + "args": [ + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "new_free", + "type": "compact", + "type_name": "Balance" + } + ] + } + ], + "calls_value": { + "type": 187 + }, + "events": [ + { + "lookup": "0a00", + "name": "Endowed", + "docs": [ + "An account was created with some free balance." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "free_balance" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a01", + "name": "DustLost", + "docs": [ + "An account was removed whose balance was non-zero but below ExistentialDeposit,", + "resulting in an outright loss." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a02", + "name": "Transfer", + "docs": [ + "Transfer succeeded." + ], + "args": [ + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "from", + "to", + "amount" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a03", + "name": "BalanceSet", + "docs": [ + "A balance was set by root." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "free" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a04", + "name": "Reserved", + "docs": [ + "Some balance was reserved (moved from free to reserved)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a05", + "name": "Unreserved", + "docs": [ + "Some balance was unreserved (moved from reserved to free)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a06", + "name": "ReserveRepatriated", + "docs": [ + "Some balance was moved from the reserve of the first account to the second account.", + "Final argument indicates the destination balance type." + ], + "args": [ + "AccountId", + "AccountId", + "U128", + "frame_support:traits:tokens:misc:BalanceStatus" + ], + "args_name": [ + "from", + "to", + "amount", + "destination_status" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "Balance", + "Status" + ] + }, + { + "lookup": "0a07", + "name": "Deposit", + "docs": [ + "Some amount was deposited (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a08", + "name": "Withdraw", + "docs": [ + "Some amount was withdrawn from the account (e.g. for transaction fees)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a09", + "name": "Slashed", + "docs": [ + "Some amount was removed from the account (e.g. for misbehavior)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0a", + "name": "Minted", + "docs": [ + "Some amount was minted into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0b", + "name": "Burned", + "docs": [ + "Some amount was burned from an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0c", + "name": "Suspended", + "docs": [ + "Some amount was suspended from an account (it can be restored later)." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0d", + "name": "Restored", + "docs": [ + "Some amount was restored into an account." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a0e", + "name": "Upgraded", + "docs": [ + "An account was upgraded." + ], + "args": [ + "AccountId" + ], + "args_name": [ + "who" + ], + "args_type_name": [ + "AccountId" + ] + }, + { + "lookup": "0a0f", + "name": "Issued", + "docs": [ + "Total issuance was increased by `amount`, creating a credit to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a10", + "name": "Rescinded", + "docs": [ + "Total issuance was decreased by `amount`, creating a debt to be balanced." + ], + "args": [ + "U128" + ], + "args_name": [ + "amount" + ], + "args_type_name": [ + "Balance" + ] + }, + { + "lookup": "0a11", + "name": "Locked", + "docs": [ + "Some balance was locked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a12", + "name": "Unlocked", + "docs": [ + "Some balance was unlocked." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a13", + "name": "Frozen", + "docs": [ + "Some balance was frozen." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + }, + { + "lookup": "0a14", + "name": "Thawed", + "docs": [ + "Some balance was thawed." + ], + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "who", + "amount" + ], + "args_type_name": [ + "AccountId", + "Balance" + ] + } + ], + "events_value": { + "type": 32 + }, + "constants": [ + { + "name": "ExistentialDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The minimum amount required to keep an account open. MUST BE GREATER THAN ZERO!", + "", + " If you *really* need it to be zero, you can enable the feature `insecure_zero_ed` for", + " this pallet. However, you do so at your own risk: this will open up a major DoS vector.", + " In case you have multiple sources of provider references, you may also get unexpected", + " behaviour if you set this to zero.", + "", + " Bottom line: Do yourself a favour and make it at least one!" + ] + }, + { + "name": "MaxLocks", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of locks that should exist on an account.", + " Not strictly enforced, but used for weight estimation." + ] + }, + { + "name": "MaxReserves", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum number of named reserves that can exist on an account." + ] + }, + { + "name": "MaxHolds", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The maximum number of holds that can exist on an account at any time." + ] + }, + { + "name": "MaxFreezes", + "type": "U32", + "type_value": 4, + "constants_value": "00000000", + "docs": [ + " The maximum number of individual freeze locks that can exist on an account at any time." + ] + } + ], + "errors": [ + { + "name": "VestingBalance", + "doc": [ + "Vesting balance too high to send value." + ] + }, + { + "name": "LiquidityRestrictions", + "doc": [ + "Account liquidity restrictions prevent withdrawal." + ] + }, + { + "name": "InsufficientBalance", + "doc": [ + "Balance too low to send value." + ] + }, + { + "name": "ExistentialDeposit", + "doc": [ + "Value too low to create account due to existential deposit." + ] + }, + { + "name": "Expendability", + "doc": [ + "Transfer/payment would kill account." + ] + }, + { + "name": "ExistingVestingSchedule", + "doc": [ + "A vesting schedule already exists for this account." + ] + }, + { + "name": "DeadAccount", + "doc": [ + "Beneficiary account must pre-exist." + ] + }, + { + "name": "TooManyReserves", + "doc": [ + "Number of named reserves exceed `MaxReserves`." + ] + }, + { + "name": "TooManyHolds", + "doc": [ + "Number of holds exceed `MaxHolds`." + ] + }, + { + "name": "TooManyFreezes", + "doc": [ + "Number of freezes exceed `MaxFreezes`." + ] + } + ], + "errors_value": { + "type": 190 + }, + "index": 10 + }, + { + "name": "TransactionPayment", + "prefix": "TransactionPayment", + "storage": [ + { + "name": "NextFeeMultiplier", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 191 + }, + "fallback": "0x000064a7b3b6e00d0000000000000000", + "docs": null + }, + { + "name": "StorageVersion", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "pallet_transaction_payment:Releases", + "PlainTypeValue": 192 + }, + "fallback": "0x00", + "docs": null + } + ], + "events": [ + { + "lookup": "0b00", + "name": "TransactionFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who`." + ], + "args": [ + "AccountId", + "U128", + "U128" + ], + "args_name": [ + "who", + "actual_fee", + "tip" + ], + "args_type_name": [ + "AccountId", + "BalanceOf", + "BalanceOf" + ] + } + ], + "events_value": { + "type": 34 + }, + "constants": [ + { + "name": "OperationalFeeMultiplier", + "type": "U8", + "type_value": 2, + "constants_value": "05", + "docs": [ + " A fee mulitplier for `Operational` extrinsics to compute \"virtual tip\" to boost their", + " `priority`", + "", + " This value is multipled by the `final_fee` to obtain a \"virtual tip\" that is later", + " added to a tip component in regular `priority` calculations.", + " It means that a `Normal` transaction can front-run a similarly-sized `Operational`", + " extrinsic (with no tip), by including a tip value greater than the virtual tip.", + "", + " ```rust,ignore", + " // For `Normal`", + " let priority = priority_calc(tip);", + "", + " // For `Operational`", + " let virtual_tip = (inclusion_fee + tip) * OperationalFeeMultiplier;", + " let priority = priority_calc(tip + virtual_tip);", + " ```", + "", + " Note that since we use `final_fee` the multiplier applies also to the regular `tip`", + " sent with the transaction. So, not only does the transaction get a priority bump based", + " on the `inclusion_fee`, but we also amplify the impact of tips applied to `Operational`", + " transactions." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 11 + }, + { + "name": "AssetTxPayment", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "0c00", + "name": "AssetTxFeePaid", + "docs": [ + "A transaction fee `actual_fee`, of which `tip` was added to the minimum inclusion fee,", + "has been paid by `who` in an asset `asset_id`." + ], + "args": [ + "AccountId", + "U128", + "U128", + "option" + ], + "args_name": [ + "who", + "actual_fee", + "tip", + "asset_id" + ], + "args_type_name": [ + "AccountId", + "AssetBalanceOf", + "AssetBalanceOf", + "Option" + ] + } + ], + "events_value": { + "type": 35 + }, + "errors": null, + "errors_value": null, + "index": 12 + }, + { + "name": "Authorship", + "prefix": "Authorship", + "storage": [ + { + "name": "Author", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "AccountId", + "PlainTypeValue": 0 + }, + "fallback": "0x00", + "docs": [ + " Author of current block." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 20 + }, + { + "name": "CollatorSelection", + "prefix": "CollatorSelection", + "storage": [ + { + "name": "Invulnerables", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 193 + }, + "fallback": "0x00", + "docs": [ + " The invulnerable, fixed collators." + ] + }, + { + "name": "Candidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 194 + }, + "fallback": "0x00", + "docs": [ + " The (community, limited) collation candidates." + ] + }, + { + "name": "LastAuthoredBlock", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " Last block authored by collator." + ] + }, + { + "name": "DesiredCandidates", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Desired number of candidates.", + "", + " This should ideally always be less than [`Config::MaxCandidates`] for weights to be correct." + ] + }, + { + "name": "CandidacyBond", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U128", + "PlainTypeValue": 6 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " Fixed amount to deposit to become a collator.", + "", + " When a collator calls `leave_intent` they immediately receive the deposit back." + ] + } + ], + "calls": [ + { + "lookup": "1500", + "name": "set_invulnerables", + "docs": [ + "Set the list of invulnerable (fixed) collators." + ], + "args": [ + { + "name": "new", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "1501", + "name": "set_desired_candidates", + "docs": [ + "Set the ideal number of collators (not including the invulnerables).", + "If lowering this number, then the number of running collators could be higher than this figure.", + "Aside from that edge case, there should be no other way to have more collators than the desired number." + ], + "args": [ + { + "name": "max", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1502", + "name": "set_candidacy_bond", + "docs": [ + "Set the candidacy bond amount." + ], + "args": [ + { + "name": "bond", + "type": "U128", + "type_name": "BalanceOf" + } + ] + }, + { + "lookup": "1503", + "name": "register_as_candidate", + "docs": [ + "Register this account as a collator candidate. The account must (a) already have", + "registered session keys and (b) be able to reserve the `CandidacyBond`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + }, + { + "lookup": "1504", + "name": "leave_intent", + "docs": [ + "Deregister `origin` as a collator candidate. Note that the collator can only leave on", + "session change. The `CandidacyBond` will be unreserved immediately.", + "", + "This call will fail if the total number of candidates would drop below `MinCandidates`.", + "", + "This call is not available to `Invulnerable` collators." + ], + "args": null + } + ], + "calls_value": { + "type": 197 + }, + "events": [ + { + "lookup": "1500", + "name": "NewInvulnerables", + "docs": null, + "args": [ + "Vec" + ], + "args_name": [ + "invulnerables" + ], + "args_type_name": [ + "Vec" + ] + }, + { + "lookup": "1501", + "name": "NewDesiredCandidates", + "docs": null, + "args": [ + "U32" + ], + "args_name": [ + "desired_candidates" + ], + "args_type_name": [ + "u32" + ] + }, + { + "lookup": "1502", + "name": "NewCandidacyBond", + "docs": null, + "args": [ + "U128" + ], + "args_name": [ + "bond_amount" + ], + "args_type_name": [ + "BalanceOf" + ] + }, + { + "lookup": "1503", + "name": "CandidateAdded", + "docs": null, + "args": [ + "AccountId", + "U128" + ], + "args_name": [ + "account_id", + "deposit" + ], + "args_type_name": [ + "AccountId", + "BalanceOf" + ] + }, + { + "lookup": "1504", + "name": "CandidateRemoved", + "docs": null, + "args": [ + "AccountId" + ], + "args_name": [ + "account_id" + ], + "args_type_name": [ + "AccountId" + ] + } + ], + "events_value": { + "type": 37 + }, + "errors": [ + { + "name": "TooManyCandidates", + "doc": [ + "Too many candidates" + ] + }, + { + "name": "TooFewCandidates", + "doc": [ + "Too few candidates" + ] + }, + { + "name": "Unknown", + "doc": [ + "Unknown error" + ] + }, + { + "name": "Permission", + "doc": [ + "Permission issue" + ] + }, + { + "name": "AlreadyCandidate", + "doc": [ + "User is already a candidate" + ] + }, + { + "name": "NotCandidate", + "doc": [ + "User is not a candidate" + ] + }, + { + "name": "TooManyInvulnerables", + "doc": [ + "Too many invulnerables" + ] + }, + { + "name": "AlreadyInvulnerable", + "doc": [ + "User is already an Invulnerable" + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "Account has no associated validator ID" + ] + }, + { + "name": "ValidatorNotRegistered", + "doc": [ + "Validator ID is not yet registered" + ] + } + ], + "errors_value": { + "type": 198 + }, + "index": 21 + }, + { + "name": "Session", + "prefix": "Session", + "storage": [ + { + "name": "Validators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 38 + }, + "fallback": "0x00", + "docs": [ + " The current set of validators." + ] + }, + { + "name": "CurrentIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + " Current index of the session." + ] + }, + { + "name": "QueuedChanged", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " True if the underlying economic identities or weighting behind the validators", + " has changed in the queued validator set." + ] + }, + { + "name": "QueuedKeys", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 199 + }, + "fallback": "0x00", + "docs": [ + " The queued keys for the next session. When the next session begins, these keys", + " will be used to determine the validator's session keys." + ] + }, + { + "name": "DisabledValidators", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 112 + }, + "fallback": "0x00", + "docs": [ + " Indices of disabled validators.", + "", + " The vec is always kept sorted so that we can find whether a given validator is", + " disabled using binary search. It gets cleared when `on_session_ending` returns", + " a new set of identities." + ] + }, + { + "name": "NextKeys", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "[U8; 32]", + "keys_id": 0, + "value_id": 201 + } + }, + "fallback": "0x00", + "docs": [ + " The next session keys for a validator." + ] + }, + { + "name": "KeyOwner", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "[U8; 4]", + "Vec" + ], + "value": "AccountId", + "keys_id": 204, + "value_id": 0 + } + }, + "fallback": "0x00", + "docs": [ + " The owner of a key. The key is the `KeyTypeId` + the encoded key." + ] + } + ], + "calls": [ + { + "lookup": "1600", + "name": "set_keys", + "docs": [ + "Sets the session key(s) of the function caller to `keys`.", + "Allows an account to set its session key prior to becoming a validator.", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be signed.", + "", + "## Complexity", + "- `O(1)`. Actual cost depends on the number of length of `T::Keys::key_ids()` which is", + " fixed." + ], + "args": [ + { + "name": "keys", + "type": "[U8; 32]", + "type_name": "Keys" + }, + { + "name": "proof", + "type": "Vec", + "type_name": "Bytes" + } + ] + }, + { + "lookup": "1601", + "name": "purge_keys", + "docs": [ + "Removes any session key(s) of the function caller.", + "", + "This doesn't take effect until the next session.", + "", + "The dispatch origin of this function must be Signed and the account must be either be", + "convertible to a validator ID using the chain's typical addressing system (this usually", + "means being a controller account) or directly convertible into a validator ID (which", + "usually means being a stash account).", + "", + "## Complexity", + "- `O(1)` in number of key types. Actual cost depends on the number of length of", + " `T::Keys::key_ids()` which is fixed." + ], + "args": null + } + ], + "calls_value": { + "type": 206 + }, + "events": [ + { + "lookup": "1600", + "name": "NewSession", + "docs": [ + "New session has happened. Note that the argument is the session index, not the", + "block number as the type might suggest." + ], + "args": [ + "U32" + ], + "args_name": [ + "session_index" + ], + "args_type_name": [ + "SessionIndex" + ] + } + ], + "events_value": { + "type": 39 + }, + "errors": [ + { + "name": "InvalidProof", + "doc": [ + "Invalid ownership proof." + ] + }, + { + "name": "NoAssociatedValidatorId", + "doc": [ + "No associated validator ID for account." + ] + }, + { + "name": "DuplicatedKey", + "doc": [ + "Registered duplicate key." + ] + }, + { + "name": "NoKeys", + "doc": [ + "No keys are associated with this account." + ] + }, + { + "name": "NoAccount", + "doc": [ + "Key setting account is not live, so it's impossible to associate keys." + ] + } + ], + "errors_value": { + "type": 207 + }, + "index": 22 + }, + { + "name": "Aura", + "prefix": "Aura", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 208 + }, + "fallback": "0x00", + "docs": [ + " The current authority set." + ] + }, + { + "name": "CurrentSlot", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 210 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The current slot of this block.", + "", + " This will be set in `on_initialize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 23 + }, + { + "name": "AuraExt", + "prefix": "AuraExt", + "storage": [ + { + "name": "Authorities", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec<[U8; 32]>", + "PlainTypeValue": 208 + }, + "fallback": "0x00", + "docs": [ + " Serves as cache for the authorities.", + "", + " The authorities in AuRa are overwritten in `on_initialize` when we switch to a new session,", + " but we require the old authorities to verify the seal when validating a PoV. This will always", + " be updated to the latest AuRa authorities in `on_finalize`." + ] + } + ], + "errors": null, + "errors_value": null, + "index": 24 + }, + { + "name": "XcmpQueue", + "prefix": "XcmpQueue", + "storage": [ + { + "name": "InboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 211 + }, + "fallback": "0x00", + "docs": [ + " Status of the inbound XCMP channels." + ] + }, + { + "name": "InboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 217, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Inbound aggregate XCMP messages. It can only be one per ParaId/block." + ] + }, + { + "name": "OutboundXcmpStatus", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 218 + }, + "fallback": "0x00", + "docs": [ + " The non-empty XCMP channels in order of becoming non-empty, and the index of the first", + " and last outbound message. If the two indices are equal, then it indicates an empty", + " queue and there must be a non-`Ok` `OutboundStatus`. We assume queues grow no greater", + " than 65535 items. Queue indices for normal messages begin at one; zero is reserved in", + " case of the need to send a high-priority signal message this block.", + " The bool is true if there is a signal message waiting to be sent." + ] + }, + { + "name": "OutboundXcmpMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Twox64Concat" + ], + "key_vec": [ + "U32", + "U16" + ], + "value": "Vec", + "keys_id": 221, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " The messages outbound in a given XCMP channel." + ] + }, + { + "name": "SignalMessages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec", + "keys_id": 42, + "value_id": 13 + } + }, + "fallback": "0x00", + "docs": [ + " Any signal messages waiting to be sent." + ] + }, + { + "name": "QueueConfig", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_xcmp_queue:QueueConfigData", + "PlainTypeValue": 222 + }, + "fallback": "0x020000000500000001000000821a06000008000700c817a80402000400", + "docs": [ + " The configuration which controls the dynamics of the outbound queue." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32U32Vec", + "keys_id": 11, + "value_id": 223 + } + }, + "fallback": "0x00", + "docs": [ + " The messages that exceeded max individual message weight budget.", + "", + " These message stay in this storage map until they are manually dispatched via", + " `service_overweight`." + ] + }, + { + "name": "CounterForOverweight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + "Counter for the related counted storage map" + ] + }, + { + "name": "OverweightCount", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The number of overweight messages ever recorded in `Overweight`. Also doubles as the next", + " available free overweight index." + ] + }, + { + "name": "QueueSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " Whether or not the XCMP queue is suspended from executing incoming XCMs or not." + ] + } + ], + "calls": [ + { + "lookup": "1e00", + "name": "service_overweight", + "docs": [ + "Services a single overweight XCM.", + "", + "- `origin`: Must pass `ExecuteOverweightOrigin`.", + "- `index`: The index of the overweight XCM to service", + "- `weight_limit`: The amount of weight that XCM execution may take.", + "", + "Errors:", + "- `BadOverweightIndex`: XCM under `index` is not found in the `Overweight` storage map.", + "- `BadXcm`: XCM under `index` cannot be properly decoded into a valid XCM format.", + "- `WeightOverLimit`: XCM execution may use greater `weight_limit`.", + "", + "Events:", + "- `OverweightServiced`: On success." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e01", + "name": "suspend_xcm_execution", + "docs": [ + "Suspends all XCM executions for the XCMP queue, regardless of the sender's origin.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e02", + "name": "resume_xcm_execution", + "docs": [ + "Resumes all XCM executions for the XCMP queue.", + "", + "Note that this function doesn't change the status of the in/out bound channels.", + "", + "- `origin`: Must pass `ControllerOrigin`." + ], + "args": null + }, + { + "lookup": "1e03", + "name": "update_suspend_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue for the other side to be told to", + "suspend their sending.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.suspend_value`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e04", + "name": "update_drop_threshold", + "docs": [ + "Overwrites the number of pages of messages which must be in the queue after which we drop any further", + "messages from the channel.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.drop_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e05", + "name": "update_resume_threshold", + "docs": [ + "Overwrites the number of pages of messages which the queue must be reduced to before it signals that", + "message sending may recommence after it has been suspended.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.resume_threshold`" + ], + "args": [ + { + "name": "new", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1e06", + "name": "update_threshold_weight", + "docs": [ + "Overwrites the amount of remaining weight under which we stop processing messages.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.threshold_weight`" + ], + "args": [ + { + "name": "new", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e07", + "name": "update_weight_restrict_decay", + "docs": [ + "Overwrites the speed to which the available weight approaches the maximum weight.", + "A lower number results in a faster progression. A value of 1 makes the entire weight available initially.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.weight_restrict_decay`." + ], + "args": [ + { + "name": "new", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1e08", + "name": "update_xcmp_max_individual_weight", + "docs": [ + "Overwrite the maximum amount of weight any individual message may consume.", + "Messages above this weight go into the overweight queue and may only be serviced explicitly.", + "", + "- `origin`: Must pass `Root`.", + "- `new`: Desired value for `QueueConfigData.xcmp_max_individual_weight`." + ], + "args": [ + { + "name": "new", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 224 + }, + "events": [ + { + "lookup": "1e00", + "name": "Success", + "docs": [ + "Some XCM was executed ok." + ], + "args": [ + "option<[U8; 32]>", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "weight" + ], + "args_type_name": [ + "Option", + "Weight" + ] + }, + { + "lookup": "1e01", + "name": "Fail", + "docs": [ + "Some XCM failed." + ], + "args": [ + "option<[U8; 32]>", + "xcm:v3:traits:Error", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_hash", + "error", + "weight" + ], + "args_type_name": [ + "Option", + "XcmError", + "Weight" + ] + }, + { + "lookup": "1e02", + "name": "BadVersion", + "docs": [ + "Bad XCM version used." + ], + "args": [ + "option<[U8; 32]>" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e03", + "name": "BadFormat", + "docs": [ + "Bad XCM format used." + ], + "args": [ + "option<[U8; 32]>" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e04", + "name": "XcmpMessageSent", + "docs": [ + "An HRMP message was sent to a sibling parachain." + ], + "args": [ + "option<[U8; 32]>" + ], + "args_name": [ + "message_hash" + ], + "args_type_name": [ + "Option" + ] + }, + { + "lookup": "1e05", + "name": "OverweightEnqueued", + "docs": [ + "An XCM exceeded the individual message weight budget." + ], + "args": [ + "U32", + "U32", + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "sender", + "sent_at", + "index", + "required" + ], + "args_type_name": [ + "ParaId", + "RelayBlockNumber", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "1e06", + "name": "OverweightServiced", + "docs": [ + "An XCM from the overweight queue was executed with the given actual weight used." + ], + "args": [ + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "index", + "used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + } + ], + "events_value": { + "type": 40 + }, + "errors": [ + { + "name": "FailedToSend", + "doc": [ + "Failed to send XCM message." + ] + }, + { + "name": "BadXcmOrigin", + "doc": [ + "Bad XCM origin." + ] + }, + { + "name": "BadXcm", + "doc": [ + "Bad XCM data." + ] + }, + { + "name": "BadOverweightIndex", + "doc": [ + "Bad overweight index." + ] + }, + { + "name": "WeightOverLimit", + "doc": [ + "Provided weight is possibly not enough to execute the message." + ] + } + ], + "errors_value": { + "type": 225 + }, + "index": 30 + }, + { + "name": "PolkadotXcm", + "prefix": "PolkadotXcm", + "storage": [ + { + "name": "QueryCounter", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U64", + "PlainTypeValue": 11 + }, + "fallback": "0x0000000000000000", + "docs": [ + " The latest available query index." + ] + }, + { + "name": "Queries", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "pallet_xcm:pallet:QueryStatus", + "keys_id": 11, + "value_id": 226 + } + }, + "fallback": "0x00", + "docs": [ + " The ongoing queries." + ] + }, + { + "name": "AssetTraps", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Identity" + ], + "key_vec": [ + "H256" + ], + "value": "U32", + "keys_id": 12, + "value_id": 4 + } + }, + "fallback": "0x00000000", + "docs": [ + " The existing asset traps.", + "", + " Key is the blake2 256 hash of (origin, versioned `MultiAssets`) pair. Value is the number of", + " times this pair has been trapped (usually just 1 if it exists at all)." + ] + }, + { + "name": "SafeXcmVersion", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Default version to encode XCM when latest version of destination is unknown. If `None`,", + " then the destinations whose XCM version is unknown are considered unreachable." + ] + }, + { + "name": "SupportedVersion", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U32", + "keys_id": 235, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The Latest versions that we know various locations support." + ] + }, + { + "name": "VersionNotifiers", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "U64", + "keys_id": 235, + "value_id": 11 + } + }, + "fallback": "0x00", + "docs": [ + " All locations that we have requested version notifications from." + ] + }, + { + "name": "VersionNotifyTargets", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "xcm:VersionedMultiLocation" + ], + "value": "Tuple:U64sp_weights:weight_v2:WeightU32", + "keys_id": 235, + "value_id": 236 + } + }, + "fallback": "0x00", + "docs": [ + " The target locations that are subscribed to our version changes, as well as the most recent", + " of our versions we informed them of." + ] + }, + { + "name": "VersionDiscoveryQueue", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Vec", + "PlainTypeValue": 237 + }, + "fallback": "0x00", + "docs": [ + " Destinations whose latest XCM version we would like to know. Duplicates not allowed, and", + " the `u32` counter is the number of times that a send to the destination has been attempted,", + " which is used as a prioritization." + ] + }, + { + "name": "CurrentMigration", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "pallet_xcm:pallet:VersionMigrationStage", + "PlainTypeValue": 240 + }, + "fallback": "0x00", + "docs": [ + " The current migration's stage, if any." + ] + }, + { + "name": "RemoteLockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "xcm:VersionedAssetId" + ], + "value": "pallet_xcm:pallet:RemoteLockedFungibleRecord", + "keys_id": 242, + "value_id": 244 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on a remote chain." + ] + }, + { + "name": "LockedFungibles", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Vec", + "keys_id": 0, + "value_id": 248 + } + }, + "fallback": "0x00", + "docs": [ + " Fungible assets which we know are locked on this chain." + ] + }, + { + "name": "XcmExecutionSuspended", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "Bool", + "PlainTypeValue": 82 + }, + "fallback": "0x00", + "docs": [ + " Global suspension state of the XCM executor." + ] + } + ], + "calls": [ + { + "lookup": "1f00", + "name": "send", + "docs": null, + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "message", + "type": "xcm:VersionedXcm@252", + "type_name": "Box>" + } + ] + }, + { + "lookup": "1f01", + "name": "teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f02", + "name": "reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`. The weight limit for fees is not provided and thus is unlimited,", + "with all fees taken as needed from the asset.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "1f03", + "name": "execute", + "docs": [ + "Execute an XCM message from a local, signed, origin.", + "", + "An event is deposited indicating whether `msg` could be executed completely or only", + "partially.", + "", + "No more than `max_weight` will be used in its attempted execution. If this is less than the", + "maximum amount of weight that the message could take to be executed, then no execution", + "attempt will be made.", + "", + "NOTE: A successful return to this does *not* imply that the `msg` was executed successfully", + "to completion; only that *some* of it was executed." + ], + "args": [ + { + "name": "message", + "type": "xcm:VersionedXcm@260", + "type_name": "Box::RuntimeCall>>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "1f04", + "name": "force_xcm_version", + "docs": [ + "Extoll that a particular destination can be communicated with through a particular", + "version of XCM.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `location`: The destination that is being described.", + "- `xcm_version`: The latest version of XCM that `location` supports." + ], + "args": [ + { + "name": "location", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "Box" + }, + { + "name": "xcm_version", + "type": "U32", + "type_name": "XcmVersion" + } + ] + }, + { + "lookup": "1f05", + "name": "force_default_xcm_version", + "docs": [ + "Set a safe XCM version (the version that XCM should be encoded with if the most recent", + "version a destination can accept is unknown).", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `maybe_xcm_version`: The default XCM encoding version, or `None` to disable." + ], + "args": [ + { + "name": "maybe_xcm_version", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "1f06", + "name": "force_subscribe_version_notify", + "docs": [ + "Ask a location to notify us regarding their XCM version and any changes to it.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `location`: The location to which we should subscribe for XCM version notifications." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f07", + "name": "force_unsubscribe_version_notify", + "docs": [ + "Require that a particular destination should no longer notify us regarding any XCM", + "version changes.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `location`: The location to which we are currently subscribed for XCM version", + " notifications which we no longer desire." + ], + "args": [ + { + "name": "location", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + } + ] + }, + { + "lookup": "1f08", + "name": "limited_reserve_transfer_assets", + "docs": [ + "Transfer some assets from the local chain to the sovereign account of a destination", + "chain and forward a notification XCM.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. This should include the assets used to pay the fee on the", + " `dest` side.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f09", + "name": "limited_teleport_assets", + "docs": [ + "Teleport some assets from the local chain to some destination chain.", + "", + "Fee payment on the destination side is made from the asset in the `assets` vector of", + "index `fee_asset_item`, up to enough to pay for `weight_limit` of weight. If more weight", + "is needed than `weight_limit`, then the operation will fail and the assets send may be", + "at risk.", + "", + "- `origin`: Must be capable of withdrawing the `assets` and executing XCM.", + "- `dest`: Destination context for the assets. Will typically be `X2(Parent, Parachain(..))` to send", + " from parachain to parachain, or `X1(Parachain(..))` to send from relay to parachain.", + "- `beneficiary`: A beneficiary location for the assets in the context of `dest`. Will generally be", + " an `AccountId32` value.", + "- `assets`: The assets to be withdrawn. The first item should be the currency used to to pay the fee on the", + " `dest` side. May not be empty.", + "- `fee_asset_item`: The index into `assets` of the item which should be used to pay", + " fees.", + "- `weight_limit`: The remote-side weight limit, if any, for the XCM fee purchase." + ], + "args": [ + { + "name": "dest", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "beneficiary", + "type": "xcm:VersionedMultiLocation", + "type_name": "Box" + }, + { + "name": "assets", + "type": "xcm:VersionedMultiAssets", + "type_name": "Box" + }, + { + "name": "fee_asset_item", + "type": "U32", + "type_name": "u32" + }, + { + "name": "weight_limit", + "type": "xcm:v3:WeightLimit", + "type_name": "WeightLimit" + } + ] + }, + { + "lookup": "1f0a", + "name": "force_suspension", + "docs": [ + "Set or unset the global suspension state of the XCM executor.", + "", + "- `origin`: Must be an origin specified by AdminOrigin.", + "- `suspended`: `true` to suspend, `false` to resume." + ], + "args": [ + { + "name": "suspended", + "type": "Bool", + "type_name": "bool" + } + ] + } + ], + "calls_value": { + "type": 251 + }, + "events": [ + { + "lookup": "1f00", + "name": "Attempted", + "docs": [ + "Execution of an XCM message was attempted.", + "", + "\\[ outcome \\]" + ], + "args": [ + "xcm:v3:traits:Outcome" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "xcm::latest::Outcome" + ] + }, + { + "lookup": "1f01", + "name": "Sent", + "docs": [ + "A XCM message was sent.", + "", + "\\[ origin, destination, message \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "xcm:v3:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiLocation", + "Xcm<()>" + ] + }, + { + "lookup": "1f02", + "name": "UnexpectedResponse", + "docs": [ + "Query response received which does not match a registered query. This may be because a", + "matching query was never registered, it may be because it is a duplicate response, or", + "because the query timed out.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f03", + "name": "ResponseReady", + "docs": [ + "Query response has been received and is ready for taking with `take_response`. There is", + "no registered notification call.", + "", + "\\[ id, response \\]" + ], + "args": [ + "U64", + "xcm:v3:Response" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "QueryId", + "Response" + ] + }, + { + "lookup": "1f04", + "name": "Notified", + "docs": [ + "Query response has been received and query is removed. The registered notification has", + "been dispatched and executed successfully.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f05", + "name": "NotifyOverweight", + "docs": [ + "Query response has been received and query is removed. The registered notification could", + "not be dispatched because the dispatch weight is greater than the maximum weight", + "originally budgeted by this runtime for the query result.", + "", + "\\[ id, pallet index, call index, actual weight, max budgeted weight \\]" + ], + "args": [ + "U64", + "U8", + "U8", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "", + "", + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8", + "Weight", + "Weight" + ] + }, + { + "lookup": "1f06", + "name": "NotifyDispatchError", + "docs": [ + "Query response has been received and query is removed. There was a general error with", + "dispatching the notification call.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f07", + "name": "NotifyDecodeFailed", + "docs": [ + "Query response has been received and query is removed. The dispatch was unable to be", + "decoded into a `Call`; this might be due to dispatch function having a signature which", + "is not `(origin, QueryId, Response)`.", + "", + "\\[ id, pallet index, call index \\]" + ], + "args": [ + "U64", + "U8", + "U8" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "QueryId", + "u8", + "u8" + ] + }, + { + "lookup": "1f08", + "name": "InvalidResponder", + "docs": [ + "Expected query response has been received but the origin location of the response does", + "not match that expected. The query remains registered for a later, valid, response to", + "be received and acted upon.", + "", + "\\[ origin location, id, expected location \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "U64", + "option" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "Option" + ] + }, + { + "lookup": "1f09", + "name": "InvalidResponderVersion", + "docs": [ + "Expected query response has been received but the expected origin location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f0a", + "name": "ResponseTaken", + "docs": [ + "Received query response has been read and removed.", + "", + "\\[ id \\]" + ], + "args": [ + "U64" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "QueryId" + ] + }, + { + "lookup": "1f0b", + "name": "AssetsTrapped", + "docs": [ + "Some assets have been placed in an asset trap.", + "", + "\\[ hash, origin, assets \\]" + ], + "args": [ + "H256", + "xcm:v3:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + }, + { + "lookup": "1f0c", + "name": "VersionChangeNotified", + "docs": [ + "An XCM version change notification message has been attempted to be sent.", + "", + "The cost of sending it (borne by the chain) is included.", + "", + "\\[ destination, result, cost \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "U32", + "Vec" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion", + "MultiAssets" + ] + }, + { + "lookup": "1f0d", + "name": "SupportedVersionChanged", + "docs": [ + "The supported version of a location has been changed. This might be through an", + "automatic notification or a manual intervention.", + "", + "\\[ location, XCM version \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "U32" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "XcmVersion" + ] + }, + { + "lookup": "1f0e", + "name": "NotifyTargetSendFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "sending the notification to it.", + "", + "\\[ location, query ID, error \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "U64", + "xcm:v3:traits:Error" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "XcmError" + ] + }, + { + "lookup": "1f0f", + "name": "NotifyTargetMigrationFail", + "docs": [ + "A given location which had a version change subscription was dropped owing to an error", + "migrating the location to our new XCM format.", + "", + "\\[ location, query ID \\]" + ], + "args": [ + "xcm:VersionedMultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "VersionedMultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f10", + "name": "InvalidQuerierVersion", + "docs": [ + "Expected query response has been received but the expected querier location placed in", + "storage by this runtime previously cannot be decoded. The query remains registered.", + "", + "This is unexpected (since a location placed in storage in a previously executing", + "runtime should be readable prior to query timeout) and dangerous since the possibly", + "valid response will be dropped. Manual governance intervention is probably going to be", + "needed.", + "", + "\\[ origin location, id \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "U64" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId" + ] + }, + { + "lookup": "1f11", + "name": "InvalidQuerier", + "docs": [ + "Expected query response has been received but the querier location of the response does", + "not match the expected. The query remains registered for a later, valid, response to", + "be received and acted upon.", + "", + "\\[ origin location, id, expected querier, maybe actual querier \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "U64", + "xcm:v3:multilocation:MultiLocation", + "option" + ], + "args_name": [ + "", + "", + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "QueryId", + "MultiLocation", + "Option" + ] + }, + { + "lookup": "1f12", + "name": "VersionNotifyStarted", + "docs": [ + "A remote has requested XCM version change notification from us and we have honored it.", + "A version information message is sent to them and its cost is included.", + "", + "\\[ destination location, cost \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiAssets" + ] + }, + { + "lookup": "1f13", + "name": "VersionNotifyRequested", + "docs": [ + "We have requested that a remote chain sends us XCM version change notifications.", + "", + "\\[ destination location, cost \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiAssets" + ] + }, + { + "lookup": "1f14", + "name": "VersionNotifyUnrequested", + "docs": [ + "We have requested that a remote chain stops sending us XCM version change notifications.", + "", + "\\[ destination location, cost \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiAssets" + ] + }, + { + "lookup": "1f15", + "name": "FeesPaid", + "docs": [ + "Fees were paid from a location for an operation (often for using `SendXcm`).", + "", + "\\[ paying location, fees \\]" + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "Vec" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "MultiLocation", + "MultiAssets" + ] + }, + { + "lookup": "1f16", + "name": "AssetsClaimed", + "docs": [ + "Some assets have been claimed from an asset trap", + "", + "\\[ hash, origin, assets \\]" + ], + "args": [ + "H256", + "xcm:v3:multilocation:MultiLocation", + "xcm:VersionedMultiAssets" + ], + "args_name": [ + "", + "", + "" + ], + "args_type_name": [ + "H256", + "MultiLocation", + "VersionedMultiAssets" + ] + } + ], + "events_value": { + "type": 43 + }, + "errors": [ + { + "name": "Unreachable", + "doc": [ + "The desired destination was unreachable, generally because there is a no way of routing", + "to it." + ] + }, + { + "name": "SendFailure", + "doc": [ + "There was some other issue (i.e. not to do with routing) in sending the message. Perhaps", + "a lack of space for buffering the message." + ] + }, + { + "name": "Filtered", + "doc": [ + "The message execution fails the filter." + ] + }, + { + "name": "UnweighableMessage", + "doc": [ + "The message's weight could not be determined." + ] + }, + { + "name": "DestinationNotInvertible", + "doc": [ + "The destination `MultiLocation` provided cannot be inverted." + ] + }, + { + "name": "Empty", + "doc": [ + "The assets to be sent are empty." + ] + }, + { + "name": "CannotReanchor", + "doc": [ + "Could not re-anchor the assets to declare the fees for the destination chain." + ] + }, + { + "name": "TooManyAssets", + "doc": [ + "Too many assets have been attempted for transfer." + ] + }, + { + "name": "InvalidOrigin", + "doc": [ + "Origin is invalid for sending." + ] + }, + { + "name": "BadVersion", + "doc": [ + "The version of the `Versioned` value used is not able to be interpreted." + ] + }, + { + "name": "BadLocation", + "doc": [ + "The given location could not be used (e.g. because it cannot be expressed in the", + "desired version of XCM)." + ] + }, + { + "name": "NoSubscription", + "doc": [ + "The referenced subscription could not be found." + ] + }, + { + "name": "AlreadySubscribed", + "doc": [ + "The location is invalid since it already has a subscription from us." + ] + }, + { + "name": "InvalidAsset", + "doc": [ + "Invalid asset for the operation." + ] + }, + { + "name": "LowBalance", + "doc": [ + "The owner does not own (all) of the asset that they wish to do the operation on." + ] + }, + { + "name": "TooManyLocks", + "doc": [ + "The asset owner has too many locks on the asset." + ] + }, + { + "name": "AccountNotSovereign", + "doc": [ + "The given account is not an identifiable sovereign account for any location." + ] + }, + { + "name": "FeesNotMet", + "doc": [ + "The operation required fees to be paid which the initiator could not meet." + ] + }, + { + "name": "LockNotFound", + "doc": [ + "A remote lock with the corresponding data could not be found." + ] + }, + { + "name": "InUse", + "doc": [ + "The unlock operation cannot succeed because there are still consumers of the lock." + ] + } + ], + "errors_value": { + "type": 268 + }, + "index": 31 + }, + { + "name": "CumulusXcm", + "prefix": "", + "storage": null, + "events": [ + { + "lookup": "2000", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2001", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM.", + "\\[ id \\]" + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "" + ], + "args_type_name": [ + "[u8; 32]" + ] + }, + { + "lookup": "2002", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome.", + "\\[ id, outcome \\]" + ], + "args": [ + "[U8; 32]", + "xcm:v3:traits:Outcome" + ], + "args_name": [ + "", + "" + ], + "args_type_name": [ + "[u8; 32]", + "Outcome" + ] + } + ], + "events_value": { + "type": 99 + }, + "errors": null, + "errors_value": { + "type": 269 + }, + "index": 32 + }, + { + "name": "DmpQueue", + "prefix": "DmpQueue", + "storage": [ + { + "name": "Configuration", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "sp_weights:weight_v2:Weight", + "PlainTypeValue": 270 + }, + "fallback": "0x0700e40b540202000400", + "docs": [ + " The configuration." + ] + }, + { + "name": "PageIndex", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "cumulus_pallet_dmp_queue:PageIndexData", + "PlainTypeValue": 271 + }, + "fallback": "0x00000000000000000000000000000000", + "docs": [ + " The page index." + ] + }, + { + "name": "Pages", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "Vec>", + "keys_id": 4, + "value_id": 272 + } + }, + "fallback": "0x00", + "docs": [ + " The queue pages." + ] + }, + { + "name": "Overweight", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U64" + ], + "value": "Tuple:U32Vec", + "keys_id": 11, + "value_id": 273 + } + }, + "fallback": "0x00", + "docs": [ + " The overweight messages." + ] + }, + { + "name": "CounterForOverweight", + "modifier": "Default", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00000000", + "docs": [ + "Counter for the related counted storage map" + ] + } + ], + "calls": [ + { + "lookup": "2100", + "name": "service_overweight", + "docs": [ + "Service a single overweight message." + ], + "args": [ + { + "name": "index", + "type": "U64", + "type_name": "OverweightIndex" + }, + { + "name": "weight_limit", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 274 + }, + "events": [ + { + "lookup": "2100", + "name": "InvalidFormat", + "docs": [ + "Downward message is invalid XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2101", + "name": "UnsupportedVersion", + "docs": [ + "Downward message is unsupported version of XCM." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + }, + { + "lookup": "2102", + "name": "ExecutedDownward", + "docs": [ + "Downward message executed with the given outcome." + ], + "args": [ + "[U8; 32]", + "xcm:v3:traits:Outcome" + ], + "args_name": [ + "message_id", + "outcome" + ], + "args_type_name": [ + "MessageId", + "Outcome" + ] + }, + { + "lookup": "2103", + "name": "WeightExhausted", + "docs": [ + "The weight limit for handling downward messages was reached." + ], + "args": [ + "[U8; 32]", + "sp_weights:weight_v2:Weight", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_id", + "remaining_weight", + "required_weight" + ], + "args_type_name": [ + "MessageId", + "Weight", + "Weight" + ] + }, + { + "lookup": "2104", + "name": "OverweightEnqueued", + "docs": [ + "Downward message is overweight and was placed in the overweight queue." + ], + "args": [ + "[U8; 32]", + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "message_id", + "overweight_index", + "required_weight" + ], + "args_type_name": [ + "MessageId", + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "2105", + "name": "OverweightServiced", + "docs": [ + "Downward message from the overweight queue was executed." + ], + "args": [ + "U64", + "sp_weights:weight_v2:Weight" + ], + "args_name": [ + "overweight_index", + "weight_used" + ], + "args_type_name": [ + "OverweightIndex", + "Weight" + ] + }, + { + "lookup": "2106", + "name": "MaxMessagesExhausted", + "docs": [ + "The maximum number of downward messages was." + ], + "args": [ + "[U8; 32]" + ], + "args_name": [ + "message_id" + ], + "args_type_name": [ + "MessageId" + ] + } + ], + "events_value": { + "type": 100 + }, + "errors": [ + { + "name": "Unknown", + "doc": [ + "The message index given is unknown." + ] + }, + { + "name": "OverLimit", + "doc": [ + "The amount of weight given is possibly not enough for executing the message." + ] + } + ], + "errors_value": { + "type": 275 + }, + "index": 33 + }, + { + "name": "Utility", + "prefix": "", + "storage": null, + "calls": [ + { + "lookup": "2800", + "name": "batch", + "docs": [ + "Send a batch of dispatch calls.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatched without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "## Complexity", + "- O(C) where C is the number of calls to be batched.", + "", + "This will return `Ok` in all circumstances. To determine the success of the batch, an", + "event is deposited. If a call failed and the batch was interrupted, then the", + "`BatchInterrupted` event is deposited, along with the number of successful calls made", + "and the error of the failed call. If all were successful, then the `BatchCompleted`", + "event is deposited." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2801", + "name": "as_derivative", + "docs": [ + "Send a call through an indexed pseudonym of the sender.", + "", + "Filter from origin are passed along. The call will be dispatched with an origin which", + "use the same filter as the origin of this call.", + "", + "NOTE: If you need to ensure that any account-based filtering is not honored (i.e.", + "because you expect `proxy` to have been used prior in the call stack and you do not want", + "the call restrictions to apply to any sub-accounts), then use `as_multi_threshold_1`", + "in the Multisig pallet instead.", + "", + "NOTE: Prior to version *12, this was called `as_limited_sub`.", + "", + "The dispatch origin for this call must be _Signed_." + ], + "args": [ + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2802", + "name": "batch_all", + "docs": [ + "Send a batch of dispatch calls and atomically execute them.", + "The whole transaction will rollback and fail if any of the calls failed.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatched without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "## Complexity", + "- O(C) where C is the number of calls to be batched." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2803", + "name": "dispatch_as", + "docs": [ + "Dispatches a function call with a provided origin.", + "", + "The dispatch origin for this call must be _Root_.", + "", + "## Complexity", + "- O(1)." + ], + "args": [ + { + "name": "as_origin", + "type": "statemint_runtime:OriginCaller", + "type_name": "Box" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2804", + "name": "force_batch", + "docs": [ + "Send a batch of dispatch calls.", + "Unlike `batch`, it allows errors and won't interrupt.", + "", + "May be called from any origin except `None`.", + "", + "- `calls`: The calls to be dispatched from the same origin. The number of call must not", + " exceed the constant: `batched_calls_limit` (available in constant metadata).", + "", + "If origin is root then the calls are dispatch without checking origin filter. (This", + "includes bypassing `frame_system::Config::BaseCallFilter`).", + "", + "## Complexity", + "- O(C) where C is the number of calls to be batched." + ], + "args": [ + { + "name": "calls", + "type": "Vec", + "type_name": "Vec<::RuntimeCall>" + } + ] + }, + { + "lookup": "2805", + "name": "with_weight", + "docs": [ + "Dispatch a function call with a specified weight.", + "", + "This function does not check the weight of the call, and instead allows the", + "Root origin to specify the weight of the call.", + "", + "The dispatch origin for this call must be _Root_." + ], + "args": [ + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + } + ], + "calls_value": { + "type": 276 + }, + "events": [ + { + "lookup": "2800", + "name": "BatchInterrupted", + "docs": [ + "Batch of dispatches did not complete fully. Index of first failing dispatch given, as", + "well as the error." + ], + "args": [ + "U32", + "sp_runtime:DispatchError" + ], + "args_name": [ + "index", + "error" + ], + "args_type_name": [ + "u32", + "DispatchError" + ] + }, + { + "lookup": "2801", + "name": "BatchCompleted", + "docs": [ + "Batch of dispatches completed fully with no error." + ], + "args": null + }, + { + "lookup": "2802", + "name": "BatchCompletedWithErrors", + "docs": [ + "Batch of dispatches completed but has errors." + ], + "args": null + }, + { + "lookup": "2803", + "name": "ItemCompleted", + "docs": [ + "A single item within a Batch of dispatches has completed with no error." + ], + "args": null + }, + { + "lookup": "2804", + "name": "ItemFailed", + "docs": [ + "A single item within a Batch of dispatches has completed with error." + ], + "args": [ + "sp_runtime:DispatchError" + ], + "args_name": [ + "error" + ], + "args_type_name": [ + "DispatchError" + ] + }, + { + "lookup": "2805", + "name": "DispatchedAs", + "docs": [ + "A call was dispatched." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + } + ], + "events_value": { + "type": 101 + }, + "constants": [ + { + "name": "batched_calls_limit", + "type": "U32", + "type_value": 4, + "constants_value": "aa2a0000", + "docs": [ + " The limit on the number of batched calls." + ] + } + ], + "errors": [ + { + "name": "TooManyCalls", + "doc": [ + "Too many calls batched." + ] + } + ], + "errors_value": { + "type": 318 + }, + "index": 40 + }, + { + "name": "Multisig", + "prefix": "Multisig", + "storage": [ + { + "name": "Multisigs", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "[U8; 32]" + ], + "value": "pallet_multisig:Multisig", + "keys_id": 319, + "value_id": 320 + } + }, + "fallback": "0x00", + "docs": [ + " The set of open multisig operations." + ] + } + ], + "calls": [ + { + "lookup": "2900", + "name": "as_multi_threshold_1", + "docs": [ + "Immediately dispatch a multi-signature call using a single approval from the caller.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `other_signatories`: The accounts (other than the sender) who are part of the", + "multi-signature, but do not participate in the approval process.", + "- `call`: The call to be executed.", + "", + "Result is equivalent to the dispatched result.", + "", + "## Complexity", + "O(Z + C) where Z is the length of the call and C its execution weight." + ], + "args": [ + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2901", + "name": "as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "If there are enough, then dispatch the call.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call`: The call to be executed.", + "", + "NOTE: Unless this is the final approval, you will generally want to use", + "`approve_as_multi` instead, since it only requires a hash of the call.", + "", + "Result is equivalent to the dispatched result if `threshold` is exactly `1`. Otherwise", + "on success, result is `Ok` and the result from the interior call, if it was executed,", + "may be found in the deposited `MultisigExecuted` event.", + "", + "## Complexity", + "- `O(S + Z + Call)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One call encode & hash, both of complexity `O(Z)` where `Z` is tx-len.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- The weight of the `call`.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2902", + "name": "approve_as_multi", + "docs": [ + "Register approval for a dispatch to be made from a deterministic composite account if", + "approved by a total of `threshold - 1` of `other_signatories`.", + "", + "Payment: `DepositBase` will be reserved if this is the first approval, plus", + "`threshold` times `DepositFactor`. It is returned once this dispatch happens or", + "is cancelled.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `maybe_timepoint`: If this is the first approval, then this must be `None`. If it is", + "not the first approval, then it must be `Some`, with the timepoint (block number and", + "transaction index) of the first approval transaction.", + "- `call_hash`: The hash of the call to be executed.", + "", + "NOTE: If this is the final approval, you will want to use `as_multi` instead.", + "", + "## Complexity", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- Up to one binary search and insert (`O(logS + S)`).", + "- I/O: 1 read `O(S)`, up to 1 mutate `O(S)`. Up to one remove.", + "- One event.", + "- Storage: inserts one item, value size bounded by `MaxSignatories`, with a deposit", + " taken for its lifetime of `DepositBase + threshold * DepositFactor`." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "maybe_timepoint", + "type": "option", + "type_name": "Option>" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + }, + { + "name": "max_weight", + "type": "sp_weights:weight_v2:Weight", + "type_name": "Weight" + } + ] + }, + { + "lookup": "2903", + "name": "cancel_as_multi", + "docs": [ + "Cancel a pre-existing, on-going multisig transaction. Any deposit reserved previously", + "for this operation will be unreserved on success.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "- `threshold`: The total number of approvals for this dispatch before it is executed.", + "- `other_signatories`: The accounts (other than the sender) who can approve this", + "dispatch. May not be empty.", + "- `timepoint`: The timepoint (block number and transaction index) of the first approval", + "transaction for this dispatch.", + "- `call_hash`: The hash of the call to be executed.", + "", + "## Complexity", + "- `O(S)`.", + "- Up to one balance-reserve or unreserve operation.", + "- One passthrough operation, one insert, both `O(S)` where `S` is the number of", + " signatories. `S` is capped by `MaxSignatories`, with weight being proportional.", + "- One encode & hash, both of complexity `O(S)`.", + "- One event.", + "- I/O: 1 read `O(S)`, one remove.", + "- Storage: removes one item." + ], + "args": [ + { + "name": "threshold", + "type": "U16", + "type_name": "u16" + }, + { + "name": "other_signatories", + "type": "Vec", + "type_name": "Vec" + }, + { + "name": "timepoint", + "type": "pallet_multisig:Timepoint", + "type_name": "Timepoint" + }, + { + "name": "call_hash", + "type": "[U8; 32]", + "type_name": "[u8; 32]" + } + ] + } + ], + "calls_value": { + "type": 279 + }, + "events": [ + { + "lookup": "2900", + "name": "NewMultisig", + "docs": [ + "A new multisig operation has begun." + ], + "args": [ + "AccountId", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2901", + "name": "MultisigApproval", + "docs": [ + "A multisig operation has been approved by someone." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + }, + { + "lookup": "2902", + "name": "MultisigExecuted", + "docs": [ + "A multisig operation has been executed." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]", + "Result" + ], + "args_name": [ + "approving", + "timepoint", + "multisig", + "call_hash", + "result" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash", + "DispatchResult" + ] + }, + { + "lookup": "2903", + "name": "MultisigCancelled", + "docs": [ + "A multisig operation has been cancelled." + ], + "args": [ + "AccountId", + "pallet_multisig:Timepoint", + "AccountId", + "[U8; 32]" + ], + "args_name": [ + "cancelling", + "timepoint", + "multisig", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "Timepoint", + "AccountId", + "CallHash" + ] + } + ], + "events_value": { + "type": 104 + }, + "constants": [ + { + "name": "DepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00dbbb77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a multisig execution or to", + " store a dispatch call for later.", + "", + " This is held for an additional storage item whose value size is", + " `4 + sizeof((BlockNumber, Balance, AccountId))` bytes and whose key size is", + " `32 + sizeof(AccountId)` bytes." + ] + }, + { + "name": "DepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "00d43000000000000000000000000000", + "docs": [ + " The amount of currency needed per unit threshold when creating a multisig execution.", + "", + " This is held for adding 32 bytes more into a pre-existing storage value." + ] + }, + { + "name": "MaxSignatories", + "type": "U32", + "type_value": 4, + "constants_value": "64000000", + "docs": [ + " The maximum amount of signatories allowed in the multisig." + ] + } + ], + "errors": [ + { + "name": "MinimumThreshold", + "doc": [ + "Threshold must be 2 or greater." + ] + }, + { + "name": "AlreadyApproved", + "doc": [ + "Call is already approved by this signatory." + ] + }, + { + "name": "NoApprovalsNeeded", + "doc": [ + "Call doesn't need any (more) approvals." + ] + }, + { + "name": "TooFewSignatories", + "doc": [ + "There are too few signatories in the list." + ] + }, + { + "name": "TooManySignatories", + "doc": [ + "There are too many signatories in the list." + ] + }, + { + "name": "SignatoriesOutOfOrder", + "doc": [ + "The signatories were provided out of order; they should be ordered." + ] + }, + { + "name": "SenderInSignatories", + "doc": [ + "The sender was contained in the other signatories; it shouldn't be." + ] + }, + { + "name": "NotFound", + "doc": [ + "Multisig operation not found when attempting to cancel." + ] + }, + { + "name": "NotOwner", + "doc": [ + "Only the account that originally created the multisig is able to cancel it." + ] + }, + { + "name": "NoTimepoint", + "doc": [ + "No timepoint was given, yet the multisig operation is already underway." + ] + }, + { + "name": "WrongTimepoint", + "doc": [ + "A different timepoint was given to the multisig operation that is underway." + ] + }, + { + "name": "UnexpectedTimepoint", + "doc": [ + "A timepoint was given, yet no multisig operation is underway." + ] + }, + { + "name": "MaxWeightTooLow", + "doc": [ + "The maximum weight information provided was too low." + ] + }, + { + "name": "AlreadyStored", + "doc": [ + "The data to be stored is already stored." + ] + } + ], + "errors_value": { + "type": 322 + }, + "index": 41 + }, + { + "name": "Proxy", + "prefix": "Proxy", + "storage": [ + { + "name": "Proxies", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@324U128", + "keys_id": 0, + "value_id": 323 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The set of account proxies. Maps the account which has delegated to the accounts", + " which are being delegated to, together with the amount held on deposit." + ] + }, + { + "name": "Announcements", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Twox64Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "Tuple:bounded_collections:bounded_vec:BoundedVec@328U128", + "keys_id": 0, + "value_id": 327 + } + }, + "fallback": "0x0000000000000000000000000000000000", + "docs": [ + " The announcements made by the proxy (key)." + ] + } + ], + "calls": [ + { + "lookup": "2a00", + "name": "proxy", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorised for through", + "`add_proxy`.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + }, + { + "lookup": "2a01", + "name": "add_proxy", + "docs": [ + "Register a proxy account for the sender that is able to make calls on its behalf.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to make a proxy.", + "- `proxy_type`: The permissions allowed for this proxy account.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a02", + "name": "remove_proxy", + "docs": [ + "Unregister a proxy account for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `proxy`: The account that the `caller` would like to remove as a proxy.", + "- `proxy_type`: The permissions currently enabled for the removed proxy account." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + } + ] + }, + { + "lookup": "2a03", + "name": "remove_proxies", + "docs": [ + "Unregister all proxy accounts for the sender.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "WARNING: This may be called on accounts created by `pure`, however if done, then", + "the unreserved fees will be inaccessible. **All access to this account will be lost.**" + ], + "args": null + }, + { + "lookup": "2a04", + "name": "create_pure", + "docs": [ + "Spawn a fresh new account that is guaranteed to be otherwise inaccessible, and", + "initialize it with a proxy of `proxy_type` for `origin` sender.", + "", + "Requires a `Signed` origin.", + "", + "- `proxy_type`: The type of the proxy that the sender will be registered as over the", + "new account. This will almost always be the most permissive `ProxyType` possible to", + "allow for maximum flexibility.", + "- `index`: A disambiguation index, in case this is called multiple times in the same", + "transaction (e.g. with `utility::batch`). Unless you're using `batch` you probably just", + "want to use `0`.", + "- `delay`: The announcement period required of the initial proxy. Will generally be", + "zero.", + "", + "Fails with `Duplicate` if this has already been called in this transaction, from the", + "same sender, with the same parameters.", + "", + "Fails if there are insufficient funds to pay for deposit." + ], + "args": [ + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "delay", + "type": "U32", + "type_name": "BlockNumber" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + } + ] + }, + { + "lookup": "2a05", + "name": "kill_pure", + "docs": [ + "Removes a previously spawned pure proxy.", + "", + "WARNING: **All access to this account will be lost.** Any funds held in it will be", + "inaccessible.", + "", + "Requires a `Signed` origin, and the sender account must have been created by a call to", + "`pure` with corresponding parameters.", + "", + "- `spawner`: The account that originally called `pure` to create this account.", + "- `index`: The disambiguation index originally passed to `pure`. Probably `0`.", + "- `proxy_type`: The proxy type originally passed to `pure`.", + "- `height`: The height of the chain when the call to `pure` was processed.", + "- `ext_index`: The extrinsic index in which the call to `pure` was processed.", + "", + "Fails with `NoPermission` in case the caller is not a previously created pure", + "account whose `pure` call has corresponding parameters." + ], + "args": [ + { + "name": "spawner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "proxy_type", + "type": "statemint_runtime:ProxyType", + "type_name": "ProxyType" + }, + { + "name": "index", + "type": "U16", + "type_name": "u16" + }, + { + "name": "height", + "type": "compact", + "type_name": "BlockNumber" + }, + { + "name": "ext_index", + "type": "compact", + "type_name": "u32" + } + ] + }, + { + "lookup": "2a06", + "name": "announce", + "docs": [ + "Publish the hash of a proxy-call that will be made in the future.", + "", + "This must be called some number of blocks before the corresponding `proxy` is attempted", + "if the delay associated with the proxy relationship is greater than zero.", + "", + "No more than `MaxPending` announcements may be made at any one time.", + "", + "This will take a deposit of `AnnouncementDepositFactor` as well as", + "`AnnouncementDepositBase` if there are no other pending announcements.", + "", + "The dispatch origin for this call must be _Signed_ and a proxy of `real`.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a07", + "name": "remove_announcement", + "docs": [ + "Remove a given announcement.", + "", + "May be called by a proxy account to remove a call they previously announced and return", + "the deposit.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `call_hash`: The hash of the call to be made by the `real` account." + ], + "args": [ + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a08", + "name": "reject_announcement", + "docs": [ + "Remove the given announcement of a delegate.", + "", + "May be called by a target (proxied) account to remove a call that one of their delegates", + "(`delegate`) has announced they want to execute. The deposit is returned.", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `delegate`: The account that previously announced the call.", + "- `call_hash`: The hash of the call to be made." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "call_hash", + "type": "H256", + "type_name": "CallHashOf" + } + ] + }, + { + "lookup": "2a09", + "name": "proxy_announced", + "docs": [ + "Dispatch the given `call` from an account that the sender is authorized for through", + "`add_proxy`.", + "", + "Removes any corresponding announcement(s).", + "", + "The dispatch origin for this call must be _Signed_.", + "", + "Parameters:", + "- `real`: The account that the proxy will make a call on behalf of.", + "- `force_proxy_type`: Specify the exact proxy type to be used and checked for this call.", + "- `call`: The call to be made by the `real` account." + ], + "args": [ + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "real", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "force_proxy_type", + "type": "option", + "type_name": "Option" + }, + { + "name": "call", + "type": "Call", + "type_name": "Box<::RuntimeCall>" + } + ] + } + ], + "calls_value": { + "type": 281 + }, + "events": [ + { + "lookup": "2a00", + "name": "ProxyExecuted", + "docs": [ + "A proxy was executed correctly, with the given." + ], + "args": [ + "Result" + ], + "args_name": [ + "result" + ], + "args_type_name": [ + "DispatchResult" + ] + }, + { + "lookup": "2a01", + "name": "PureCreated", + "docs": [ + "A pure account has been created by new proxy with given", + "disambiguation index and proxy type." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U16" + ], + "args_name": [ + "pure", + "who", + "proxy_type", + "disambiguation_index" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "u16" + ] + }, + { + "lookup": "2a02", + "name": "Announced", + "docs": [ + "An announcement was placed to make a call in the future." + ], + "args": [ + "AccountId", + "AccountId", + "H256" + ], + "args_name": [ + "real", + "proxy", + "call_hash" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "CallHashOf" + ] + }, + { + "lookup": "2a03", + "name": "ProxyAdded", + "docs": [ + "A proxy was added." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + }, + { + "lookup": "2a04", + "name": "ProxyRemoved", + "docs": [ + "A proxy was removed." + ], + "args": [ + "AccountId", + "AccountId", + "statemint_runtime:ProxyType", + "U32" + ], + "args_name": [ + "delegator", + "delegatee", + "proxy_type", + "delay" + ], + "args_type_name": [ + "AccountId", + "AccountId", + "ProxyType", + "BlockNumber" + ] + } + ], + "events_value": { + "type": 106 + }, + "constants": [ + { + "name": "ProxyDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "009d7277000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating a proxy.", + "", + " This is held for an additional storage item whose value size is", + " `sizeof(Balance)` bytes and whose key size is `sizeof(AccountId)` bytes." + ] + }, + { + "name": "ProxyDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "a05a3200000000000000000000000000", + "docs": [ + " The amount of currency needed per proxy added.", + "", + " This is held for adding 32 bytes plus an instance of `ProxyType` more into a", + " pre-existing storage value. Thus, when configuring `ProxyDepositFactor` one should take", + " into account `32 + proxy_type.encode().len()` bytes of data." + ] + }, + { + "name": "MaxProxies", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of proxies allowed for a single account." + ] + }, + { + "name": "MaxPending", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum amount of time-delayed announcements that are allowed to be pending." + ] + }, + { + "name": "AnnouncementDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00d27e77000000000000000000000000", + "docs": [ + " The base amount of currency needed to reserve for creating an announcement.", + "", + " This is held when a new storage item holding a `Balance` is created (typically 16", + " bytes)." + ] + }, + { + "name": "AnnouncementDepositFactor", + "type": "U128", + "type_value": 6, + "constants_value": "40b56400000000000000000000000000", + "docs": [ + " The amount of currency needed per announcement made.", + "", + " This is held for adding an `AccountId`, `Hash` and `BlockNumber` (typically 68 bytes)", + " into a pre-existing storage value." + ] + } + ], + "errors": [ + { + "name": "TooMany", + "doc": [ + "There are too many proxies registered or too many announcements pending." + ] + }, + { + "name": "NotFound", + "doc": [ + "Proxy registration not found." + ] + }, + { + "name": "NotProxy", + "doc": [ + "Sender is not a proxy of the account to be proxied." + ] + }, + { + "name": "Unproxyable", + "doc": [ + "A call which is incompatible with the proxy type's filter was attempted." + ] + }, + { + "name": "Duplicate", + "doc": [ + "Account is already a proxy." + ] + }, + { + "name": "NoPermission", + "doc": [ + "Call may not be made by proxy because it may escalate its privileges." + ] + }, + { + "name": "Unannounced", + "doc": [ + "Announcement, if made at all, was made too recently." + ] + }, + { + "name": "NoSelfProxy", + "doc": [ + "Cannot add self as proxy." + ] + } + ], + "errors_value": { + "type": 331 + }, + "index": 42 + }, + { + "name": "Assets", + "prefix": "Assets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 4, + "value_id": 332 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 334, + "value_id": 335 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 338, + "value_id": 339 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_assets:types:AssetMetadata@340", + "keys_id": 4, + "value_id": 340 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3200", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3201", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3202", + "name": "start_destroy", + "docs": [ + "Start the process of destroying a fungible asset class.", + "", + "`start_destroy` is the first in a series of extrinsics that should be called, to allow", + "destruction of an asset class.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "The asset class must be frozen before calling `start_destroy`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3203", + "name": "destroy_accounts", + "docs": [ + "Destroy all accounts associated with a given asset.", + "", + "`destroy_accounts` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedAccounts` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3204", + "name": "destroy_approvals", + "docs": [ + "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).", + "", + "`destroy_approvals` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedApprovals` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3205", + "name": "finish_destroy", + "docs": [ + "Complete destroying asset and unreserve currency.", + "", + "`finish_destroy` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state. All accounts or approvals should be destroyed before", + "hand.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each successful call emits the `Event::Destroyed` event." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3206", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3207", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3208", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3209", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320a", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "320b", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`", + "must already exist as an entry in `Account`s of the asset. If you want to freeze an", + "account that does not have an entry, use `touch_other` first.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320c", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers to and from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "320d", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320e", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "320f", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3210", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3211", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3212", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3213", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3214", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3215", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3216", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3217", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3218", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3219", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321a", + "name": "touch", + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "321b", + "name": "refund", + "docs": [ + "Return the deposit (if any) of an asset account or a consumer reference (if any) of an", + "account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for which the caller would like the deposit", + " refunded.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "321c", + "name": "set_min_balance", + "docs": [ + "Sets the minimum balance of an asset.", + "", + "Only works if there aren't any accounts that are holding the asset or if", + "the new value of `min_balance` is less than the old one.", + "", + "Origin must be Signed and the sender has to be the Owner of the", + "asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `min_balance`: The new value of `min_balance`.", + "", + "Emits `AssetMinBalanceChanged` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "321d", + "name": "touch_other", + "docs": [ + "Create an asset account for `who`.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account", + " must have sufficient funds for a deposit to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "- `who`: The account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "321e", + "name": "refund_other", + "docs": [ + "Return the deposit (if any) of a target asset account. Useful if you are the depositor.", + "", + "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In", + "order to burn a non-zero balance of the asset, the caller must be the account and should", + "use `refund`.", + "", + "- `id`: The identifier of the asset for the account holding a deposit.", + "- `who`: The account to refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "321f", + "name": "block", + "docs": [ + "Disallow further unprivileged transfers of an asset `id` to and from an account `who`.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the account's asset.", + "- `who`: The account to be unblocked.", + "", + "Emits `Blocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "compact", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 283 + }, + "events": [ + { + "lookup": "3200", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3201", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3202", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3203", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "U32", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3204", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3205", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3206", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3207", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3208", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3209", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "U32", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "320c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "320e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "320f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "U32", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3210", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3211", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3212", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3213", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3214", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3215", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "U32", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3216", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3217", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + } + ], + "events_value": { + "type": 109 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + } + ], + "errors_value": { + "type": 342 + }, + "index": 50 + }, + { + "name": "Uniques", + "prefix": "Uniques", + "storage": [ + { + "name": "Class", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionDetails", + "keys_id": 4, + "value_id": 343 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 344, + "value_id": 103 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "ClassAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 345, + "value_id": 103 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemDetails", + "keys_id": 127, + "value_id": 346 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "ClassMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_uniques:types:CollectionMetadata", + "keys_id": 4, + "value_id": 347 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "InstanceMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_uniques:types:ItemMetadata", + "keys_id": 127, + "value_id": 348 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "Vec" + ], + "value": "Tuple:VecU128", + "keys_id": 349, + "value_id": 350 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 127, + "value_id": 351 + } + }, + "fallback": "0x00", + "docs": [ + " Price of an asset instance." + ] + }, + { + "name": "CollectionMaxSupply", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "U32", + "keys_id": 4, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " Keeps track of the number of items a collection might have." + ] + } + ], + "calls": [ + { + "lookup": "3300", + "name": "create", + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "`ItemDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `collection`: The identifier of the new collection. This must not be currently in use.", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3301", + "name": "force_create", + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `collection`: The identifier of the new item. This must not be currently in use.", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions", + "over this item, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3302", + "name": "destroy", + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(n + m)` where:", + "- `n = witness.items`", + "- `m = witness.item_metadatas`", + "- `a = witness.attributes`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_uniques:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3303", + "name": "mint", + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must be the Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: The item value of the item to be minted.", + "- `beneficiary`: The initial owner of the minted item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3304", + "name": "burn", + "docs": [ + "Destroy a single item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item of the item to be burned.", + "- `check_owner`: If `Some` then the operation will fail with `WrongOwner` unless the", + " item is owned by this value.", + "", + "Emits `Burned` with the actual amount burned.", + "", + "Weight: `O(1)`", + "Modes: `check_owner.is_some()`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "check_owner", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3305", + "name": "transfer", + "docs": [ + "Move an item from the sender account to another.", + "", + "This resets the approved account of the item.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Admin of the `collection`;", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item of the item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3306", + "name": "redeposit", + "docs": [ + "Reevaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown of the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3307", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be frozen.", + "- `item`: The item of the item to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3308", + "name": "thaw", + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be thawed.", + "- `item`: The item of the item to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3309", + "name": "freeze_collection", + "docs": [ + "Disallow further unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection to be frozen.", + "", + "Emits `CollectionFrozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330a", + "name": "thaw_collection", + "docs": [ + "Re-allow unprivileged transfers for a whole collection.", + "", + "Origin must be Signed and the sender should be the Admin of the `collection`.", + "", + "- `collection`: The collection to be thawed.", + "", + "Emits `CollectionThawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "330b", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330c", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330d", + "name": "approve_transfer", + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be", + "either the owner of the `item` or the admin of the collection.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item of the item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "", + "Important NOTE: The `approved` account gets reset after each transfer.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "330e", + "name": "cancel_approval", + "docs": [ + "Cancel the prior approval for the transfer of an item by a delegate.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Admin of the `collection`;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the item of whose approval will be cancelled.", + "- `maybe_check_delegate`: If `Some` will ensure that the given account is the one to", + " which permission of transfer is delegated.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "maybe_check_delegate", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "330f", + "name": "force_item_status", + "docs": [ + "Alter the attributes of a given item.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the item.", + "- `owner`: The new Owner of this item.", + "- `issuer`: The new Issuer of this item.", + "- `admin`: The new Admin of this item.", + "- `freezer`: The new Freezer of this item.", + "- `free_holding`: Whether a deposit is taken for holding an item of this collection.", + "- `is_frozen`: Whether this collection is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `ItemStatusChanged` with the identity of the item.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "free_holding", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3310", + "name": "set_attribute", + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3311", + "name": "clear_attribute", + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3312", + "name": "set_metadata", + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3313", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3314", + "name": "set_collection_metadata", + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "- `is_frozen`: Whether the metadata should be frozen against further changes.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3315", + "name": "clear_collection_metadata", + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "3316", + "name": "set_accept_ownership", + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3317", + "name": "set_collection_max_supply", + "docs": [ + "Set the maximum amount of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "Note: This function can only succeed once per collection.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum amount of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "3318", + "name": "set_price", + "docs": [ + "Set (or reset) the price for an item.", + "", + "Origin must be Signed and must be the owner of the asset `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item to set the price for.", + "- `price`: The price for the item. Pass `None`, to reset the price.", + "- `buyer`: Restricts the buy operation to a specific account.", + "", + "Emits `ItemPriceSet` on success if the price is not `None`.", + "Emits `ItemPriceRemoved` on success if the price is `None`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3319", + "name": "buy_item", + "docs": [ + "Allows to buy an item if it's up for sale.", + "", + "Origin must be Signed and must not be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item the sender wants to buy.", + "- `bid_price`: The price the sender is willing to pay.", + "", + "Emits `ItemBought` on success." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + } + ], + "calls_value": { + "type": 284 + }, + "events": [ + { + "lookup": "3300", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3301", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3302", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3303", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3304", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3305", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3306", + "name": "Frozen", + "docs": [ + "Some `item` was frozen." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3307", + "name": "Thawed", + "docs": [ + "Some `item` was thawed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3308", + "name": "CollectionFrozen", + "docs": [ + "Some `collection` was frozen." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3309", + "name": "CollectionThawed", + "docs": [ + "Some `collection` was thawed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "330b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330c", + "name": "ApprovedTransfer", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "330e", + "name": "ItemStatusChanged", + "docs": [ + "A `collection` has had its attributes changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "330f", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3310", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3311", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec", + "Bool" + ], + "args_name": [ + "collection", + "item", + "data", + "is_frozen" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec", + "bool" + ] + }, + { + "lookup": "3312", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3313", + "name": "Redeposited", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3314", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec" + ] + }, + { + "lookup": "3315", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec" + ], + "args_name": [ + "collection", + "maybe_item", + "key" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec" + ] + }, + { + "lookup": "3316", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "3317", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "3318", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the instance." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "3319", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the instance was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "331a", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + } + ], + "events_value": { + "type": 110 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "80000000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "20000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute value." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "InUse", + "doc": [ + "The item ID is already taken." + ] + }, + { + "name": "Frozen", + "doc": [ + "The item or collection is frozen." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "NoDelegate", + "doc": [ + "There is no delegate approved." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership of the collection is acceptable." + ] + }, + { + "name": "Locked", + "doc": [ + "The item is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyAlreadySet", + "doc": [ + "The max supply has already been set." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less to the amount of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + } + ], + "errors_value": { + "type": 352 + }, + "index": 51 + }, + { + "name": "Nfts", + "prefix": "Nfts", + "storage": [ + { + "name": "Collection", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionDetails", + "keys_id": 4, + "value_id": 353 + } + }, + "fallback": "0x00", + "docs": [ + " Details of a collection." + ] + }, + { + "name": "OwnershipAcceptance", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId" + ], + "value": "U32", + "keys_id": 0, + "value_id": 4 + } + }, + "fallback": "0x00", + "docs": [ + " The collection, if any, of which an account is willing to take ownership." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32", + "U32" + ], + "value": "NULL", + "keys_id": 344, + "value_id": 103 + } + }, + "fallback": "0x00", + "docs": [ + " The items held by any given account; set out this way so that items owned by a single", + " account can be enumerated." + ] + }, + { + "name": "CollectionAccount", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "AccountId", + "U32" + ], + "value": "NULL", + "keys_id": 345, + "value_id": 103 + } + }, + "fallback": "0x00", + "docs": [ + " The collections owned by any given account; set out this way so that collections owned by", + " a single account can be enumerated." + ] + }, + { + "name": "CollectionRoleOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "AccountId" + ], + "value": "U8", + "keys_id": 334, + "value_id": 354 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details.", + " Stores collection roles as per account." + ] + }, + { + "name": "Item", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:ItemDetails", + "keys_id": 127, + "value_id": 356 + } + }, + "fallback": "0x00", + "docs": [ + " The items in existence and their ownership details." + ] + }, + { + "name": "CollectionMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionMetadata", + "keys_id": 4, + "value_id": 362 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of a collection." + ] + }, + { + "name": "ItemMetadataOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:ItemMetadata", + "keys_id": 127, + "value_id": 363 + } + }, + "fallback": "0x00", + "docs": [ + " Metadata of an item." + ] + }, + { + "name": "Attribute", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "option", + "pallet_nfts:types:AttributeNamespace", + "Vec" + ], + "value": "Tuple:Vecpallet_nfts:types:AttributeDeposit", + "keys_id": 365, + "value_id": 366 + } + }, + "fallback": "0x00", + "docs": [ + " Attributes of a collection." + ] + }, + { + "name": "ItemPriceOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Tuple:U128option", + "keys_id": 127, + "value_id": 351 + } + }, + "fallback": "0x00", + "docs": [ + " A price of an item." + ] + }, + { + "name": "ItemAttributesApprovalsOf", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "Vec", + "keys_id": 127, + "value_id": 368 + } + }, + "fallback": "0x00", + "docs": [ + " Item attribute approvals." + ] + }, + { + "name": "NextCollectionId", + "modifier": "Optional", + "type": { + "origin": "PlainType", + "plain_type": "U32", + "PlainTypeValue": 4 + }, + "fallback": "0x00", + "docs": [ + " Stores the `CollectionId` that is going to be used for the next collection.", + " This gets incremented whenever a new collection is created." + ] + }, + { + "name": "PendingSwapOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "pallet_nfts:types:PendingSwap", + "keys_id": 127, + "value_id": 370 + } + }, + "fallback": "0x00", + "docs": [ + " Handles all the pending swaps." + ] + }, + { + "name": "CollectionConfigOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "U32" + ], + "value": "pallet_nfts:types:CollectionConfig", + "keys_id": 4, + "value_id": 289 + } + }, + "fallback": "0x00", + "docs": [ + " Config of a collection." + ] + }, + { + "name": "ItemConfigOf", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "U32", + "U32" + ], + "value": "U64", + "keys_id": 127, + "value_id": 299 + } + }, + "fallback": "0x00", + "docs": [ + " Config of an item." + ] + } + ], + "calls": [ + { + "lookup": "3400", + "name": "create", + "docs": [ + "Issue a new collection of non-fungible items from a public origin.", + "", + "This new collection has no items initially and its owner is the origin.", + "", + "The origin must be Signed and the sender must have sufficient funds free.", + "", + "`ItemDeposit` funds of sender are reserved.", + "", + "Parameters:", + "- `admin`: The admin of this collection. The admin is the initial address of each", + "member of the collection's admin team.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "3401", + "name": "force_create", + "docs": [ + "Issue a new collection of non-fungible items from a privileged origin.", + "", + "This new collection has no items initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `owner`: The owner of this collection of items. The owner has full superuser", + " permissions over this item, but may later change and configure the permissions using", + " `transfer_ownership` and `set_team`.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "3402", + "name": "destroy", + "docs": [ + "Destroy a collection of fungible items.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "owner of the `collection`.", + "", + "NOTE: The collection must have 0 items to be destroyed.", + "", + "- `collection`: The identifier of the collection to be destroyed.", + "- `witness`: Information on the items minted in the collection. This must be", + "correct.", + "", + "Emits `Destroyed` event when successful.", + "", + "Weight: `O(m + c + a)` where:", + "- `m = witness.item_metadatas`", + "- `c = witness.item_configs`", + "- `a = witness.attributes`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "witness", + "type": "pallet_nfts:types:DestroyWitness", + "type_name": "DestroyWitness" + } + ] + }, + { + "lookup": "3403", + "name": "mint", + "docs": [ + "Mint an item of a particular collection.", + "", + "The origin must be Signed and the sender must comply with the `mint_settings` rules.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: An identifier of the new item.", + "- `mint_to`: Account into which the item will be minted.", + "- `witness_data`: When the mint type is `HolderOf(collection_id)`, then the owned", + " item_id from that collection needs to be provided within the witness data object.", + "", + "Note: the deposit will be taken from the `origin` and not the `owner` of the `item`.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "mint_to", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "witness_data", + "type": "option", + "type_name": "Option>" + } + ] + }, + { + "lookup": "3404", + "name": "force_mint", + "docs": [ + "Mint an item of a particular collection from a privileged origin.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` and the sender must be the", + "Issuer of the `collection`.", + "", + "- `collection`: The collection of the item to be minted.", + "- `item`: An identifier of the new item.", + "- `mint_to`: Account into which the item will be minted.", + "- `item_config`: A config of the new item.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "mint_to", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "item_config", + "type": "U64", + "type_name": "ItemConfig" + } + ] + }, + { + "lookup": "3405", + "name": "burn", + "docs": [ + "Destroy a single item.", + "", + "The origin must conform to `ForceOrigin` or must be Signed and the signing account must", + "be the owner of the `item`.", + "", + "- `collection`: The collection of the item to be burned.", + "- `item`: The item to be burned.", + "", + "Emits `Burned`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3406", + "name": "transfer", + "docs": [ + "Move an item from the sender account to another.", + "", + "Origin must be Signed and the signing account must be either:", + "- the Owner of the `item`;", + "- the approved delegate for the `item` (in this case, the approval is reset).", + "", + "Arguments:", + "- `collection`: The collection of the item to be transferred.", + "- `item`: The item to be transferred.", + "- `dest`: The account to receive ownership of the item.", + "", + "Emits `Transferred`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3407", + "name": "redeposit", + "docs": [ + "Re-evaluate the deposits on some items.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection of the items to be reevaluated.", + "- `items`: The items of the collection whose deposits will be reevaluated.", + "", + "NOTE: This exists as a best-effort function. Any items which are unknown or", + "in the case that the owner account does not have reservable funds to pay for a", + "deposit increase are ignored. Generally the owner isn't going to call this on items", + "whose existing deposit is less than the refreshed deposit as it would only cost them,", + "so it's of little consequence.", + "", + "It will still return an error in the case that the collection is unknown or the signer", + "is not permitted to call it.", + "", + "Weight: `O(items.len())`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "items", + "type": "Vec", + "type_name": "Vec" + } + ] + }, + { + "lookup": "3408", + "name": "lock_item_transfer", + "docs": [ + "Disallow further unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be changed.", + "- `item`: The item to become non-transferable.", + "", + "Emits `ItemTransferLocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3409", + "name": "unlock_item_transfer", + "docs": [ + "Re-allow unprivileged transfer of an item.", + "", + "Origin must be Signed and the sender should be the Freezer of the `collection`.", + "", + "- `collection`: The collection of the item to be changed.", + "- `item`: The item to become transferable.", + "", + "Emits `ItemTransferUnlocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "340a", + "name": "lock_collection", + "docs": [ + "Disallows specified settings for the whole collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection to be locked.", + "- `lock_settings`: The settings to be locked.", + "", + "Note: it's possible to only lock(set) the setting, but not to unset it.", + "", + "Emits `CollectionLocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "lock_settings", + "type": "U64", + "type_name": "CollectionSettings" + } + ] + }, + { + "lookup": "340b", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be Signed and the sender should be the Owner of the `collection`.", + "", + "- `collection`: The collection whose owner should be changed.", + "- `owner`: The new Owner of this collection. They must have called", + " `set_accept_ownership` with `collection` in order for this operation to succeed.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "340c", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of a collection.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`collection`.", + "", + "Note: by setting the role to `None` only the `ForceOrigin` will be able to change it", + "after to `Some(account)`.", + "", + "- `collection`: The collection whose team should be changed.", + "- `issuer`: The new Issuer of this collection.", + "- `admin`: The new Admin of this collection.", + "- `freezer`: The new Freezer of this collection.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "issuer", + "type": "option", + "type_name": "Option" + }, + { + "name": "admin", + "type": "option", + "type_name": "Option" + }, + { + "name": "freezer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "340d", + "name": "force_collection_owner", + "docs": [ + "Change the Owner of a collection.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the collection.", + "- `owner`: The new Owner of this collection.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "340e", + "name": "force_collection_config", + "docs": [ + "Change the config of a collection.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `collection`: The identifier of the collection.", + "- `config`: The new config of this collection.", + "", + "Emits `CollectionConfigChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "config", + "type": "pallet_nfts:types:CollectionConfig", + "type_name": "CollectionConfigFor" + } + ] + }, + { + "lookup": "340f", + "name": "approve_transfer", + "docs": [ + "Approve an item to be transferred by a delegated third-party account.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "`item`.", + "", + "- `collection`: The collection of the item to be approved for delegated transfer.", + "- `item`: The item to be approved for delegated transfer.", + "- `delegate`: The account to delegate permission to transfer the item.", + "- `maybe_deadline`: Optional deadline for the approval. Specified by providing the", + "\tnumber of blocks after which the approval will expire", + "", + "Emits `TransferApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "maybe_deadline", + "type": "option", + "type_name": "Option<::BlockNumber>" + } + ] + }, + { + "lookup": "3410", + "name": "cancel_approval", + "docs": [ + "Cancel one of the transfer approvals for a specific item.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approval will be cancelled.", + "- `item`: The item of the collection of whose approval will be cancelled.", + "- `delegate`: The account that is going to loose their approval.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3411", + "name": "clear_all_transfer_approvals", + "docs": [ + "Cancel all the approvals of a specific item.", + "", + "Origin must be either:", + "- the `Force` origin;", + "- `Signed` with the signer being the Owner of the `item`;", + "", + "Arguments:", + "- `collection`: The collection of the item of whose approvals will be cleared.", + "- `item`: The item of the collection of whose approvals will be cleared.", + "", + "Emits `AllApprovalsCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3412", + "name": "lock_item_properties", + "docs": [ + "Disallows changing the metadata or attributes of the item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Admin", + "of the `collection`.", + "", + "- `collection`: The collection if the `item`.", + "- `item`: An item to be locked.", + "- `lock_metadata`: Specifies whether the metadata should be locked.", + "- `lock_attributes`: Specifies whether the attributes in the `CollectionOwner` namespace", + " should be locked.", + "", + "Note: `lock_attributes` affects the attributes in the `CollectionOwner` namespace only.", + "When the metadata or attributes are locked, it won't be possible the unlock them.", + "", + "Emits `ItemPropertiesLocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "lock_metadata", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "lock_attributes", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3413", + "name": "set_attribute", + "docs": [ + "Set an attribute for a collection or item.", + "", + "Origin must be Signed and must conform to the namespace ruleset:", + "- `CollectionOwner` namespace could be modified by the `collection` Admin only;", + "- `ItemOwner` namespace could be modified by the `maybe_item` owner only. `maybe_item`", + " should be set in that case;", + "- `Account(AccountId)` namespace could be modified only when the `origin` was given a", + " permission to do so;", + "", + "The funds of `origin` are reserved according to the formula:", + "`AttributeDepositBase + DepositPerByte * (key.len + value.len)` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `namespace`: Attribute's namespace.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3414", + "name": "force_set_attribute", + "docs": [ + "Force-set an attribute for a collection or item.", + "", + "Origin must be `ForceOrigin`.", + "", + "If the attribute already exists and it was set by another account, the deposit", + "will be returned to the previous owner.", + "", + "- `set_as`: An optional owner of the attribute.", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `maybe_item`: The identifier of the item whose metadata to set.", + "- `namespace`: Attribute's namespace.", + "- `key`: The key of the attribute.", + "- `value`: The value to which to set the attribute.", + "", + "Emits `AttributeSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "set_as", + "type": "option", + "type_name": "Option" + }, + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + }, + { + "name": "value", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3415", + "name": "clear_attribute", + "docs": [ + "Clear an attribute for a collection or item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Owner of the", + "attribute.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `maybe_item`: The identifier of the item whose metadata to clear.", + "- `namespace`: Attribute's namespace.", + "- `key`: The key of the attribute.", + "", + "Emits `AttributeCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "namespace", + "type": "pallet_nfts:types:AttributeNamespace", + "type_name": "AttributeNamespace" + }, + { + "name": "key", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3416", + "name": "approve_item_attributes", + "docs": [ + "Approve item's attributes to be changed by a delegated third-party account.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `collection`: A collection of the item.", + "- `item`: The item that holds attributes.", + "- `delegate`: The account to delegate permission to change attributes of the item.", + "", + "Emits `ItemAttributesApprovalAdded` on success." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3417", + "name": "cancel_item_attributes_approval", + "docs": [ + "Cancel the previously provided approval to change item's attributes.", + "All the previously set attributes by the `delegate` will be removed.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `collection`: Collection that the item is contained within.", + "- `item`: The item that holds attributes.", + "- `delegate`: The previously approved account to remove.", + "", + "Emits `ItemAttributesApprovalRemoved` on success." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "witness", + "type": "U32", + "type_name": "CancelAttributesApprovalWitness" + } + ] + }, + { + "lookup": "3418", + "name": "set_metadata", + "docs": [ + "Set the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Admin of the", + "`collection`.", + "", + "If the origin is Signed, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the collection whose item's metadata to set.", + "- `item`: The identifier of the item whose metadata to set.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "", + "Emits `ItemMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3419", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an item.", + "", + "Origin must be either `ForceOrigin` or Signed and the sender should be the Admin of the", + "`collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose item's metadata to clear.", + "- `item`: The identifier of the item whose metadata to clear.", + "", + "Emits `ItemMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "341a", + "name": "set_collection_metadata", + "docs": [ + "Set the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Admin of", + "the `collection`.", + "", + "If the origin is `Signed`, then funds of signer are reserved according to the formula:", + "`MetadataDepositBase + DepositPerByte * data.len` taking into", + "account any already reserved funds.", + "", + "- `collection`: The identifier of the item whose metadata to update.", + "- `data`: The general information of this item. Limited in length by `StringLimit`.", + "", + "Emits `CollectionMetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "data", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "341b", + "name": "clear_collection_metadata", + "docs": [ + "Clear the metadata for a collection.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Admin of", + "the `collection`.", + "", + "Any deposit is freed for the collection's owner.", + "", + "- `collection`: The identifier of the collection whose metadata to clear.", + "", + "Emits `CollectionMetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + } + ] + }, + { + "lookup": "341c", + "name": "set_accept_ownership", + "docs": [ + "Set (or reset) the acceptance of ownership for a particular account.", + "", + "Origin must be `Signed` and if `maybe_collection` is `Some`, then the signer must have a", + "provider reference.", + "", + "- `maybe_collection`: The identifier of the collection whose ownership the signer is", + " willing to accept, or if `None`, an indication that the signer is willing to accept no", + " ownership transferal.", + "", + "Emits `OwnershipAcceptanceChanged`." + ], + "args": [ + { + "name": "maybe_collection", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "341d", + "name": "set_collection_max_supply", + "docs": [ + "Set the maximum number of items a collection could have.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Owner of", + "the `collection`.", + "", + "- `collection`: The identifier of the collection to change.", + "- `max_supply`: The maximum number of items a collection could have.", + "", + "Emits `CollectionMaxSupplySet` event when successful." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "max_supply", + "type": "U32", + "type_name": "u32" + } + ] + }, + { + "lookup": "341e", + "name": "update_mint_settings", + "docs": [ + "Update mint settings.", + "", + "Origin must be either `ForceOrigin` or `Signed` and the sender should be the Issuer", + "of the `collection`.", + "", + "- `collection`: The identifier of the collection to change.", + "- `mint_settings`: The new mint settings.", + "", + "Emits `CollectionMintSettingsUpdated` event when successful." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "mint_settings", + "type": "pallet_nfts:types:MintSettings", + "type_name": "MintSettings::BlockNumber, CollectionId,>" + } + ] + }, + { + "lookup": "341f", + "name": "set_price", + "docs": [ + "Set (or reset) the price for an item.", + "", + "Origin must be Signed and must be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item to set the price for.", + "- `price`: The price for the item. Pass `None`, to reset the price.", + "- `buyer`: Restricts the buy operation to a specific account.", + "", + "Emits `ItemPriceSet` on success if the price is not `None`.", + "Emits `ItemPriceRemoved` on success if the price is `None`." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "price", + "type": "option", + "type_name": "Option" + }, + { + "name": "whitelisted_buyer", + "type": "option", + "type_name": "Option" + } + ] + }, + { + "lookup": "3420", + "name": "buy_item", + "docs": [ + "Allows to buy an item if it's up for sale.", + "", + "Origin must be Signed and must not be the owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item the sender wants to buy.", + "- `bid_price`: The price the sender is willing to pay.", + "", + "Emits `ItemBought` on success." + ], + "args": [ + { + "name": "collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "bid_price", + "type": "U128", + "type_name": "ItemPrice" + } + ] + }, + { + "lookup": "3421", + "name": "pay_tips", + "docs": [ + "Allows to pay the tips.", + "", + "Origin must be Signed.", + "", + "- `tips`: Tips array.", + "", + "Emits `TipSent` on every tip transfer." + ], + "args": [ + { + "name": "tips", + "type": "Vec", + "type_name": "BoundedVec" + } + ] + }, + { + "lookup": "3422", + "name": "create_swap", + "docs": [ + "Register a new atomic swap, declaring an intention to send an `item` in exchange for", + "`desired_item` from origin to target on the current blockchain.", + "The target can execute the swap during the specified `duration` of blocks (if set).", + "Additionally, the price could be set for the desired `item`.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item an owner wants to give.", + "- `desired_collection`: The collection of the desired item.", + "- `desired_item`: The desired item an owner wants to receive.", + "- `maybe_price`: The price an owner is willing to pay or receive for the desired `item`.", + "- `duration`: A deadline for the swap. Specified by providing the number of blocks", + "\tafter which the swap will expire.", + "", + "Emits `SwapCreated` on success." + ], + "args": [ + { + "name": "offered_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "offered_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "desired_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "maybe_desired_item", + "type": "option", + "type_name": "Option" + }, + { + "name": "maybe_price", + "type": "option", + "type_name": "Option>" + }, + { + "name": "duration", + "type": "U32", + "type_name": "::BlockNumber" + } + ] + }, + { + "lookup": "3423", + "name": "cancel_swap", + "docs": [ + "Cancel an atomic swap.", + "", + "Origin must be Signed.", + "Origin must be an owner of the `item` if the deadline hasn't expired.", + "", + "- `collection`: The collection of the item.", + "- `item`: The item an owner wants to give.", + "", + "Emits `SwapCancelled` on success." + ], + "args": [ + { + "name": "offered_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "offered_item", + "type": "U32", + "type_name": "ItemId" + } + ] + }, + { + "lookup": "3424", + "name": "claim_swap", + "docs": [ + "Claim an atomic swap.", + "This method executes a pending swap, that was created by a counterpart before.", + "", + "Origin must be Signed and must be an owner of the `item`.", + "", + "- `send_collection`: The collection of the item to be sent.", + "- `send_item`: The item to be sent.", + "- `receive_collection`: The collection of the item to be received.", + "- `receive_item`: The item to be received.", + "- `witness_price`: A price that was previously agreed on.", + "", + "Emits `SwapClaimed` on success." + ], + "args": [ + { + "name": "send_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "send_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "receive_collection", + "type": "U32", + "type_name": "CollectionId" + }, + { + "name": "receive_item", + "type": "U32", + "type_name": "ItemId" + }, + { + "name": "witness_price", + "type": "option", + "type_name": "Option>" + } + ] + }, + { + "lookup": "3425", + "name": "mint_pre_signed", + "docs": [ + "Mint an item by providing the pre-signed approval.", + "", + "Origin must be Signed.", + "", + "- `mint_data`: The pre-signed approval that consists of the information about the item,", + " its metadata, attributes, who can mint it (`None` for anyone) and until what block", + " number.", + "- `signature`: The signature of the `data` object.", + "- `signer`: The `data` object's signer. Should be an Issuer of the collection.", + "", + "Emits `Issued` on success.", + "Emits `AttributeSet` if the attributes were provided.", + "Emits `ItemMetadataSet` if the metadata was not empty." + ], + "args": [ + { + "name": "mint_data", + "type": "pallet_nfts:types:PreSignedMint", + "type_name": "PreSignedMintOf" + }, + { + "name": "signature", + "type": "sp_runtime:MultiSignature", + "type_name": "OffchainSignature" + }, + { + "name": "signer", + "type": "AccountId", + "type_name": "AccountId" + } + ] + }, + { + "lookup": "3426", + "name": "set_attributes_pre_signed", + "docs": [ + "Set attributes for an item by providing the pre-signed approval.", + "", + "Origin must be Signed and must be an owner of the `data.item`.", + "", + "- `data`: The pre-signed approval that consists of the information about the item,", + " attributes to update and until what block number.", + "- `signature`: The signature of the `data` object.", + "- `signer`: The `data` object's signer. Should be an Admin of the collection for the", + " `CollectionOwner` namespace.", + "", + "Emits `AttributeSet` for each provided attribute.", + "Emits `ItemAttributesApprovalAdded` if the approval wasn't set before.", + "Emits `PreSignedAttributesSet` on success." + ], + "args": [ + { + "name": "data", + "type": "pallet_nfts:types:PreSignedAttributes", + "type_name": "PreSignedAttributesOf" + }, + { + "name": "signature", + "type": "sp_runtime:MultiSignature", + "type_name": "OffchainSignature" + }, + { + "name": "signer", + "type": "AccountId", + "type_name": "AccountId" + } + ] + } + ], + "calls_value": { + "type": 288 + }, + "events": [ + { + "lookup": "3400", + "name": "Created", + "docs": [ + "A `collection` was created." + ], + "args": [ + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "creator", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3401", + "name": "ForceCreated", + "docs": [ + "A `collection` was force-created." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "3402", + "name": "Destroyed", + "docs": [ + "A `collection` was destroyed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3403", + "name": "Issued", + "docs": [ + "An `item` was issued." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3404", + "name": "Transferred", + "docs": [ + "An `item` was transferred." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "from", + "to" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3405", + "name": "Burned", + "docs": [ + "An `item` was destroyed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3406", + "name": "ItemTransferLocked", + "docs": [ + "An `item` became non-transferable." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3407", + "name": "ItemTransferUnlocked", + "docs": [ + "An `item` became transferable." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3408", + "name": "ItemPropertiesLocked", + "docs": [ + "`item` metadata or attributes were locked." + ], + "args": [ + "U32", + "U32", + "Bool", + "Bool" + ], + "args_name": [ + "collection", + "item", + "lock_metadata", + "lock_attributes" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "bool", + "bool" + ] + }, + { + "lookup": "3409", + "name": "CollectionLocked", + "docs": [ + "Some `collection` was locked." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "340a", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "new_owner" + ], + "args_type_name": [ + "CollectionId", + "AccountId" + ] + }, + { + "lookup": "340b", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "U32", + "option", + "option", + "option" + ], + "args_name": [ + "collection", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "CollectionId", + "Option", + "Option", + "Option" + ] + }, + { + "lookup": "340c", + "name": "TransferApproved", + "docs": [ + "An `item` of a `collection` has been approved by the `owner` for transfer by", + "a `delegate`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId", + "option" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId", + "Option<::BlockNumber>" + ] + }, + { + "lookup": "340d", + "name": "ApprovalCancelled", + "docs": [ + "An approval for a `delegate` account to transfer the `item` of an item", + "`collection` was cancelled by its `owner`." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "340e", + "name": "AllApprovalsCancelled", + "docs": [ + "All approvals of an item got cancelled." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "owner" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "340f", + "name": "CollectionConfigChanged", + "docs": [ + "A `collection` has had its config changed by the `Force` origin." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3410", + "name": "CollectionMetadataSet", + "docs": [ + "New metadata has been set for a `collection`." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "data" + ], + "args_type_name": [ + "CollectionId", + "BoundedVec" + ] + }, + { + "lookup": "3411", + "name": "CollectionMetadataCleared", + "docs": [ + "Metadata has been cleared for a `collection`." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "3412", + "name": "ItemMetadataSet", + "docs": [ + "New metadata has been set for an item." + ], + "args": [ + "U32", + "U32", + "Vec" + ], + "args_name": [ + "collection", + "item", + "data" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "BoundedVec" + ] + }, + { + "lookup": "3413", + "name": "ItemMetadataCleared", + "docs": [ + "Metadata has been cleared for an item." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "3414", + "name": "Redeposited", + "docs": [ + "The deposit for a set of `item`s within a `collection` has been updated." + ], + "args": [ + "U32", + "Vec" + ], + "args_name": [ + "collection", + "successful_items" + ], + "args_type_name": [ + "CollectionId", + "Vec" + ] + }, + { + "lookup": "3415", + "name": "AttributeSet", + "docs": [ + "New attribute metadata has been set for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "Vec", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "value", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "BoundedVec", + "AttributeNamespace" + ] + }, + { + "lookup": "3416", + "name": "AttributeCleared", + "docs": [ + "Attribute metadata has been cleared for a `collection` or `item`." + ], + "args": [ + "U32", + "option", + "Vec", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "maybe_item", + "key", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "Option", + "BoundedVec", + "AttributeNamespace" + ] + }, + { + "lookup": "3417", + "name": "ItemAttributesApprovalAdded", + "docs": [ + "A new approval to modify item attributes was added." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3418", + "name": "ItemAttributesApprovalRemoved", + "docs": [ + "A new approval to modify item attributes was removed." + ], + "args": [ + "U32", + "U32", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "delegate" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId" + ] + }, + { + "lookup": "3419", + "name": "OwnershipAcceptanceChanged", + "docs": [ + "Ownership acceptance has changed for an account." + ], + "args": [ + "AccountId", + "option" + ], + "args_name": [ + "who", + "maybe_collection" + ], + "args_type_name": [ + "AccountId", + "Option" + ] + }, + { + "lookup": "341a", + "name": "CollectionMaxSupplySet", + "docs": [ + "Max supply has been set for a collection." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "max_supply" + ], + "args_type_name": [ + "CollectionId", + "u32" + ] + }, + { + "lookup": "341b", + "name": "CollectionMintSettingsUpdated", + "docs": [ + "Mint settings for a collection had changed." + ], + "args": [ + "U32" + ], + "args_name": [ + "collection" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "341c", + "name": "NextCollectionIdIncremented", + "docs": [ + "Event gets emitted when the `NextCollectionId` gets incremented." + ], + "args": [ + "U32" + ], + "args_name": [ + "next_id" + ], + "args_type_name": [ + "CollectionId" + ] + }, + { + "lookup": "341d", + "name": "ItemPriceSet", + "docs": [ + "The price was set for the item." + ], + "args": [ + "U32", + "U32", + "U128", + "option" + ], + "args_name": [ + "collection", + "item", + "price", + "whitelisted_buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "Option" + ] + }, + { + "lookup": "341e", + "name": "ItemPriceRemoved", + "docs": [ + "The price for the item was removed." + ], + "args": [ + "U32", + "U32" + ], + "args_name": [ + "collection", + "item" + ], + "args_type_name": [ + "CollectionId", + "ItemId" + ] + }, + { + "lookup": "341f", + "name": "ItemBought", + "docs": [ + "An item was bought." + ], + "args": [ + "U32", + "U32", + "U128", + "AccountId", + "AccountId" + ], + "args_name": [ + "collection", + "item", + "price", + "seller", + "buyer" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "ItemPrice", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3420", + "name": "TipSent", + "docs": [ + "A tip was sent." + ], + "args": [ + "U32", + "U32", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "collection", + "item", + "sender", + "receiver", + "amount" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "AccountId", + "DepositBalanceOf" + ] + }, + { + "lookup": "3421", + "name": "SwapCreated", + "docs": [ + "An `item` swap intent was created." + ], + "args": [ + "U32", + "U32", + "U32", + "option", + "option", + "U32" + ], + "args_name": [ + "offered_collection", + "offered_item", + "desired_collection", + "desired_item", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "CollectionId", + "Option", + "Option>", + "::BlockNumber" + ] + }, + { + "lookup": "3422", + "name": "SwapCancelled", + "docs": [ + "The swap was cancelled." + ], + "args": [ + "U32", + "U32", + "U32", + "option", + "option", + "U32" + ], + "args_name": [ + "offered_collection", + "offered_item", + "desired_collection", + "desired_item", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "CollectionId", + "Option", + "Option>", + "::BlockNumber" + ] + }, + { + "lookup": "3423", + "name": "SwapClaimed", + "docs": [ + "The swap has been claimed." + ], + "args": [ + "U32", + "U32", + "AccountId", + "U32", + "U32", + "AccountId", + "option", + "U32" + ], + "args_name": [ + "sent_collection", + "sent_item", + "sent_item_owner", + "received_collection", + "received_item", + "received_item_owner", + "price", + "deadline" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AccountId", + "CollectionId", + "ItemId", + "AccountId", + "Option>", + "::BlockNumber" + ] + }, + { + "lookup": "3424", + "name": "PreSignedAttributesSet", + "docs": [ + "New attributes have been set for an `item` of the `collection`." + ], + "args": [ + "U32", + "U32", + "pallet_nfts:types:AttributeNamespace" + ], + "args_name": [ + "collection", + "item", + "namespace" + ], + "args_type_name": [ + "CollectionId", + "ItemId", + "AttributeNamespace" + ] + }, + { + "lookup": "3425", + "name": "PalletAttributeSet", + "docs": [ + "A new attribute in the `Pallet` namespace was set for the `collection` or an `item`", + "within that `collection`." + ], + "args": [ + "U32", + "option", + "pallet_nfts:types:PalletAttributes", + "Vec" + ], + "args_name": [ + "collection", + "item", + "attribute", + "value" + ], + "args_type_name": [ + "CollectionId", + "Option", + "PalletAttributes", + "BoundedVec" + ] + } + ], + "events_value": { + "type": 116 + }, + "constants": [ + { + "name": "CollectionDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for collection." + ] + }, + { + "name": "ItemDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e1f505000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an item." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "a06afa77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your item." + ] + }, + { + "name": "AttributeDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "00943577000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding an attribute to an item." + ] + }, + { + "name": "DepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes store in metadata,", + " either \"normal\" metadata or attribute metadata." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "00010000", + "docs": [ + " The maximum length of data stored on-chain." + ] + }, + { + "name": "KeyLimit", + "type": "U32", + "type_value": 4, + "constants_value": "40000000", + "docs": [ + " The maximum length of an attribute key." + ] + }, + { + "name": "ValueLimit", + "type": "U32", + "type_value": 4, + "constants_value": "00010000", + "docs": [ + " The maximum length of an attribute value." + ] + }, + { + "name": "ApprovalsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "14000000", + "docs": [ + " The maximum approvals an item could have." + ] + }, + { + "name": "ItemAttributesApprovalsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "1e000000", + "docs": [ + " The maximum attributes approvals an item could have." + ] + }, + { + "name": "MaxTips", + "type": "U32", + "type_value": 4, + "constants_value": "0a000000", + "docs": [ + " The max number of tips a user could send." + ] + }, + { + "name": "MaxDeadlineDuration", + "type": "U32", + "type_value": 4, + "constants_value": "008d2700", + "docs": [ + " The max duration in blocks for deadlines." + ] + }, + { + "name": "MaxAttributesPerCall", + "type": "U32", + "type_value": 4, + "constants_value": "0a000000", + "docs": [ + " The max number of attributes a user could set per call." + ] + }, + { + "name": "Features", + "type": "U64", + "type_value": 371, + "constants_value": "0000000000000000", + "docs": [ + " Disables some of pallet's features." + ] + } + ], + "errors": [ + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "UnknownCollection", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The item ID has already been used for an item." + ] + }, + { + "name": "ApprovalExpired", + "doc": [ + "The approval had a deadline that expired, so the approval isn't valid anymore." + ] + }, + { + "name": "WrongOwner", + "doc": [ + "The owner turned out to be different to what was expected." + ] + }, + { + "name": "BadWitness", + "doc": [ + "The witness data given does not match the current state of the chain." + ] + }, + { + "name": "CollectionIdInUse", + "doc": [ + "Collection ID is already taken." + ] + }, + { + "name": "ItemsNonTransferable", + "doc": [ + "Items within that collection are non-transferable." + ] + }, + { + "name": "NotDelegate", + "doc": [ + "The provided account is not a delegate." + ] + }, + { + "name": "WrongDelegate", + "doc": [ + "The delegate turned out to be different to what was expected." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "Unaccepted", + "doc": [ + "The named owner has not signed ownership acceptance of the collection." + ] + }, + { + "name": "ItemLocked", + "doc": [ + "The item is locked (non-transferable)." + ] + }, + { + "name": "LockedItemAttributes", + "doc": [ + "Item's attributes are locked." + ] + }, + { + "name": "LockedCollectionAttributes", + "doc": [ + "Collection's attributes are locked." + ] + }, + { + "name": "LockedItemMetadata", + "doc": [ + "Item's metadata is locked." + ] + }, + { + "name": "LockedCollectionMetadata", + "doc": [ + "Collection's metadata is locked." + ] + }, + { + "name": "MaxSupplyReached", + "doc": [ + "All items have been minted." + ] + }, + { + "name": "MaxSupplyLocked", + "doc": [ + "The max supply is locked and can't be changed." + ] + }, + { + "name": "MaxSupplyTooSmall", + "doc": [ + "The provided max supply is less than the number of items a collection already has." + ] + }, + { + "name": "UnknownItem", + "doc": [ + "The given item ID is unknown." + ] + }, + { + "name": "UnknownSwap", + "doc": [ + "Swap doesn't exist." + ] + }, + { + "name": "MetadataNotFound", + "doc": [ + "The given item has no metadata set." + ] + }, + { + "name": "AttributeNotFound", + "doc": [ + "The provided attribute can't be found." + ] + }, + { + "name": "NotForSale", + "doc": [ + "Item is not for sale." + ] + }, + { + "name": "BidTooLow", + "doc": [ + "The provided bid is too low." + ] + }, + { + "name": "ReachedApprovalLimit", + "doc": [ + "The item has reached its approval limit." + ] + }, + { + "name": "DeadlineExpired", + "doc": [ + "The deadline has already expired." + ] + }, + { + "name": "WrongDuration", + "doc": [ + "The duration provided should be less than or equal to `MaxDeadlineDuration`." + ] + }, + { + "name": "MethodDisabled", + "doc": [ + "The method is disabled by system settings." + ] + }, + { + "name": "WrongSetting", + "doc": [ + "The provided setting can't be set." + ] + }, + { + "name": "InconsistentItemConfig", + "doc": [ + "Item's config already exists and should be equal to the provided one." + ] + }, + { + "name": "NoConfig", + "doc": [ + "Config for a collection or an item can't be found." + ] + }, + { + "name": "RolesNotCleared", + "doc": [ + "Some roles were not cleared." + ] + }, + { + "name": "MintNotStarted", + "doc": [ + "Mint has not started yet." + ] + }, + { + "name": "MintEnded", + "doc": [ + "Mint has already ended." + ] + }, + { + "name": "AlreadyClaimed", + "doc": [ + "The provided Item was already used for claiming." + ] + }, + { + "name": "IncorrectData", + "doc": [ + "The provided data is incorrect." + ] + }, + { + "name": "WrongOrigin", + "doc": [ + "The extrinsic was sent by the wrong origin." + ] + }, + { + "name": "WrongSignature", + "doc": [ + "The provided signature is incorrect." + ] + }, + { + "name": "IncorrectMetadata", + "doc": [ + "The provided metadata might be too long." + ] + }, + { + "name": "MaxAttributesLimitReached", + "doc": [ + "Can't set more attributes per one call." + ] + }, + { + "name": "WrongNamespace", + "doc": [ + "The provided namespace isn't supported in this call." + ] + }, + { + "name": "CollectionNotEmpty", + "doc": [ + "Can't delete non-empty collections." + ] + } + ], + "errors_value": { + "type": 373 + }, + "index": 52 + }, + { + "name": "ForeignAssets", + "prefix": "ForeignAssets", + "storage": [ + { + "name": "Asset", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "xcm:v3:multilocation:MultiLocation" + ], + "value": "pallet_assets:types:AssetDetails", + "keys_id": 45, + "value_id": 332 + } + }, + "fallback": "0x00", + "docs": [ + " Details of an asset." + ] + }, + { + "name": "Account", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "value": "pallet_assets:types:AssetAccount", + "keys_id": 374, + "value_id": 335 + } + }, + "fallback": "0x00", + "docs": [ + " The holdings of a specific account for a specific asset." + ] + }, + { + "name": "Approvals", + "modifier": "Optional", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat", + "Blake2_128Concat", + "Blake2_128Concat" + ], + "key_vec": [ + "xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "value": "pallet_assets:types:Approval", + "keys_id": 375, + "value_id": 339 + } + }, + "fallback": "0x00", + "docs": [ + " Approved balance transfers. First balance is the amount approved for transfer. Second", + " is the amount of `T::Currency` reserved for storing this.", + " First key is the asset ID, second key is the owner and third key is the delegate." + ] + }, + { + "name": "Metadata", + "modifier": "Default", + "type": { + "origin": "Map", + "n_map_type": { + "hashers": [ + "Blake2_128Concat" + ], + "key_vec": [ + "xcm:v3:multilocation:MultiLocation" + ], + "value": "pallet_assets:types:AssetMetadata@376", + "keys_id": 45, + "value_id": 376 + } + }, + "fallback": "0x0000000000000000000000000000000000000000", + "docs": [ + " Metadata of an asset." + ] + } + ], + "calls": [ + { + "lookup": "3500", + "name": "create", + "docs": [ + "Issue a new class of fungible assets from a public origin.", + "", + "This new asset class has no assets initially and its owner is the origin.", + "", + "The origin must conform to the configured `CreateOrigin` and have sufficient funds free.", + "", + "Funds of sender are reserved by `AssetDeposit`.", + "", + "Parameters:", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `admin`: The admin of this class of assets. The admin is the initial address of each", + "member of the asset class's admin team.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `Created` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3501", + "name": "force_create", + "docs": [ + "Issue a new class of fungible assets from a privileged origin.", + "", + "This new asset class has no assets initially.", + "", + "The origin must conform to `ForceOrigin`.", + "", + "Unlike `create`, no funds are reserved.", + "", + "- `id`: The identifier of the new asset. This must not be currently in use to identify", + "an existing asset.", + "- `owner`: The owner of this class of assets. The owner has full superuser permissions", + "over this asset, but may later change and configure the permissions using", + "`transfer_ownership` and `set_team`.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "", + "Emits `ForceCreated` event when successful.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3502", + "name": "start_destroy", + "docs": [ + "Start the process of destroying a fungible asset class.", + "", + "`start_destroy` is the first in a series of extrinsics that should be called, to allow", + "destruction of an asset class.", + "", + "The origin must conform to `ForceOrigin` or must be `Signed` by the asset's `owner`.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "The asset class must be frozen before calling `start_destroy`." + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3503", + "name": "destroy_accounts", + "docs": [ + "Destroy all accounts associated with a given asset.", + "", + "`destroy_accounts` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all accounts. It will destroy `RemoveItemsLimit` accounts at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedAccounts` event." + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3504", + "name": "destroy_approvals", + "docs": [ + "Destroy all approvals associated with a given asset up to the max (T::RemoveItemsLimit).", + "", + "`destroy_approvals` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state.", + "", + "Due to weight restrictions, this function may need to be called multiple times to fully", + "destroy all approvals. It will destroy `RemoveItemsLimit` approvals at a time.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each call emits the `Event::DestroyedApprovals` event." + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3505", + "name": "finish_destroy", + "docs": [ + "Complete destroying asset and unreserve currency.", + "", + "`finish_destroy` should only be called after `start_destroy` has been called, and the", + "asset is in a `Destroying` state. All accounts or approvals should be destroyed before", + "hand.", + "", + "- `id`: The identifier of the asset to be destroyed. This must identify an existing", + " asset.", + "", + "Each successful call emits the `Event::Destroyed` event." + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3506", + "name": "mint", + "docs": [ + "Mint assets of a particular class.", + "", + "The origin must be Signed and the sender must be the Issuer of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount minted.", + "- `beneficiary`: The account to be credited with the minted assets.", + "- `amount`: The amount of the asset to be minted.", + "", + "Emits `Issued` event when successful.", + "", + "Weight: `O(1)`", + "Modes: Pre-existing balance of `beneficiary`; Account pre-existence of `beneficiary`." + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "beneficiary", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3507", + "name": "burn", + "docs": [ + "Reduce the balance of `who` by as much as possible up to `amount` assets of `id`.", + "", + "Origin must be Signed and the sender should be the Manager of the asset `id`.", + "", + "Bails with `NoAccount` if the `who` is already dead.", + "", + "- `id`: The identifier of the asset to have some amount burned.", + "- `who`: The account to be debited from.", + "- `amount`: The maximum amount by which `who`'s balance should be reduced.", + "", + "Emits `Burned` with the actual amount burned. If this takes the balance to below the", + "minimum for the asset, then the amount burned is increased to take it to zero.", + "", + "Weight: `O(1)`", + "Modes: Post-existence of `who`; Pre & post Zombie-status of `who`." + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3508", + "name": "transfer", + "docs": [ + "Move some assets from the sender account to another.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3509", + "name": "transfer_keep_alive", + "docs": [ + "Move some assets from the sender account to another, keeping the sender account alive.", + "", + "Origin must be Signed.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `target`: The account to be credited.", + "- `amount`: The amount by which the sender's balance of assets should be reduced and", + "`target`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the sender balance above zero but below", + "the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `target`; Post-existence of sender; Account pre-existence of", + "`target`." + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "target", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "350a", + "name": "force_transfer", + "docs": [ + "Move some assets from one account to another.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to have some amount transferred.", + "- `source`: The account to be debited.", + "- `dest`: The account to be credited.", + "- `amount`: The amount by which the `source`'s balance of assets should be reduced and", + "`dest`'s balance increased. The amount actually transferred may be slightly greater in", + "the case that the transfer would otherwise take the `source` balance above zero but", + "below the minimum balance. Must be greater than zero.", + "", + "Emits `Transferred` with the actual amount transferred. If this takes the source balance", + "to below the minimum for the asset, then the amount transferred is increased to take it", + "to zero.", + "", + "Weight: `O(1)`", + "Modes: Pre-existence of `dest`; Post-existence of `source`; Account pre-existence of", + "`dest`." + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "source", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "dest", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "350b", + "name": "freeze", + "docs": [ + "Disallow further unprivileged transfers of an asset `id` from an account `who`. `who`", + "must already exist as an entry in `Account`s of the asset. If you want to freeze an", + "account that does not have an entry, use `touch_other` first.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "350c", + "name": "thaw", + "docs": [ + "Allow unprivileged transfers to and from an account again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `who`: The account to be unfrozen.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "350d", + "name": "freeze_asset", + "docs": [ + "Disallow further unprivileged transfers for the asset class.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "", + "Emits `Frozen`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "350e", + "name": "thaw_asset", + "docs": [ + "Allow unprivileged transfers for the asset again.", + "", + "Origin must be Signed and the sender should be the Admin of the asset `id`.", + "", + "- `id`: The identifier of the asset to be thawed.", + "", + "Emits `Thawed`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "350f", + "name": "transfer_ownership", + "docs": [ + "Change the Owner of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "", + "Emits `OwnerChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3510", + "name": "set_team", + "docs": [ + "Change the Issuer, Admin and Freezer of an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "- `id`: The identifier of the asset to be frozen.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "", + "Emits `TeamChanged`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3511", + "name": "set_metadata", + "docs": [ + "Set the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Funds of sender are reserved according to the formula:", + "`MetadataDepositBase + MetadataDepositPerByte * (name.len + symbol.len)` taking into", + "account any already reserved funds.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + } + ] + }, + { + "lookup": "3512", + "name": "clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be Signed and the sender should be the Owner of the asset `id`.", + "", + "Any deposit is freed for the asset owner.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3513", + "name": "force_set_metadata", + "docs": [ + "Force the metadata for an asset to some value.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is left alone.", + "", + "- `id`: The identifier of the asset to update.", + "- `name`: The user friendly name of this asset. Limited in length by `StringLimit`.", + "- `symbol`: The exchange symbol for this asset. Limited in length by `StringLimit`.", + "- `decimals`: The number of decimals this asset uses to represent one unit.", + "", + "Emits `MetadataSet`.", + "", + "Weight: `O(N + S)` where N and S are the length of the name and symbol respectively." + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "name", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "symbol", + "type": "Vec", + "type_name": "Bytes" + }, + { + "name": "decimals", + "type": "U8", + "type_name": "u8" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3514", + "name": "force_clear_metadata", + "docs": [ + "Clear the metadata for an asset.", + "", + "Origin must be ForceOrigin.", + "", + "Any deposit is returned.", + "", + "- `id`: The identifier of the asset to clear.", + "", + "Emits `MetadataCleared`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "3515", + "name": "force_asset_status", + "docs": [ + "Alter the attributes of a given asset.", + "", + "Origin must be `ForceOrigin`.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The new Owner of this asset.", + "- `issuer`: The new Issuer of this asset.", + "- `admin`: The new Admin of this asset.", + "- `freezer`: The new Freezer of this asset.", + "- `min_balance`: The minimum balance of this new asset that any single account must", + "have. If an account's balance is reduced below this, then it collapses to zero.", + "- `is_sufficient`: Whether a non-zero balance of this asset is deposit of sufficient", + "value to account for the state bloat associated with its balance storage. If set to", + "`true`, then non-zero balances may be stored without a `consumer` reference (and thus", + "an ED in the Balances pallet or whatever else is used to control user-account state", + "growth).", + "- `is_frozen`: Whether this asset class is frozen except for permissioned/admin", + "instructions.", + "", + "Emits `AssetStatusChanged` with the identity of the asset.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "issuer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "admin", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "freezer", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "min_balance", + "type": "compact", + "type_name": "Balance" + }, + { + "name": "is_sufficient", + "type": "Bool", + "type_name": "bool" + }, + { + "name": "is_frozen", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "3516", + "name": "approve_transfer", + "docs": [ + "Approve an amount of asset for transfer by a delegated third-party account.", + "", + "Origin must be Signed.", + "", + "Ensures that `ApprovalDeposit` worth of `Currency` is reserved from signing account", + "for the purpose of holding the approval. If some non-zero amount of assets is already", + "approved from signing account to `delegate`, then it is topped up or unreserved to", + "meet the right value.", + "", + "NOTE: The signing account does not need to own `amount` of assets at the point of", + "making this call.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account to delegate permission to transfer asset.", + "- `amount`: The amount of asset that may be transferred by `delegate`. If there is", + "already an approval in place, then this acts additively.", + "", + "Emits `ApprovedTransfer` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "3517", + "name": "cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be Signed and there must be an approval in place between signer and", + "`delegate`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3518", + "name": "force_cancel_approval", + "docs": [ + "Cancel all of some asset approved for delegated transfer by a third-party account.", + "", + "Origin must be either ForceOrigin or Signed origin with the signer being the Admin", + "account of the asset `id`.", + "", + "Unreserves any deposit previously reserved by `approve_transfer` for the approval.", + "", + "- `id`: The identifier of the asset.", + "- `delegate`: The account delegated permission to transfer asset.", + "", + "Emits `ApprovalCancelled` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "delegate", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "3519", + "name": "transfer_approved", + "docs": [ + "Transfer some asset balance from a previously delegated account to some third-party", + "account.", + "", + "Origin must be Signed and there must be an approval in place by the `owner` to the", + "signer.", + "", + "If the entire amount approved for transfer is transferred, then any deposit previously", + "reserved by `approve_transfer` is unreserved.", + "", + "- `id`: The identifier of the asset.", + "- `owner`: The account which previously approved for a transfer of at least `amount` and", + "from which the asset balance will be withdrawn.", + "- `destination`: The account to which the asset balance of `amount` will be transferred.", + "- `amount`: The amount of assets to transfer.", + "", + "Emits `TransferredApproved` on success.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "owner", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "destination", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + }, + { + "name": "amount", + "type": "compact", + "type_name": "Balance" + } + ] + }, + { + "lookup": "351a", + "name": "touch", + "docs": [ + "Create an asset account for non-provider assets.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed; the signer account must have sufficient funds for a deposit", + " to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + } + ] + }, + { + "lookup": "351b", + "name": "refund", + "docs": [ + "Return the deposit (if any) of an asset account or a consumer reference (if any) of an", + "account.", + "", + "The origin must be Signed.", + "", + "- `id`: The identifier of the asset for which the caller would like the deposit", + " refunded.", + "- `allow_burn`: If `true` then assets may be destroyed in order to complete the refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "allow_burn", + "type": "Bool", + "type_name": "bool" + } + ] + }, + { + "lookup": "351c", + "name": "set_min_balance", + "docs": [ + "Sets the minimum balance of an asset.", + "", + "Only works if there aren't any accounts that are holding the asset or if", + "the new value of `min_balance` is less than the old one.", + "", + "Origin must be Signed and the sender has to be the Owner of the", + "asset `id`.", + "", + "- `id`: The identifier of the asset.", + "- `min_balance`: The new value of `min_balance`.", + "", + "Emits `AssetMinBalanceChanged` event when successful." + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "min_balance", + "type": "U128", + "type_name": "Balance" + } + ] + }, + { + "lookup": "351d", + "name": "touch_other", + "docs": [ + "Create an asset account for `who`.", + "", + "A deposit will be taken from the signer account.", + "", + "- `origin`: Must be Signed by `Freezer` or `Admin` of the asset `id`; the signer account", + " must have sufficient funds for a deposit to be taken.", + "- `id`: The identifier of the asset for the account to be created.", + "- `who`: The account to be created.", + "", + "Emits `Touched` event when successful." + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "351e", + "name": "refund_other", + "docs": [ + "Return the deposit (if any) of a target asset account. Useful if you are the depositor.", + "", + "The origin must be Signed and either the account owner, depositor, or asset `Admin`. In", + "order to burn a non-zero balance of the asset, the caller must be the account and should", + "use `refund`.", + "", + "- `id`: The identifier of the asset for the account holding a deposit.", + "- `who`: The account to refund.", + "", + "Emits `Refunded` event when successful." + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + }, + { + "lookup": "351f", + "name": "block", + "docs": [ + "Disallow further unprivileged transfers of an asset `id` to and from an account `who`.", + "", + "Origin must be Signed and the sender should be the Freezer of the asset `id`.", + "", + "- `id`: The identifier of the account's asset.", + "- `who`: The account to be unblocked.", + "", + "Emits `Blocked`.", + "", + "Weight: `O(1)`" + ], + "args": [ + { + "name": "id", + "type": "xcm:v3:multilocation:MultiLocation", + "type_name": "AssetIdParameter" + }, + { + "name": "who", + "type": "sp_runtime:multiaddress:MultiAddress", + "type_name": "AccountIdLookupOf" + } + ] + } + ], + "calls_value": { + "type": 312 + }, + "events": [ + { + "lookup": "3500", + "name": "Created", + "docs": [ + "Some asset class was created." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "creator", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3501", + "name": "Issued", + "docs": [ + "Some assets were issued." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3502", + "name": "Transferred", + "docs": [ + "Some assets were transferred." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "from", + "to", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3503", + "name": "Burned", + "docs": [ + "Some assets were destroyed." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "balance" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3504", + "name": "TeamChanged", + "docs": [ + "The management team changed." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "issuer", + "admin", + "freezer" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3505", + "name": "OwnerChanged", + "docs": [ + "The owner changed." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3506", + "name": "Frozen", + "docs": [ + "Some account `who` was frozen." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3507", + "name": "Thawed", + "docs": [ + "Some account `who` was thawed." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "3508", + "name": "AssetFrozen", + "docs": [ + "Some asset `asset_id` was frozen." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3509", + "name": "AssetThawed", + "docs": [ + "Some asset `asset_id` was thawed." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350a", + "name": "AccountsDestroyed", + "docs": [ + "Accounts were destroyed for given asset." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "accounts_destroyed", + "accounts_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "350b", + "name": "ApprovalsDestroyed", + "docs": [ + "Approvals were destroyed for given asset." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "U32", + "U32" + ], + "args_name": [ + "asset_id", + "approvals_destroyed", + "approvals_remaining" + ], + "args_type_name": [ + "AssetId", + "u32", + "u32" + ] + }, + { + "lookup": "350c", + "name": "DestructionStarted", + "docs": [ + "An asset class is in the process of being destroyed." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350d", + "name": "Destroyed", + "docs": [ + "An asset class was destroyed." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "350e", + "name": "ForceCreated", + "docs": [ + "Some asset class was force-created." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + }, + { + "lookup": "350f", + "name": "MetadataSet", + "docs": [ + "New metadata has been set for an asset." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "Vec", + "Vec", + "U8", + "Bool" + ], + "args_name": [ + "asset_id", + "name", + "symbol", + "decimals", + "is_frozen" + ], + "args_type_name": [ + "AssetId", + "Bytes", + "Bytes", + "u8", + "bool" + ] + }, + { + "lookup": "3510", + "name": "MetadataCleared", + "docs": [ + "Metadata has been cleared for an asset." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3511", + "name": "ApprovedTransfer", + "docs": [ + "(Additional) funds have been approved for transfer to a destination account." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "source", + "delegate", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3512", + "name": "ApprovalCancelled", + "docs": [ + "An approval for account `delegate` was cancelled by `owner`." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "owner", + "delegate" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3513", + "name": "TransferredApproved", + "docs": [ + "An `amount` was transferred in its entirety from `owner` to `destination` by", + "the approved `delegate`." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId", + "AccountId", + "U128" + ], + "args_name": [ + "asset_id", + "owner", + "delegate", + "destination", + "amount" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId", + "AccountId", + "Balance" + ] + }, + { + "lookup": "3514", + "name": "AssetStatusChanged", + "docs": [ + "An asset has had its attributes changed by the `Force` origin." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation" + ], + "args_name": [ + "asset_id" + ], + "args_type_name": [ + "AssetId" + ] + }, + { + "lookup": "3515", + "name": "AssetMinBalanceChanged", + "docs": [ + "The min_balance of an asset has been updated by the asset owner." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "U128" + ], + "args_name": [ + "asset_id", + "new_min_balance" + ], + "args_type_name": [ + "AssetId", + "Balance" + ] + }, + { + "lookup": "3516", + "name": "Touched", + "docs": [ + "Some account `who` was created with a deposit from `depositor`." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "AccountId", + "AccountId" + ], + "args_name": [ + "asset_id", + "who", + "depositor" + ], + "args_type_name": [ + "AssetId", + "AccountId", + "AccountId" + ] + }, + { + "lookup": "3517", + "name": "Blocked", + "docs": [ + "Some account `who` was blocked." + ], + "args": [ + "xcm:v3:multilocation:MultiLocation", + "AccountId" + ], + "args_name": [ + "asset_id", + "who" + ], + "args_type_name": [ + "AssetId", + "AccountId" + ] + } + ], + "events_value": { + "type": 123 + }, + "constants": [ + { + "name": "RemoveItemsLimit", + "type": "U32", + "type_value": 4, + "constants_value": "e8030000", + "docs": [ + " Max number of items to destroy per `destroy_accounts` and `destroy_approvals` call.", + "", + " Must be configured to result in a weight that makes each call fit in a block." + ] + }, + { + "name": "AssetDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00e87648170000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved for an asset." + ] + }, + { + "name": "AssetAccountDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00fe4d77000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved for a non-provider asset account to be", + " maintained." + ] + }, + { + "name": "MetadataDepositBase", + "type": "U128", + "type_value": 6, + "constants_value": "80569d77000000000000000000000000", + "docs": [ + " The basic amount of funds that must be reserved when adding metadata to your asset." + ] + }, + { + "name": "MetadataDepositPerByte", + "type": "U128", + "type_value": 6, + "constants_value": "a0860100000000000000000000000000", + "docs": [ + " The additional funds that must be reserved for the number of bytes you store in your", + " metadata." + ] + }, + { + "name": "ApprovalDeposit", + "type": "U128", + "type_value": 6, + "constants_value": "00ca9a3b000000000000000000000000", + "docs": [ + " The amount of funds that must be reserved when creating a new approval." + ] + }, + { + "name": "StringLimit", + "type": "U32", + "type_value": 4, + "constants_value": "32000000", + "docs": [ + " The maximum length of a name or symbol stored on-chain." + ] + } + ], + "errors": [ + { + "name": "BalanceLow", + "doc": [ + "Account balance must be greater than or equal to the transfer amount." + ] + }, + { + "name": "NoAccount", + "doc": [ + "The account to alter does not exist." + ] + }, + { + "name": "NoPermission", + "doc": [ + "The signing account has no permission to do the operation." + ] + }, + { + "name": "Unknown", + "doc": [ + "The given asset ID is unknown." + ] + }, + { + "name": "Frozen", + "doc": [ + "The origin account is frozen." + ] + }, + { + "name": "InUse", + "doc": [ + "The asset ID is already taken." + ] + }, + { + "name": "BadWitness", + "doc": [ + "Invalid witness data given." + ] + }, + { + "name": "MinBalanceZero", + "doc": [ + "Minimum balance should be non-zero." + ] + }, + { + "name": "UnavailableConsumer", + "doc": [ + "Unable to increment the consumer reference counters on the account. Either no provider", + "reference exists to allow a non-zero balance of a non-self-sufficient asset, or one", + "fewer then the maximum number of consumers has been reached." + ] + }, + { + "name": "BadMetadata", + "doc": [ + "Invalid metadata given." + ] + }, + { + "name": "Unapproved", + "doc": [ + "No approval exists that would allow the transfer." + ] + }, + { + "name": "WouldDie", + "doc": [ + "The source account would not survive the transfer and it needs to stay alive." + ] + }, + { + "name": "AlreadyExists", + "doc": [ + "The asset-account already exists." + ] + }, + { + "name": "NoDeposit", + "doc": [ + "The asset-account doesn't have an associated deposit." + ] + }, + { + "name": "WouldBurn", + "doc": [ + "The operation would result in funds being burned." + ] + }, + { + "name": "LiveAsset", + "doc": [ + "The asset is a live asset and is actively being used. Usually emit for operations such", + "as `start_destroy` which require the asset to be in a destroying state." + ] + }, + { + "name": "AssetNotLive", + "doc": [ + "The asset is not live, and likely being destroyed." + ] + }, + { + "name": "IncorrectStatus", + "doc": [ + "The asset status is not the expected status." + ] + }, + { + "name": "NotFrozen", + "doc": [ + "The asset should be frozen before the given operation." + ] + }, + { + "name": "CallbackFailed", + "doc": [ + "Callback action resulted in error" + ] + } + ], + "errors_value": { + "type": 378 + }, + "index": 53 + } +] \ No newline at end of file diff --git a/src/demo_substrate_events/configs/.keep b/src/demo_substrate_events/configs/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/src/demo_substrate_events/configs/dipdup.compose.yaml b/src/demo_substrate_events/configs/dipdup.compose.yaml new file mode 100644 index 000000000..78fba783f --- /dev/null +++ b/src/demo_substrate_events/configs/dipdup.compose.yaml @@ -0,0 +1,24 @@ +database: + kind: postgres + host: ${POSTGRES_HOST:-db} + port: 5432 + user: ${POSTGRES_USER:-dipdup} + password: ${POSTGRES_PASSWORD} + database: ${POSTGRES_DB:-dipdup} + +hasura: + url: http://${HASURA_HOST:-hasura}:8080 + admin_secret: ${HASURA_SECRET} + allow_aggregations: ${HASURA_ALLOW_AGGREGATIONS:-true} + select_limit: ${HASURA_SELECT_LIMIT:-10000} + camel_case: ${HASURA_CAMEL_CASE:-true} + +sentry: + dsn: ${SENTRY_DSN:-''} + environment: ${SENTRY_ENVIRONMENT:-''} + +prometheus: + host: 0.0.0.0 + +api: + host: 0.0.0.0 \ No newline at end of file diff --git a/src/demo_substrate_events/configs/dipdup.sqlite.yaml b/src/demo_substrate_events/configs/dipdup.sqlite.yaml new file mode 100644 index 000000000..f534693c2 --- /dev/null +++ b/src/demo_substrate_events/configs/dipdup.sqlite.yaml @@ -0,0 +1,3 @@ +database: + kind: sqlite + path: ${SQLITE_PATH:-/tmp/demo_substrate_events.sqlite} \ No newline at end of file diff --git a/src/demo_substrate_events/configs/dipdup.swarm.yaml b/src/demo_substrate_events/configs/dipdup.swarm.yaml new file mode 100644 index 000000000..32d0d8b9b --- /dev/null +++ b/src/demo_substrate_events/configs/dipdup.swarm.yaml @@ -0,0 +1,24 @@ +database: + kind: postgres + host: ${POSTGRES_HOST:-demo_substrate_events_db} + port: 5432 + user: ${POSTGRES_USER:-dipdup} + password: ${POSTGRES_PASSWORD} + database: ${POSTGRES_DB:-dipdup} + +hasura: + url: http://${HASURA_HOST:-demo_substrate_events_hasura}:8080 + admin_secret: ${HASURA_SECRET} + allow_aggregations: ${HASURA_ALLOW_AGGREGATIONS:-false} + select_limit: ${HASURA_SELECT_LIMIT:-100} + camel_case: ${HASURA_CAMEL_CASE:-true} + +sentry: + dsn: ${SENTRY_DSN:-''} + environment: ${SENTRY_ENVIRONMENT:-''} + +prometheus: + host: 0.0.0.0 + +api: + host: 0.0.0.0 \ No newline at end of file diff --git a/src/demo_substrate_events/configs/replay.yaml b/src/demo_substrate_events/configs/replay.yaml new file mode 100644 index 000000000..51a4937cd --- /dev/null +++ b/src/demo_substrate_events/configs/replay.yaml @@ -0,0 +1,18 @@ +# To refresh existing project run `dipdup init --base --force` after modifying this file. +# To generate a new project from this replay run `dipdup new --replay `. +# +spec_version: 3.0 +replay: + dipdup_version: 8 + template: demo_substrate_events + package: demo_substrate_events + version: 0.0.1 + description: Substrate balance transfers [PREVIEW] + license: MIT + name: John Doe + email: john_doe@example.com + postgres_image: postgres:15 + postgres_data_path: /var/lib/postgresql/data + hasura_image: hasura/graphql-engine:latest + line_length: 120 + package_manager: pdm diff --git a/src/demo_substrate_events/demo_substrate_events b/src/demo_substrate_events/demo_substrate_events new file mode 120000 index 000000000..945c9b46d --- /dev/null +++ b/src/demo_substrate_events/demo_substrate_events @@ -0,0 +1 @@ +. \ No newline at end of file diff --git a/src/demo_substrate_events/deploy/.env.default b/src/demo_substrate_events/deploy/.env.default new file mode 100644 index 000000000..0fa241260 --- /dev/null +++ b/src/demo_substrate_events/deploy/.env.default @@ -0,0 +1,15 @@ +# This env file was generated automatically by DipDup. Do not edit it! +# Create a copy with .env extension, fill it with your values and run DipDup with `--env-file` option. +# +HASURA_ALLOW_AGGREGATIONS=true +HASURA_CAMEL_CASE=true +HASURA_HOST=hasura +HASURA_SECRET= +HASURA_SELECT_LIMIT=10000 +NODE_API_KEY='' +POSTGRES_DB=dipdup +POSTGRES_HOST=db +POSTGRES_PASSWORD= +POSTGRES_USER=dipdup +SENTRY_DSN='' +SENTRY_ENVIRONMENT='' diff --git a/src/demo_substrate_events/deploy/.keep b/src/demo_substrate_events/deploy/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/src/demo_substrate_events/deploy/Dockerfile b/src/demo_substrate_events/deploy/Dockerfile new file mode 100644 index 000000000..10dbd737f --- /dev/null +++ b/src/demo_substrate_events/deploy/Dockerfile @@ -0,0 +1,9 @@ +FROM dipdup/dipdup:8 +# FROM ghcr.io/dipdup-io/dipdup:8 +# FROM ghcr.io/dipdup-io/dipdup:next + +# COPY --chown=dipdup pyproject.toml README.md . +# RUN pip install . + +COPY --chown=dipdup . demo_substrate_events +WORKDIR demo_substrate_events \ No newline at end of file diff --git a/src/demo_substrate_events/deploy/compose.sqlite.yaml b/src/demo_substrate_events/deploy/compose.sqlite.yaml new file mode 100644 index 000000000..0fbd22495 --- /dev/null +++ b/src/demo_substrate_events/deploy/compose.sqlite.yaml @@ -0,0 +1,18 @@ +name: demo_substrate_events + +services: + dipdup: + build: + context: .. + dockerfile: deploy/Dockerfile + command: ["-c", "dipdup.yaml", "-c", "configs/dipdup.sqlite.yaml", "run"] + restart: always + env_file: .env + ports: + - 46339 + - 9000 + volumes: + - sqlite:${SQLITE_PATH:-/tmp/demo_substrate_events.sqlite} + +volumes: + sqlite: \ No newline at end of file diff --git a/src/demo_substrate_events/deploy/compose.swarm.yaml b/src/demo_substrate_events/deploy/compose.swarm.yaml new file mode 100644 index 000000000..877b8376d --- /dev/null +++ b/src/demo_substrate_events/deploy/compose.swarm.yaml @@ -0,0 +1,91 @@ +name: demo_substrate_events + +services: + dipdup: + image: ${IMAGE:-ghcr.io/dipdup-io/dipdup}:${TAG:-8} + depends_on: + - db + - hasura + command: ["-c", "dipdup.yaml", "-c", "configs/dipdup.swarm.yaml", "run"] + env_file: .env + networks: + - internal + - prometheus-private + deploy: + mode: replicated + replicas: ${INDEXER_ENABLED:-1} + labels: + - prometheus-job=${SERVICE} + - prometheus-port=8000 + placement: &placement + constraints: + - node.labels.${SERVICE} == true + logging: &logging + driver: "json-file" + options: + max-size: "10m" + max-file: "10" + tag: "\{\{.Name\}\}.\{\{.ImageID\}\}" + + db: + image: postgres:15 + volumes: + - db:/var/lib/postgresql/data + env_file: .env + environment: + - POSTGRES_USER=dipdup + - POSTGRES_DB=dipdup + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + healthcheck: + test: ["CMD-SHELL", "pg_isready -U dipdup"] + interval: 10s + timeout: 5s + retries: 5 + networks: + - internal + deploy: + mode: replicated + replicas: 1 + placement: *placement + logging: *logging + + hasura: + image: hasura/graphql-engine:latest + depends_on: + - db + environment: + - HASURA_GRAPHQL_DATABASE_URL=postgres://dipdup:${POSTGRES_PASSWORD}@demo_substrate_events_db:5432/dipdup + - HASURA_GRAPHQL_ADMIN_SECRET=${HASURA_SECRET} + - HASURA_GRAPHQL_ENABLE_CONSOLE=true + - HASURA_GRAPHQL_DEV_MODE=false + - HASURA_GRAPHQL_LOG_LEVEL=warn + - HASURA_GRAPHQL_ENABLE_TELEMETRY=false + - HASURA_GRAPHQL_UNAUTHORIZED_ROLE=user + - HASURA_GRAPHQL_STRINGIFY_NUMERIC_TYPES=true + networks: + - internal + - traefik-public + deploy: + mode: replicated + replicas: 1 + labels: + - traefik.enable=true + - traefik.http.services.${SERVICE}.loadbalancer.server.port=8080 + - "traefik.http.routers.${SERVICE}.rule=Host(`${HOST}`) && (PathPrefix(`/v1/graphql`) || PathPrefix(`/api/rest`))" + - traefik.http.routers.${SERVICE}.entrypoints=http,${INGRESS:-ingress} + - "traefik.http.routers.${SERVICE}-console.rule=Host(`${SERVICE}.${SWARM_ROOT_DOMAIN}`)" + - traefik.http.routers.${SERVICE}-console.entrypoints=https + - traefik.http.middlewares.${SERVICE}-console.headers.customrequestheaders.X-Hasura-Admin-Secret=${HASURA_SECRET} + - traefik.http.routers.${SERVICE}-console.middlewares=authelia@docker,${SERVICE}-console + placement: *placement + logging: *logging + +volumes: + db: + +networks: + internal: + traefik-public: + external: true + prometheus-private: + external: true \ No newline at end of file diff --git a/src/demo_substrate_events/deploy/compose.yaml b/src/demo_substrate_events/deploy/compose.yaml new file mode 100644 index 000000000..4495d3fc6 --- /dev/null +++ b/src/demo_substrate_events/deploy/compose.yaml @@ -0,0 +1,54 @@ +name: demo_substrate_events + +services: + dipdup: + build: + context: .. + dockerfile: deploy/Dockerfile + restart: always + env_file: .env + ports: + - 46339 + - 9000 + command: ["-c", "dipdup.yaml", "-c", "configs/dipdup.compose.yaml", "run"] + depends_on: + - db + - hasura + + db: + image: postgres:15 + ports: + - "${POSTGRES_HOST_PORT:-5432}:5432" + volumes: + - db:/var/lib/postgresql/data + restart: always + env_file: .env + environment: + - POSTGRES_USER=dipdup + - POSTGRES_DB=dipdup + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + healthcheck: + test: ["CMD-SHELL", "pg_isready -U dipdup"] + interval: 10s + timeout: 5s + retries: 5 + + hasura: + image: hasura/graphql-engine:latest + ports: + - "${HASURA_HOST_PORT:-8080}:8080" + depends_on: + - db + restart: always + environment: + - HASURA_GRAPHQL_DATABASE_URL=postgres://dipdup:${POSTGRES_PASSWORD}@db:5432/dipdup + - HASURA_GRAPHQL_ADMIN_SECRET=${HASURA_SECRET} + - HASURA_GRAPHQL_ENABLE_CONSOLE=true + - HASURA_GRAPHQL_DEV_MODE=true + - HASURA_GRAPHQL_LOG_LEVEL=info + - HASURA_GRAPHQL_ENABLE_TELEMETRY=false + - HASURA_GRAPHQL_UNAUTHORIZED_ROLE=user + - HASURA_GRAPHQL_STRINGIFY_NUMERIC_TYPES=true + +volumes: + db: \ No newline at end of file diff --git a/src/demo_substrate_events/deploy/sqlite.env.default b/src/demo_substrate_events/deploy/sqlite.env.default new file mode 100644 index 000000000..7a9b8f815 --- /dev/null +++ b/src/demo_substrate_events/deploy/sqlite.env.default @@ -0,0 +1,5 @@ +# This env file was generated automatically by DipDup. Do not edit it! +# Create a copy with .env extension, fill it with your values and run DipDup with `--env-file` option. +# +NODE_API_KEY='' +SQLITE_PATH=/tmp/demo_substrate_events.sqlite diff --git a/src/demo_substrate_events/deploy/swarm.env.default b/src/demo_substrate_events/deploy/swarm.env.default new file mode 100644 index 000000000..a1b976d4d --- /dev/null +++ b/src/demo_substrate_events/deploy/swarm.env.default @@ -0,0 +1,15 @@ +# This env file was generated automatically by DipDup. Do not edit it! +# Create a copy with .env extension, fill it with your values and run DipDup with `--env-file` option. +# +HASURA_ALLOW_AGGREGATIONS=false +HASURA_CAMEL_CASE=true +HASURA_HOST=demo_substrate_events_hasura +HASURA_SECRET= +HASURA_SELECT_LIMIT=100 +NODE_API_KEY='' +POSTGRES_DB=dipdup +POSTGRES_HOST=demo_substrate_events_db +POSTGRES_PASSWORD= +POSTGRES_USER=dipdup +SENTRY_DSN='' +SENTRY_ENVIRONMENT='' diff --git a/src/demo_substrate_events/dipdup.yaml b/src/demo_substrate_events/dipdup.yaml new file mode 100644 index 000000000..dc720b148 --- /dev/null +++ b/src/demo_substrate_events/dipdup.yaml @@ -0,0 +1,30 @@ +spec_version: 3.0 +package: demo_substrate_events + +runtimes: + assethub: + kind: substrate + +datasources: + subsquid: + kind: substrate.subsquid + url: https://v2.archive.subsquid.io/network/asset-hub-polkadot + subscan: + kind: substrate.subscan + url: https://assethub-polkadot.api.subscan.io/api + node: + kind: substrate.node + url: https://statemint.api.onfinality.io/rpc?apikey=${NODE_API_KEY:-''} + ws_url: wss://statemint.api.onfinality.io/ws?apikey=${NODE_API_KEY:-''} + +indexes: + assethub_transfers: + kind: substrate.events + runtime: assethub + datasources: + - subsquid + - subscan + - node + handlers: + - callback: on_transfer + name: Assets.Transferred \ No newline at end of file diff --git a/src/demo_substrate_events/graphql/.keep b/src/demo_substrate_events/graphql/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/src/demo_substrate_events/handlers/.keep b/src/demo_substrate_events/handlers/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/src/demo_substrate_events/handlers/batch.py b/src/demo_substrate_events/handlers/batch.py new file mode 100644 index 000000000..0ca72885c --- /dev/null +++ b/src/demo_substrate_events/handlers/batch.py @@ -0,0 +1,11 @@ +from collections.abc import Iterable +from dipdup.context import HandlerContext +from dipdup.index import MatchedHandler + + +async def batch( + ctx: HandlerContext, + handlers: Iterable[MatchedHandler], +) -> None: + for handler in handlers: + await ctx.fire_matched_handler(handler) \ No newline at end of file diff --git a/src/demo_substrate_events/handlers/on_transfer.py b/src/demo_substrate_events/handlers/on_transfer.py new file mode 100644 index 000000000..ec0e7e680 --- /dev/null +++ b/src/demo_substrate_events/handlers/on_transfer.py @@ -0,0 +1,53 @@ +from decimal import Decimal + +from tortoise.exceptions import DoesNotExist + +from demo_substrate_events import models as models +from demo_substrate_events.types.assethub.substrate_events.assets_transferred import AssetsTransferredPayload +from dipdup.context import HandlerContext +from dipdup.models.substrate import SubstrateEvent + + +async def on_transfer( + ctx: HandlerContext, + event: SubstrateEvent[AssetsTransferredPayload], +) -> None: + amount = Decimal(event.payload.get('amount') or event.payload['value']) + if not amount: + return + + address_from = event.payload['from'] + await on_balance_update( + address=address_from, + balance_update=-amount, + level=event.data.level, + ) + address_to = event.payload['to'] + await on_balance_update( + address=address_to, + balance_update=amount, + level=event.data.level, + ) + + +async def on_balance_update( + address: str, + balance_update: Decimal, + level: int, +) -> None: + try: + holder = await models.Holder.cached_get(pk=address) + except DoesNotExist: + holder = models.Holder( + address=address, + balance=0, + turnover=0, + tx_count=0, + last_seen=None, + ) + holder.cache() + holder.balance += balance_update + holder.turnover += abs(balance_update) + holder.tx_count += 1 + holder.last_seen = level + await holder.save() \ No newline at end of file diff --git a/src/demo_substrate_events/hasura/.keep b/src/demo_substrate_events/hasura/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/src/demo_substrate_events/hooks/.keep b/src/demo_substrate_events/hooks/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/src/demo_substrate_events/hooks/on_index_rollback.py b/src/demo_substrate_events/hooks/on_index_rollback.py new file mode 100644 index 000000000..3d38655e0 --- /dev/null +++ b/src/demo_substrate_events/hooks/on_index_rollback.py @@ -0,0 +1,16 @@ +from dipdup.context import HookContext +from dipdup.index import Index + + +async def on_index_rollback( + ctx: HookContext, + index: Index, # type: ignore[type-arg] + from_level: int, + to_level: int, +) -> None: + await ctx.execute_sql('on_index_rollback') + await ctx.rollback( + index=index.name, + from_level=from_level, + to_level=to_level, + ) \ No newline at end of file diff --git a/src/demo_substrate_events/hooks/on_reindex.py b/src/demo_substrate_events/hooks/on_reindex.py new file mode 100644 index 000000000..0804aae37 --- /dev/null +++ b/src/demo_substrate_events/hooks/on_reindex.py @@ -0,0 +1,7 @@ +from dipdup.context import HookContext + + +async def on_reindex( + ctx: HookContext, +) -> None: + await ctx.execute_sql('on_reindex') \ No newline at end of file diff --git a/src/demo_substrate_events/hooks/on_restart.py b/src/demo_substrate_events/hooks/on_restart.py new file mode 100644 index 000000000..2581b5be3 --- /dev/null +++ b/src/demo_substrate_events/hooks/on_restart.py @@ -0,0 +1,7 @@ +from dipdup.context import HookContext + + +async def on_restart( + ctx: HookContext, +) -> None: + await ctx.execute_sql('on_restart') \ No newline at end of file diff --git a/src/demo_substrate_events/hooks/on_synchronized.py b/src/demo_substrate_events/hooks/on_synchronized.py new file mode 100644 index 000000000..09099e4b6 --- /dev/null +++ b/src/demo_substrate_events/hooks/on_synchronized.py @@ -0,0 +1,7 @@ +from dipdup.context import HookContext + + +async def on_synchronized( + ctx: HookContext, +) -> None: + await ctx.execute_sql('on_synchronized') \ No newline at end of file diff --git a/src/demo_substrate_events/models/.keep b/src/demo_substrate_events/models/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/src/demo_substrate_events/models/__init__.py b/src/demo_substrate_events/models/__init__.py new file mode 100644 index 000000000..eb3c4e297 --- /dev/null +++ b/src/demo_substrate_events/models/__init__.py @@ -0,0 +1,13 @@ +from dipdup import fields +from dipdup.models import CachedModel + + +class Holder(CachedModel): + address = fields.TextField(primary_key=True) + balance = fields.DecimalField(decimal_places=6, max_digits=40, default=0) + turnover = fields.DecimalField(decimal_places=6, max_digits=40, default=0) + tx_count = fields.BigIntField(default=0) + last_seen = fields.BigIntField(null=True) + + class Meta: + maxsize = 2 ** 18 \ No newline at end of file diff --git a/src/demo_substrate_events/py.typed b/src/demo_substrate_events/py.typed new file mode 100644 index 000000000..e69de29bb diff --git a/src/demo_substrate_events/pyproject.toml b/src/demo_substrate_events/pyproject.toml new file mode 100644 index 000000000..93152ffaf --- /dev/null +++ b/src/demo_substrate_events/pyproject.toml @@ -0,0 +1,50 @@ +# generated by DipDup 8.1.1 +[project] +name = "demo_substrate_events" +version = "0.0.1" +description = "Substrate balance transfers [PREVIEW]" +license = { text = "MIT" } +authors = [ + { name = "John Doe", email = "john_doe@example.com" }, +] +readme = "README.md" +requires-python = ">=3.12,<3.13" +dependencies = [ + "dipdup>=8,<9", +] + +[tool.pdm.dev-dependencies] +dev = [ + "black", + "ruff", + "mypy", +] + +[tool.black] +line-length = 120 +target-version = ['py312'] +skip-string-normalization = true +extend-exclude = "demo_substrate_events" + +[tool.ruff] +line-length = 120 +target-version = 'py312' + +[tool.ruff.lint] +extend-select = ["B", "C4", "FA", "G", "I", "PTH", "Q", "RET", "RUF", "TCH", "UP"] +flake8-quotes = { inline-quotes = "single", multiline-quotes = "double" } +isort = { force-single-line = true} + +[tool.mypy] +python_version = "3.12" +plugins = ["pydantic.mypy"] +strict = false +exclude = "demo_substrate_events" + +[[tool.mypy.overrides]] +module = "ruamel" +ignore_missing_imports = true + +[build-system] +requires = ["pdm-backend"] +build-backend = "pdm.backend" \ No newline at end of file diff --git a/src/demo_substrate_events/replay.yaml b/src/demo_substrate_events/replay.yaml new file mode 100644 index 000000000..8a79c588a --- /dev/null +++ b/src/demo_substrate_events/replay.yaml @@ -0,0 +1,5 @@ +spec_version: 3.0 +replay: + description: Substrate balance transfers [PREVIEW] + package: demo_substrate_events + template: demo_substrate_events \ No newline at end of file diff --git a/src/demo_substrate_events/sql/.keep b/src/demo_substrate_events/sql/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/src/demo_substrate_events/sql/on_index_rollback/.keep b/src/demo_substrate_events/sql/on_index_rollback/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/src/demo_substrate_events/sql/on_reindex/.keep b/src/demo_substrate_events/sql/on_reindex/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/src/demo_substrate_events/sql/on_restart/.keep b/src/demo_substrate_events/sql/on_restart/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/src/demo_substrate_events/sql/on_synchronized/.keep b/src/demo_substrate_events/sql/on_synchronized/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/src/demo_substrate_events/types/.keep b/src/demo_substrate_events/types/.keep new file mode 100644 index 000000000..e69de29bb diff --git a/src/demo_substrate_events/types/assethub/substrate_events/assets_transferred/__init__.py b/src/demo_substrate_events/types/assethub/substrate_events/assets_transferred/__init__.py new file mode 100644 index 000000000..d8768a55e --- /dev/null +++ b/src/demo_substrate_events/types/assethub/substrate_events/assets_transferred/__init__.py @@ -0,0 +1,4 @@ +from .v601 import V601 +from .v700 import V700 + +type AssetsTransferredPayload = V601 | V700 diff --git a/src/demo_substrate_events/types/assethub/substrate_events/assets_transferred/v601.py b/src/demo_substrate_events/types/assethub/substrate_events/assets_transferred/v601.py new file mode 100644 index 000000000..6d23a3234 --- /dev/null +++ b/src/demo_substrate_events/types/assethub/substrate_events/assets_transferred/v601.py @@ -0,0 +1,16 @@ +# generated by DipDup 8.1.1 + +from __future__ import annotations + +from pydantic import BaseModel, Field + + +class V601(BaseModel): + """ + Some assets were transferred. \[asset_id, from, to, amount\] + """ + + asset_id: int = Field(..., description='U32') + from_: str = Field(..., alias='from', description='AccountId') + to: str = Field(..., description='AccountId') + amount: int = Field(..., description='U128') diff --git a/src/demo_substrate_events/types/assethub/substrate_events/assets_transferred/v700.py b/src/demo_substrate_events/types/assethub/substrate_events/assets_transferred/v700.py new file mode 100644 index 000000000..1683e1d49 --- /dev/null +++ b/src/demo_substrate_events/types/assethub/substrate_events/assets_transferred/v700.py @@ -0,0 +1,16 @@ +# generated by DipDup 8.1.1 + +from __future__ import annotations + +from pydantic import BaseModel, Field + + +class V700(BaseModel): + """ + Some assets were transferred. + """ + + asset_id: int = Field(..., description='U32') + from_: str = Field(..., alias='from', description='AccountId') + to: str = Field(..., description='AccountId') + amount: int = Field(..., description='U128') diff --git a/src/dipdup/codegen/__init__.py b/src/dipdup/codegen/__init__.py index 18bece4d6..e28c1ee16 100644 --- a/src/dipdup/codegen/__init__.py +++ b/src/dipdup/codegen/__init__.py @@ -26,6 +26,7 @@ from dipdup.project import render_base from dipdup.utils import load_template from dipdup.utils import pascal_to_snake +from dipdup.utils import sorted_glob from dipdup.utils import touch from dipdup.utils import write from dipdup.yaml import DipDupYAMLConfig @@ -136,7 +137,7 @@ async def generate_batch_handler(self) -> None: async def _generate_types(self, force: bool = False) -> None: """Generate typeclasses from fetched JSONSchemas: contract's storage, parameters, big maps and events.""" - for path in self._package.schemas.glob('**/*.json'): + for path in sorted_glob(self._package.schemas, '**/*.json'): await self._generate_type(path, force) async def _generate_type(self, schema_path: Path, force: bool) -> None: @@ -172,6 +173,7 @@ async def _generate_type(self, schema_path: Path, force: bool) -> None: custom_file_header=CODEGEN_HEADER, use_union_operator=True, output_model_type=dmcg.DataModelType.PydanticV2BaseModel, + use_schema_description=True, ) async def _generate_callback( diff --git a/src/dipdup/codegen/substrate.py b/src/dipdup/codegen/substrate.py new file mode 100644 index 000000000..89a448843 --- /dev/null +++ b/src/dipdup/codegen/substrate.py @@ -0,0 +1,252 @@ +import logging +from collections import defaultdict +from pathlib import Path +from typing import Any +from typing import cast + +import orjson + +from dipdup.codegen import CodeGenerator +from dipdup.config import DipDupConfig +from dipdup.config import HandlerConfig +from dipdup.config.substrate import SubstrateIndexConfig +from dipdup.config.substrate_events import SubstrateEventsIndexConfig +from dipdup.config.substrate_subscan import SubstrateSubscanDatasourceConfig +from dipdup.datasources import Datasource +from dipdup.datasources.substrate_subscan import SubstrateSubscanDatasource +from dipdup.package import DipDupPackage +from dipdup.runtimes import SubstrateRuntime +from dipdup.runtimes import extract_args_name +from dipdup.utils import json_dumps +from dipdup.utils import pascal_to_snake +from dipdup.utils import snake_to_pascal +from dipdup.utils import sorted_glob +from dipdup.utils import write + +_logger = logging.getLogger(__name__) + + +def scale_type_to_jsonschema( + type_registry: dict[str, Any], + type_string: str, +) -> dict[str, Any]: + if type_string in type_registry['types']: + type_def = type_registry['types'][type_string] + if isinstance(type_def, str): + return scale_type_to_jsonschema(type_registry, type_def) + if isinstance(type_def, dict): + if 'type' in type_def: + return scale_type_to_jsonschema(type_registry, type_def['type']) + if '_enum' in type_def: + return { + 'description': type_string, + 'type': 'string', + 'enum': ( + list(type_def['_enum'].keys()) if isinstance(type_def['_enum'], dict) else type_def['_enum'] + ), + } + if '_struct' in type_def: + return { + 'description': type_string, + 'type': 'object', + 'properties': { + k: scale_type_to_jsonschema(type_registry, v) for k, v in type_def['_struct'].items() + }, + } + + # Handle primitives, default to str + schema: dict[str, Any] = { + 'description': type_string, + 'type': 'string', + } + + if type_string.lower() in ('u8', 'u16', 'u32', 'u64', 'u128', 'i8', 'i16', 'i32', 'i64', 'i128'): + schema['type'] = 'integer' + elif type_string == 'bool': + schema['type'] = 'boolean' + elif type_string in ['String', 'str']: + schema['type'] = 'string' + elif type_string.startswith('Vec<'): + inner_type = type_string[4:-1] + schema['type'] = 'array' + schema['items'] = scale_type_to_jsonschema(type_registry, inner_type) + elif type_string.startswith('Option<'): + inner_type = type_string[7:-1] + schema['oneOf'] = [{'type': 'null'}, scale_type_to_jsonschema(type_registry, inner_type)] + + return schema + + +def event_metadata_to_jsonschema( + type_registry: dict[str, Any], + metadata: dict[str, Any], +) -> dict[str, Any]: + description = '\n'.join(metadata['docs']) + args_name = [a for a in metadata.get('args_name', ()) if a] + if not args_name: + args_name = extract_args_name(description) + schema = { + '$schema': 'http://json-schema.org/draft-07/schema#', + 'title': metadata['name'], + 'description': description, + 'type': 'object', + 'properties': {}, + 'required': args_name, + } + for arg_name, arg_type in zip(args_name, metadata['args'], strict=True): + schema['properties'][arg_name] = scale_type_to_jsonschema(type_registry, arg_type) + schema['properties'][arg_name]['description'] = arg_type + + return schema + + +class SubstrateCodeGenerator(CodeGenerator): + def __init__( + self, + config: DipDupConfig, + package: DipDupPackage, + datasources: dict[str, Datasource[Any]], + include: set[str] | None = None, + ) -> None: + super().__init__(config, package, datasources, include) + + self._runtimes: dict[str, SubstrateRuntime] = {} + + async def generate_abis(self) -> None: + processed = set() + + for index_config in self._config.indexes.values(): + if not isinstance(index_config, SubstrateIndexConfig): + continue + name = index_config.runtime.name + if name in processed: + continue + + for datasource_config in index_config.datasources: + if isinstance(datasource_config, SubstrateSubscanDatasourceConfig): + datasource = cast(SubstrateSubscanDatasource, self._datasources[datasource_config.name]) + break + else: + raise NotImplementedError('Codegen currently requires `substrate.subscan` datasource') + + runtime_list = await datasource.get_runtime_list() + _logger.info('found %s runtimes', len(runtime_list)) + + for spec in runtime_list[::-1]: + spec_version = spec['spec_version'] + + key = f'v{spec_version}' + # NOTE: Important versions will be copied to project later + abi_path = self._package.abi_local.joinpath(f'{name}/{key}.json') + if abi_path.exists(): + continue + + _logger.info('v%s metadata not found, fetching', spec_version) + metadata = await datasource.get_runtime_metadata(spec_version) + write(abi_path, json_dumps(metadata)) + + processed.add(name) + + async def generate_schemas(self) -> None: + self._cleanup_schemas() + + handler_config: HandlerConfig + target_events: dict[str, list[str]] = {} + + for index_config in self._config.indexes.values(): + if isinstance(index_config, SubstrateEventsIndexConfig): + runtime_name = index_config.runtime.name + if runtime_name not in target_events: + target_events[runtime_name] = [] + for handler_config in index_config.handlers: + target_events[runtime_name].append(handler_config.name) + + if not target_events: + return + + latest_dumps = defaultdict(lambda: '') + + for runtime_name, events in target_events.items(): + for metadata_path in sorted_glob(self._package.abi_local, f'{runtime_name}/*.json'): + metadata = orjson.loads(metadata_path.read_bytes()) + + type_registry = self._get_runtime(runtime_name).runtime_config.type_registry + + for module in metadata: + for event_item in module.get('events', []): + qualname = f'{module["name"]}.{event_item["name"]}' + if qualname not in events: + continue + + # FIXME: ignore when only docs changed? + dump = orjson.dumps({**event_item, 'name': ''}) + if dump == latest_dumps[qualname]: + continue + latest_dumps[qualname] = dump + + # NOTE: Copy used abis to project + write(self._package.abi.joinpath(runtime_name, metadata_path.name), metadata_path.read_bytes()) + + schema_path = ( + self._package.schemas + / runtime_name + / 'substrate_events' + / pascal_to_snake(qualname) + / f'{metadata_path.stem.replace('.', '_')}.json' + ) + if schema_path.exists(): + continue + + jsonschema = event_metadata_to_jsonschema(type_registry, event_item) + + write(schema_path, json_dumps(jsonschema)) + + async def _generate_types(self, force: bool = False) -> None: + await super()._generate_types(force) + + for typeclass_dir in self._package.types.glob('**/substrate_events/*'): + + typeclass_name = f'{snake_to_pascal(typeclass_dir.name)}Payload' + + versions = [p.stem[1:] for p in typeclass_dir.glob('*.py') if p.name.startswith('v')] + root_lines = [ + *(f'from .v{v} import V{v}' for v in versions), + '', + f'type {typeclass_name} = ' + ' | '.join(f'V{v}' for v in versions), + '', + ] + + write(typeclass_dir.joinpath('__init__.py'), '\n'.join(root_lines), overwrite=True) + + async def generate_hooks(self) -> None: + pass + + async def generate_system_hooks(self) -> None: + pass + + async def generate_handlers(self) -> None: + pass + + def get_typeclass_name(self, schema_path: Path) -> str: + module_name = schema_path.stem + if schema_path.parent.name == 'substrate_events': + class_name = f'{module_name}_payload' + else: + class_name = module_name + return snake_to_pascal(class_name) + + async def _generate_type(self, schema_path: Path, force: bool) -> None: + markers = { + 'substrate_events', + } + if not set(schema_path.parts).intersection(markers): + return + await super()._generate_type(schema_path, force) + + def _get_runtime(self, name: str) -> SubstrateRuntime: + if name not in self._runtimes: + self._runtimes[name] = SubstrateRuntime( + name=name, + package=self._package, + ) + return self._runtimes[name] diff --git a/src/dipdup/config/__init__.py b/src/dipdup/config/__init__.py index 627a91ee4..b8f0e507c 100644 --- a/src/dipdup/config/__init__.py +++ b/src/dipdup/config/__init__.py @@ -249,7 +249,7 @@ class ContractConfig(ABC, NameMixin): """Contract config :param kind: Defined by child class - :param typename: Alias for the contract script + :param typename: Alias for the typeclass directory """ kind: str @@ -264,6 +264,17 @@ def module_path(self) -> Path: return Path(*self.module_name.split('.')) +# FIXME: we use Substrate runtimes as contracts for codegen +class RuntimeConfig(ContractConfig): + """Runtime config + + :param kind: Defined by child class + :param typename: Alias for the typeclass directory + """ + + pass + + class DatasourceConfig(ABC, NameMixin): """Base class for datasource configs @@ -565,6 +576,7 @@ class DipDupConfig: :param package: Name of indexer's Python package, existing or not :param datasources: Mapping of datasource aliases and datasource configs :param database: Database config + :param runtimes: Mapping of runtime aliases and runtime configs :param contracts: Mapping of contract aliases and contract configs :param indexes: Mapping of index aliases and index configs :param templates: Mapping of template aliases and index templates @@ -585,6 +597,7 @@ class DipDupConfig: database: SqliteDatabaseConfig | PostgresDatabaseConfig = Field( default_factory=lambda *a, **kw: SqliteDatabaseConfig(kind='sqlite') ) + runtimes: dict[str, RuntimeConfigU] = Field(default_factory=dict) contracts: dict[str, ContractConfigU] = Field(default_factory=dict) indexes: dict[str, IndexConfigU] = Field(default_factory=dict) templates: dict[str, ResolvedIndexConfigU] = Field(default_factory=dict) @@ -796,13 +809,24 @@ def get_abi_etherscan_datasource(self, name: str) -> AbiEtherscanDatasourceConfi raise ConfigurationError('`datasource` field must refer to Etherscan datasource') return datasource + def get_substrate_subsquid_datasource(self, name: str) -> SubstrateSubsquidDatasourceConfig: + datasource = self.get_datasource(name) + if not isinstance(datasource, SubstrateSubsquidDatasourceConfig): + raise ConfigurationError('`datasource` field must refer to Subsquid datasource') + return datasource + def set_up_logging(self) -> None: - loglevels = {} if isinstance(self.logging, dict): - loglevels = {**self.logging} + loglevels = { + 'dipdup': 'INFO', + self.package: 'INFO', + **self.logging, + } else: - loglevels['dipdup'] = self.logging - loglevels[self.package] = self.logging + loglevels = { + 'dipdup': self.logging, + self.package: self.logging, + } # NOTE: Environment variables have higher priority if env.DEBUG: @@ -823,7 +847,7 @@ def set_up_logging(self) -> None: def initialize(self) -> None: self._set_names() self._resolve_templates() - self._resolve_links() + self._resolve_aliases() self._validate() def dump(self) -> str: @@ -949,7 +973,7 @@ def _resolve_templates(self) -> None: if isinstance(index_config, IndexTemplateConfig): self._resolve_template(index_config) - def _resolve_links(self) -> None: + def _resolve_aliases(self) -> None: for index_config in self.indexes.values(): if isinstance(index_config, IndexTemplateConfig): raise ConfigInitializationException('Index templates must be resolved first') @@ -1072,6 +1096,13 @@ def _resolve_index_links(self, index_config: ResolvedIndexConfigU) -> None: if isinstance(handler_config.contract, str): handler_config.contract = self.get_starknet_contract(handler_config.contract) + + elif isinstance(index_config, SubstrateEventsIndexConfig): + if isinstance(index_config.runtime, str): + index_config.runtime = self.runtimes[index_config.runtime] + for handler_config in index_config.handlers: + handler_config.parent = index_config + else: raise NotImplementedError(f'Index kind `{index_config.kind}` is not supported') @@ -1082,6 +1113,7 @@ def _set_names(self) -> None: ( self.contracts, self.datasources, + self.runtimes, self.hooks, self.jobs, self.templates, @@ -1112,6 +1144,11 @@ def _set_names(self) -> None: from dipdup.config.starknet_events import StarknetEventsIndexConfig from dipdup.config.starknet_node import StarknetNodeDatasourceConfig from dipdup.config.starknet_subsquid import StarknetSubsquidDatasourceConfig +from dipdup.config.substrate import SubstrateRuntimeConfig +from dipdup.config.substrate_events import SubstrateEventsIndexConfig +from dipdup.config.substrate_node import SubstrateNodeDatasourceConfig +from dipdup.config.substrate_subscan import SubstrateSubscanDatasourceConfig +from dipdup.config.substrate_subsquid import SubstrateSubsquidDatasourceConfig from dipdup.config.tezos import TezosContractConfig from dipdup.config.tezos_big_maps import TezosBigMapsIndexConfig from dipdup.config.tezos_events import TezosEventsIndexConfig @@ -1128,6 +1165,7 @@ def _set_names(self) -> None: from dipdup.config.tzip_metadata import TzipMetadataDatasourceConfig # NOTE: Unions for Pydantic config deserialization +RuntimeConfigU = SubstrateRuntimeConfig ContractConfigU = EvmContractConfig | TezosContractConfig | StarknetContractConfig DatasourceConfigU = ( CoinbaseDatasourceConfig @@ -1140,6 +1178,9 @@ def _set_names(self) -> None: | TezosTzktDatasourceConfig | StarknetSubsquidDatasourceConfig | StarknetNodeDatasourceConfig + | SubstrateSubsquidDatasourceConfig + | SubstrateSubscanDatasourceConfig + | SubstrateNodeDatasourceConfig ) TezosIndexConfigU = ( TezosBigMapsIndexConfig @@ -1152,8 +1193,9 @@ def _set_names(self) -> None: ) EvmIndexConfigU = EvmEventsIndexConfig | EvmTransactionsIndexConfig StarknetIndexConfigU = StarknetEventsIndexConfig +SubstrateIndexConfigU = SubstrateEventsIndexConfig -ResolvedIndexConfigU = TezosIndexConfigU | EvmIndexConfigU | StarknetIndexConfigU +ResolvedIndexConfigU = TezosIndexConfigU | EvmIndexConfigU | StarknetIndexConfigU | SubstrateIndexConfigU IndexConfigU = ResolvedIndexConfigU | IndexTemplateConfig diff --git a/src/dipdup/config/abi_etherscan.py b/src/dipdup/config/abi_etherscan.py index 79520a1aa..e69f40795 100644 --- a/src/dipdup/config/abi_etherscan.py +++ b/src/dipdup/config/abi_etherscan.py @@ -8,8 +8,6 @@ from dipdup.config import AbiDatasourceConfig from dipdup.config import HttpConfig -DEFAULT_ETHERSCAN_URL = 'https://api.etherscan.io/api' - @dataclass(config=ConfigDict(extra='forbid'), kw_only=True) class AbiEtherscanDatasourceConfig(AbiDatasourceConfig): @@ -22,7 +20,7 @@ class AbiEtherscanDatasourceConfig(AbiDatasourceConfig): """ kind: Literal['abi.etherscan'] - url: str = DEFAULT_ETHERSCAN_URL + url: str api_key: str | None = None http: HttpConfig | None = None diff --git a/src/dipdup/config/substrate.py b/src/dipdup/config/substrate.py new file mode 100644 index 000000000..5286636e9 --- /dev/null +++ b/src/dipdup/config/substrate.py @@ -0,0 +1,39 @@ +from __future__ import annotations + +from abc import ABC +from typing import Literal +from typing import TypeAlias + +from pydantic import ConfigDict +from pydantic.dataclasses import dataclass + +from dipdup.config import Alias +from dipdup.config import IndexConfig +from dipdup.config import RuntimeConfig +from dipdup.config.substrate_subscan import SubstrateSubscanDatasourceConfig +from dipdup.config.substrate_subsquid import SubstrateSubsquidDatasourceConfig + +SubstrateDatasourceConfigU: TypeAlias = SubstrateSubsquidDatasourceConfig | SubstrateSubscanDatasourceConfig + + +@dataclass(config=ConfigDict(extra='forbid'), kw_only=True) +class SubstrateRuntimeConfig(RuntimeConfig): + """Substrate runtime config + + :param kind: Always 'substrate' + """ + + kind: Literal['substrate'] = 'substrate' + + +@dataclass(config=ConfigDict(extra='forbid'), kw_only=True) +class SubstrateIndexConfig(IndexConfig, ABC): + """EVM index that use Subsquid Network as a datasource + + :param kind: starts with 'substrate' + :param datasources: `substrate` datasources to use + :param runtime: Substrate runtime + """ + + datasources: tuple[Alias[SubstrateDatasourceConfigU], ...] + runtime: Alias[SubstrateRuntimeConfig] diff --git a/src/dipdup/config/substrate_events.py b/src/dipdup/config/substrate_events.py new file mode 100644 index 000000000..d4391437a --- /dev/null +++ b/src/dipdup/config/substrate_events.py @@ -0,0 +1,79 @@ +from __future__ import annotations + +from typing import TYPE_CHECKING +from typing import Literal +from typing import cast + +from pydantic import ConfigDict +from pydantic.dataclasses import dataclass + +from dipdup.config import Alias +from dipdup.config import HandlerConfig +from dipdup.config.substrate import SubstrateDatasourceConfigU +from dipdup.config.substrate import SubstrateIndexConfig +from dipdup.config.substrate import SubstrateRuntimeConfig +from dipdup.utils import pascal_to_snake +from dipdup.utils import snake_to_pascal + +if TYPE_CHECKING: + from collections.abc import Iterator + +from dipdup.subscriptions import Subscription + + +@dataclass(frozen=True) +class DummySubscription(Subscription): + pass + + +@dataclass(config=ConfigDict(extra='forbid'), kw_only=True) +class SubstrateEventsHandlerConfig(HandlerConfig): + """Subsquid event handler + + :param callback: Callback name + :param name: Event name (pallet.event) + """ + + name: str + + def iter_imports(self, package: str) -> Iterator[tuple[str, str]]: + yield 'dipdup.context', 'HandlerContext' + yield 'dipdup.models.substrate', 'SubstrateEvent' + yield package, 'models as models' + + event_cls = snake_to_pascal(self.name) + 'Payload' + event_module = pascal_to_snake(self.name) + + parent = cast(SubstrateIndexConfig, self.parent) + yield f'{package}.types.{parent.runtime.name}.substrate_events.{event_module}', event_cls + + def iter_arguments(self) -> Iterator[tuple[str, str]]: + event_cls = snake_to_pascal(self.name) + 'Payload' + yield 'ctx', 'HandlerContext' + yield 'event', f'SubstrateEvent[{event_cls}]' + + +@dataclass(config=ConfigDict(extra='forbid'), kw_only=True) +class SubstrateEventsIndexConfig(SubstrateIndexConfig): + """Subsquid datasource config + + :param kind: Always 'substrate.events' + :param datasources: `substrate` datasources to use + :param handlers: Event handlers + :param first_level: Level to start indexing from + :param last_level: Level to stop indexing and disable this index + :param typename: Alias for pallet interface + :param runtime: Substrate runtime + """ + + kind: Literal['substrate.events'] + datasources: tuple[Alias[SubstrateDatasourceConfigU], ...] + handlers: tuple[SubstrateEventsHandlerConfig, ...] + runtime: Alias[SubstrateRuntimeConfig] + + first_level: int = 0 + last_level: int = 0 + + def get_subscriptions(self) -> set[Subscription]: + # FIXME: or get_sync_level fails + return {DummySubscription()} diff --git a/src/dipdup/config/substrate_node.py b/src/dipdup/config/substrate_node.py new file mode 100644 index 000000000..d1501623a --- /dev/null +++ b/src/dipdup/config/substrate_node.py @@ -0,0 +1,36 @@ +from __future__ import annotations + +from typing import Literal + +from pydantic import ConfigDict +from pydantic.dataclasses import dataclass + +from dipdup.config import HttpConfig +from dipdup.config import IndexDatasourceConfig +from dipdup.config import Url +from dipdup.config import WsUrl + + +@dataclass(config=ConfigDict(extra='forbid'), kw_only=True) +class SubstrateNodeDatasourceConfig(IndexDatasourceConfig): + """Substrate node datasource config + + :param kind: Always 'substrate.node' + :param url: Substrate node URL + :param ws_url: Substrate node WebSocket URL + :param http: HTTP client configuration + """ + + kind: Literal['substrate.node'] + url: Url + ws_url: WsUrl | None = None + http: HttpConfig | None = None + + @property + def merge_subscriptions(self) -> bool: + return False + + @property + def rollback_depth(self) -> int: + # FIXME: + return 0 diff --git a/src/dipdup/config/substrate_subscan.py b/src/dipdup/config/substrate_subscan.py new file mode 100644 index 000000000..1218b003a --- /dev/null +++ b/src/dipdup/config/substrate_subscan.py @@ -0,0 +1,26 @@ +from __future__ import annotations + +from typing import Literal + +from pydantic import ConfigDict +from pydantic.dataclasses import dataclass + +from dipdup.config import AbiDatasourceConfig +from dipdup.config import HttpConfig + + +@dataclass(config=ConfigDict(extra='forbid'), kw_only=True) +class SubstrateSubscanDatasourceConfig(AbiDatasourceConfig): + """Subscan datasource config + + :param kind: always 'substrate.subscan' + :param url: API URL + :param api_key: API key + :param http: HTTP client configuration + """ + + kind: Literal['substrate.subscan'] + url: str + api_key: str | None = None + + http: HttpConfig | None = None diff --git a/src/dipdup/config/substrate_subsquid.py b/src/dipdup/config/substrate_subsquid.py new file mode 100644 index 000000000..cdc660d42 --- /dev/null +++ b/src/dipdup/config/substrate_subsquid.py @@ -0,0 +1,32 @@ +from __future__ import annotations + +from typing import Literal + +from pydantic import ConfigDict +from pydantic.dataclasses import dataclass + +from dipdup.config import HttpConfig +from dipdup.config import IndexDatasourceConfig +from dipdup.config import Url + + +@dataclass(config=ConfigDict(extra='forbid'), kw_only=True) +class SubstrateSubsquidDatasourceConfig(IndexDatasourceConfig): + """Subsquid datasource config + + :param kind: always 'substrate.subsquid' + :param url: URL of Subsquid Network API + :param http: HTTP client configuration + """ + + kind: Literal['substrate.subsquid'] + url: Url + http: HttpConfig | None = None + + @property + def merge_subscriptions(self) -> bool: + return False + + @property + def rollback_depth(self) -> int: + return 0 diff --git a/src/dipdup/context.py b/src/dipdup/context.py index e5d27812f..6c28357db 100644 --- a/src/dipdup/context.py +++ b/src/dipdup/context.py @@ -29,6 +29,8 @@ from dipdup.config.evm_transactions import EvmTransactionsIndexConfig from dipdup.config.starknet import StarknetIndexConfig from dipdup.config.starknet_events import StarknetEventsIndexConfig +from dipdup.config.substrate import SubstrateIndexConfig +from dipdup.config.substrate_events import SubstrateEventsIndexConfig from dipdup.config.tezos import TezosContractConfig from dipdup.config.tezos import TezosIndexConfig from dipdup.config.tezos_big_maps import TezosBigMapsIndexConfig @@ -52,6 +54,9 @@ from dipdup.datasources.ipfs import IpfsDatasource from dipdup.datasources.starknet_node import StarknetNodeDatasource from dipdup.datasources.starknet_subsquid import StarknetSubsquidDatasource +from dipdup.datasources.substrate_node import SubstrateNodeDatasource +from dipdup.datasources.substrate_subscan import SubstrateSubscanDatasource +from dipdup.datasources.substrate_subsquid import SubstrateSubsquidDatasource from dipdup.datasources.tezos_tzkt import TezosTzktDatasource from dipdup.datasources.tzip_metadata import TzipMetadataDatasource from dipdup.exceptions import CallbackError @@ -67,6 +72,8 @@ from dipdup.indexes.evm_transactions.index import EvmTransactionsIndex from dipdup.indexes.starknet import StarknetIndex from dipdup.indexes.starknet_events.index import StarknetEventsIndex +from dipdup.indexes.substrate import SubstrateIndex +from dipdup.indexes.substrate_events.index import SubstrateEventsIndex from dipdup.indexes.tezos_big_maps.index import TezosBigMapsIndex from dipdup.indexes.tezos_events.index import TezosEventsIndex from dipdup.indexes.tezos_head.index import TezosHeadIndex @@ -332,6 +339,8 @@ async def _spawn_index( index = self._create_tezos_index(index_config) elif isinstance(index_config, StarknetIndexConfig): index = self._create_starknet_index(index_config) + elif isinstance(index_config, SubstrateIndexConfig): + index = self._create_substrate_index(index_config) else: raise NotImplementedError @@ -384,6 +393,22 @@ def _create_starknet_index(self, index_config: StarknetIndexConfig) -> StarknetI return index + def _create_substrate_index(self, index_config: SubstrateIndexConfig) -> SubstrateIndex[Any, Any, Any]: + datasource_configs = index_config.datasources + datasources = tuple(self.get_substrate_datasource(c.name) for c in datasource_configs) + index_datasources = tuple(d for d in datasources if isinstance(d, IndexDatasource)) + + for datasource in index_datasources: + datasource.attach_index(index_config) + + index: SubstrateIndex[Any, Any, Any] + if isinstance(index_config, SubstrateEventsIndexConfig): + index = SubstrateEventsIndex(self, index_config, index_datasources) + else: + raise NotImplementedError + + return index + def _create_tezos_index(self, index_config: TezosIndexConfig) -> TezosIndex[Any, Any]: datasources = tuple(self.get_tezos_tzkt_datasource(c.name) for c in index_config.datasources) @@ -499,6 +524,12 @@ def get_starknet_datasource(self, name: str) -> StarknetSubsquidDatasource | Sta """Get `starknet` datasource by name""" return self._get_datasource(name, StarknetSubsquidDatasource, StarknetNodeDatasource) # type: ignore[return-value] + def get_substrate_datasource( + self, name: str + ) -> SubstrateSubsquidDatasource | SubstrateSubscanDatasource | SubstrateNodeDatasource: + """Get `substrate` datasource by name""" + return self._get_datasource(name, SubstrateSubsquidDatasource, SubstrateSubscanDatasource, SubstrateNodeDatasource) # type: ignore[return-value] + def get_coinbase_datasource(self, name: str) -> CoinbaseDatasource: """Get `coinbase` datasource by name diff --git a/src/dipdup/datasources/__init__.py b/src/dipdup/datasources/__init__.py index f84359891..506185266 100644 --- a/src/dipdup/datasources/__init__.py +++ b/src/dipdup/datasources/__init__.py @@ -1,18 +1,29 @@ +import asyncio +import time from abc import abstractmethod from collections.abc import Awaitable from collections.abc import Callable from typing import Any from typing import Generic from typing import TypeVar +from uuid import uuid4 + +from pysignalr.messages import CompletionMessage from dipdup.config import DatasourceConfig from dipdup.config import HttpConfig from dipdup.config import IndexConfig from dipdup.config import IndexDatasourceConfig from dipdup.config import ResolvedHttpConfig +from dipdup.exceptions import DatasourceError from dipdup.exceptions import FrameworkException from dipdup.http import HTTPGateway from dipdup.models import MessageType +from dipdup.performance import metrics +from dipdup.pysignalr import Message +from dipdup.pysignalr import WebsocketMessage +from dipdup.pysignalr import WebsocketProtocol +from dipdup.pysignalr import WebsocketTransport from dipdup.subscriptions import Subscription from dipdup.subscriptions import SubscriptionManager from dipdup.utils import FormattedLogger @@ -24,30 +35,6 @@ RollbackCallback = Callable[['IndexDatasource[Any]', MessageType, int, int], Awaitable[None]] -class EvmHistoryProvider: - pass - - -class EvmRealtimeProvider: - pass - - -class EvmAbiProvider: - pass - - -class TezosHistoryProvider: - pass - - -class TezosRealtimeProvider: - pass - - -class TezosAbiProvider: - pass - - class Datasource(HTTPGateway, Generic[DatasourceConfigT]): _default_http_config = HttpConfig() @@ -128,6 +115,111 @@ async def emit_rollback(self, type_: MessageType, from_level: int, to_level: int await fn(self, type_, from_level, to_level) +# FIXME: Not necessary a index datasource +class WebsocketDatasource(IndexDatasource[IndexDatasourceConfigT]): + def __init__(self, config: IndexDatasourceConfigT) -> None: + super().__init__(config) + self._ws_client: WebsocketTransport | None = None + + @abstractmethod + async def _on_message(self, message: Message) -> None: ... + + async def _on_error(self, message: CompletionMessage) -> None: + raise DatasourceError(f'RPC error: {message}', self.name) + + async def _on_connected(self) -> None: + self._logger.info('Realtime connection established') + # NOTE: Subscribing here will block WebSocket loop, don't do it. + await self.emit_connected() + + async def _on_disconnected(self) -> None: + self._logger.info('Realtime connection lost, resetting subscriptions') + self._subscriptions.reset() + await self.emit_disconnected() + + def _get_ws_client(self) -> WebsocketTransport: + if self._ws_client: + return self._ws_client + + self._logger.debug('Creating Websocket client') + + # FIXME: correct config class + url = self._config.ws_url # type: ignore + if not url: + raise FrameworkException('Spawning node datasource, but `ws_url` is not set') + self._ws_client = WebsocketTransport( + url=url, + protocol=WebsocketProtocol(), + callback=self._on_message, + skip_negotiation=True, + connection_timeout=self._http_config.connection_timeout, + ) + + self._ws_client.on_open(self._on_connected) + self._ws_client.on_close(self._on_disconnected) + self._ws_client.on_error(self._on_error) + + return self._ws_client + + +# FIXME: Not necessary a WS datasource +class JsonRpcDatasource(WebsocketDatasource[IndexDatasourceConfigT]): + def __init__(self, config: IndexDatasourceConfigT) -> None: + super().__init__(config) + self._requests: dict[str, tuple[asyncio.Event, Any]] = {} + + async def _jsonrpc_request( + self, + method: str, + params: Any, + raw: bool = False, + ws: bool = False, + ) -> Any: + request_id = uuid4().hex + request = { + 'jsonrpc': '2.0', + 'id': request_id, + 'method': method, + 'params': params, + } + self._logger.debug('JSON-RPC request: %s', request) + + if ws: + started_at = time.time() + event = asyncio.Event() + self._requests[request_id] = (event, None) + + message = WebsocketMessage(request) + client = self._get_ws_client() + + async def _request() -> None: + await client.send(message) + await event.wait() + + await asyncio.wait_for( + _request(), + timeout=self._http_config.request_timeout, + ) + data = self._requests[request_id][1] + del self._requests[request_id] + + metrics.time_in_requests[self.name] += time.time() - started_at + metrics.requests_total[self.name] += 1 + else: + data = await self.request( + method='post', + url='', + json=request, + ) + + if raw: + return data + + if 'error' in data: + raise DatasourceError(data['error']['message'], self.name) + return data['result'] + + def create_datasource(config: DatasourceConfig) -> Datasource[Any]: from dipdup.config.abi_etherscan import AbiEtherscanDatasourceConfig from dipdup.config.coinbase import CoinbaseDatasourceConfig @@ -137,6 +229,9 @@ def create_datasource(config: DatasourceConfig) -> Datasource[Any]: from dipdup.config.ipfs import IpfsDatasourceConfig from dipdup.config.starknet_node import StarknetNodeDatasourceConfig from dipdup.config.starknet_subsquid import StarknetSubsquidDatasourceConfig + from dipdup.config.substrate_node import SubstrateNodeDatasourceConfig + from dipdup.config.substrate_subscan import SubstrateSubscanDatasourceConfig + from dipdup.config.substrate_subsquid import SubstrateSubsquidDatasourceConfig from dipdup.config.tezos_tzkt import TezosTzktDatasourceConfig from dipdup.config.tzip_metadata import TzipMetadataDatasourceConfig from dipdup.datasources.abi_etherscan import AbiEtherscanDatasource @@ -147,6 +242,9 @@ def create_datasource(config: DatasourceConfig) -> Datasource[Any]: from dipdup.datasources.ipfs import IpfsDatasource from dipdup.datasources.starknet_node import StarknetNodeDatasource from dipdup.datasources.starknet_subsquid import StarknetSubsquidDatasource + from dipdup.datasources.substrate_node import SubstrateNodeDatasource + from dipdup.datasources.substrate_subscan import SubstrateSubscanDatasource + from dipdup.datasources.substrate_subsquid import SubstrateSubsquidDatasource from dipdup.datasources.tezos_tzkt import TezosTzktDatasource from dipdup.datasources.tzip_metadata import TzipMetadataDatasource @@ -161,6 +259,9 @@ def create_datasource(config: DatasourceConfig) -> Datasource[Any]: EvmNodeDatasourceConfig: EvmNodeDatasource, StarknetSubsquidDatasourceConfig: StarknetSubsquidDatasource, StarknetNodeDatasourceConfig: StarknetNodeDatasource, + SubstrateSubsquidDatasourceConfig: SubstrateSubsquidDatasource, + SubstrateSubscanDatasourceConfig: SubstrateSubscanDatasource, + SubstrateNodeDatasourceConfig: SubstrateNodeDatasource, } try: diff --git a/src/dipdup/datasources/abi_etherscan.py b/src/dipdup/datasources/abi_etherscan.py index 72181aa4d..196e2b559 100644 --- a/src/dipdup/datasources/abi_etherscan.py +++ b/src/dipdup/datasources/abi_etherscan.py @@ -10,11 +10,10 @@ from dipdup.config.abi_etherscan import AbiEtherscanDatasourceConfig from dipdup.datasources import AbiDatasource from dipdup.datasources import Datasource -from dipdup.datasources import EvmAbiProvider from dipdup.exceptions import DatasourceError -class AbiEtherscanDatasource(AbiDatasource[AbiEtherscanDatasourceConfig], EvmAbiProvider): +class AbiEtherscanDatasource(AbiDatasource[AbiEtherscanDatasourceConfig]): _default_http_config = HttpConfig( ratelimit_rate=1, ratelimit_period=5, diff --git a/src/dipdup/datasources/evm_node.py b/src/dipdup/datasources/evm_node.py index 8f0736cd2..44b8517cc 100644 --- a/src/dipdup/datasources/evm_node.py +++ b/src/dipdup/datasources/evm_node.py @@ -9,17 +9,13 @@ from dataclasses import field from typing import TYPE_CHECKING from typing import Any -from uuid import uuid4 import pysignalr import pysignalr.exceptions -from pysignalr.messages import CompletionMessage from dipdup.config import HttpConfig from dipdup.config.evm_node import EvmNodeDatasourceConfig -from dipdup.datasources import EvmHistoryProvider -from dipdup.datasources import EvmRealtimeProvider -from dipdup.datasources import IndexDatasource +from dipdup.datasources import JsonRpcDatasource from dipdup.datasources._web3 import create_web3_client from dipdup.exceptions import DatasourceError from dipdup.exceptions import FrameworkException @@ -32,10 +28,8 @@ from dipdup.models.evm_node import EvmNodeSubscription from dipdup.models.evm_node import EvmNodeSyncingData from dipdup.models.evm_node import EvmNodeSyncingSubscription -from dipdup.performance import metrics from dipdup.pysignalr import Message from dipdup.pysignalr import WebsocketMessage -from dipdup.pysignalr import WebsocketProtocol from dipdup.pysignalr import WebsocketTransport from dipdup.utils import Watchdog @@ -73,7 +67,7 @@ async def wait_level(self) -> None: await asyncio.sleep(to_wait) -class EvmNodeDatasource(IndexDatasource[EvmNodeDatasourceConfig], EvmHistoryProvider, EvmRealtimeProvider): +class EvmNodeDatasource(JsonRpcDatasource[EvmNodeDatasourceConfig]): _default_http_config = HttpConfig( batch_size=10, ratelimit_sleep=1, @@ -81,7 +75,7 @@ class EvmNodeDatasource(IndexDatasource[EvmNodeDatasourceConfig], EvmHistoryProv ) def __init__(self, config: EvmNodeDatasourceConfig, merge_subscriptions: bool = False) -> None: - super().__init__(config, merge_subscriptions) + super().__init__(config) self._web3_client: AsyncWeb3 | None = None self._ws_client: WebsocketTransport | None = None self._requests: dict[str, tuple[asyncio.Event, Any]] = {} @@ -254,56 +248,6 @@ async def _subscribe(self, subscription: EvmNodeSubscription) -> None: level = await self.get_head_level() self._subscriptions.set_sync_level(subscription, level) - async def _jsonrpc_request( - self, - method: str, - params: Any, - raw: bool = False, - ws: bool = False, - ) -> Any: - request_id = uuid4().hex - request = { - 'jsonrpc': '2.0', - 'id': request_id, - 'method': method, - 'params': params, - } - - if ws: - started_at = time.time() - event = asyncio.Event() - self._requests[request_id] = (event, None) - - message = WebsocketMessage(request) - client = self._get_ws_client() - - async def _request() -> None: - await client.send(message) - await event.wait() - - await asyncio.wait_for( - _request(), - timeout=self._http_config.request_timeout, - ) - data = self._requests[request_id][1] - del self._requests[request_id] - - metrics.time_in_requests[self.name] += time.time() - started_at - metrics.requests_total[self.name] += 1 - else: - data = await self.request( - method='post', - url='', - json=request, - ) - - if raw: - return data - - if 'error' in data: - raise DatasourceError(data['error']['message'], self.name) - return data['result'] - async def _on_message(self, message: Message) -> None: # NOTE: pysignalr will eventually get a raw client if not isinstance(message, WebsocketMessage): @@ -349,39 +293,3 @@ async def _handle_subscription(self, subscription: EvmNodeSubscription, data: An await self.emit_syncing(syncing) else: raise NotImplementedError - - async def _on_error(self, message: CompletionMessage) -> None: - raise DatasourceError(f'Node error: {message}', self.name) - - async def _on_connected(self) -> None: - self._logger.info('Realtime connection established') - # NOTE: Subscribing here will block WebSocket loop, don't do it. - await self.emit_connected() - - async def _on_disconnected(self) -> None: - self._logger.info('Realtime connection lost, resetting subscriptions') - self._subscriptions.reset() - await self.emit_disconnected() - - def _get_ws_client(self) -> WebsocketTransport: - if self._ws_client: - return self._ws_client - - self._logger.debug('Creating Websocket client') - - url = self._config.ws_url - if not url: - raise FrameworkException('Spawning node datasource, but `ws_url` is not set') - self._ws_client = WebsocketTransport( - url=url, - protocol=WebsocketProtocol(), - callback=self._on_message, - skip_negotiation=True, - connection_timeout=self._http_config.connection_timeout, - ) - - self._ws_client.on_open(self._on_connected) - self._ws_client.on_close(self._on_disconnected) - self._ws_client.on_error(self._on_error) - - return self._ws_client diff --git a/src/dipdup/datasources/evm_subsquid.py b/src/dipdup/datasources/evm_subsquid.py index 898908e13..4263a5e12 100644 --- a/src/dipdup/datasources/evm_subsquid.py +++ b/src/dipdup/datasources/evm_subsquid.py @@ -4,7 +4,6 @@ from typing import Any from dipdup.config.evm_subsquid import EvmSubsquidDatasourceConfig -from dipdup.datasources import EvmHistoryProvider from dipdup.datasources._subsquid import AbstractSubsquidDatasource from dipdup.datasources._subsquid import AbstractSubsquidWorker from dipdup.models.evm import EvmEventData @@ -64,7 +63,7 @@ class _EvmSubsquidWorker(AbstractSubsquidWorker[Query]): pass -class EvmSubsquidDatasource(AbstractSubsquidDatasource[EvmSubsquidDatasourceConfig, Query], EvmHistoryProvider): +class EvmSubsquidDatasource(AbstractSubsquidDatasource[EvmSubsquidDatasourceConfig, Query]): def __init__(self, config: EvmSubsquidDatasourceConfig) -> None: super().__init__(config) diff --git a/src/dipdup/datasources/substrate_node.py b/src/dipdup/datasources/substrate_node.py new file mode 100644 index 000000000..b61d33481 --- /dev/null +++ b/src/dipdup/datasources/substrate_node.py @@ -0,0 +1,207 @@ +import asyncio +import logging +import math +from collections.abc import AsyncIterator +from copy import copy +from dataclasses import dataclass +from dataclasses import field +from pathlib import Path +from typing import Any + +import orjson + +from dipdup.config import HttpConfig +from dipdup.config.substrate import SubstrateDatasourceConfigU +from dipdup.datasources import JsonRpcDatasource +from dipdup.pysignalr import Message + +_logger = logging.getLogger(__name__) + + +@dataclass +class MetadataVersion: + spec_name: str + spec_version: int + block_number: int + block_hash: str + metadata: str | None = None + + @property + def key(self) -> str: + return f'{self.spec_name}@{self.spec_version}' + + +type MetadataHeader = MetadataVersion + + +def equal_specs(a: MetadataVersion, b: MetadataVersion) -> bool: + return a.spec_name == b.spec_name and a.spec_version == b.spec_version + + +@dataclass +class MetadataStorage: + path: Path + versions: list[MetadataVersion] = field(default_factory=list) + + def load_file(self) -> None: + if self.path.name.endswith('.jsonl'): + self.versions = [] + for line in self.path.read_text().splitlines(): + if not line: + continue + version = MetadataVersion(**orjson.loads(line)) + self.versions.append(version) + elif self.path.name.endswith('.json'): + self.versions = [MetadataVersion(**i) for i in orjson.loads(self.path.read_bytes())] + else: + raise ValueError(f'Unsupported file type: {self.path}') + + def save_file(self) -> None: + if self.path.name.endswith('.jsonl'): + self.path.write_bytes(b'\n'.join(orjson.dumps(version.__dict__) for version in self.versions)) + elif self.path.name.endswith('.json'): + self.path.write_bytes(orjson.dumps(self.versions)) + else: + raise ValueError(f'Unsupported file type: {self.path}') + + +class SubstrateNodeDatasource(JsonRpcDatasource[SubstrateDatasourceConfigU]): + _default_http_config = HttpConfig( + batch_size=20, + ) + + async def run(self) -> None: + pass + + async def initialize(self) -> None: + pass + + async def subscribe(self) -> None: + pass + + async def _on_message(self, message: Message) -> None: + raise NotImplementedError + + async def get_height(self) -> int: + head = await self._jsonrpc_request('chain_getFinalizedHead', []) + header = await self._jsonrpc_request('chain_getHeader', [head]) + return int(header['number'], 16) + + async def get_metadata_header(self, height: int) -> MetadataHeader: + block_hash = await self._jsonrpc_request('chain_getBlockHash', [height]) + rt = await self._jsonrpc_request('chain_getRuntimeVersion', [block_hash]) + return MetadataHeader( + spec_name=rt['specName'], + spec_version=rt['specVersion'], + block_number=height, + block_hash=block_hash, + ) + + async def get_metadata_header_batch(self, heights: list[int]) -> list[MetadataHeader]: + return await asyncio.gather(*[self.get_metadata_header(h) for h in heights]) + + async def find_metadata_versions( + self, + from_block: int | None = None, + to_block: int | None = None, + ) -> AsyncIterator[MetadataHeader]: + height = await self.get_height() + + first_block = from_block or 0 + last_block = min(to_block, height) if to_block is not None else height + if first_block > last_block: + return iter([]) + + queue: list[tuple[MetadataVersion, MetadataVersion]] = [] + versions: dict[str, MetadataVersion] = {} + + beg, end = await self.get_metadata_header_batch([from_block, last_block]) + versions[beg.key] = beg + + if not equal_specs(beg, end): + versions[end.key] = end + queue.append((beg, end)) + + step = 0 + while queue: + batch = queue[: self._http_config.batch_size] + queue = queue[self._http_config.batch_size :] + + step += 1 + _logger.info('step %s, %s versions found so far', step, len(versions)) + + heights = [b.block_number + math.floor((e.block_number - b.block_number) / 2) for b, e in batch] + new_versions = await self.get_metadata_header_batch(heights) + for (b, e), m in zip(batch, new_versions, strict=False): + if not equal_specs(b, m): + versions[m.key] = m + if not equal_specs(b, m) and m.block_number - b.block_number > 1: + queue.append((b, m)) + if not equal_specs(m, e) and e.block_number - m.block_number > 1: + queue.append((m, e)) + + return sorted(versions.values(), key=lambda x: x.block_number) + + async def get_metadata_version(self, block_hash: str) -> dict[str, Any]: + return await self._jsonrpc_request('state_getMetadata', [block_hash]) + + async def get_dev_metadata_version(self) -> MetadataVersion | None: + genesis = await self.get_metadata_header(0) + height = await self.get_height() + last = await self.get_metadata_header(height) + if genesis == last: + return genesis + return None + + +# FIXME: Not used, should be a subscan replacement +async def fetch_metadata( + datasource: SubstrateNodeDatasource, + storage: MetadataStorage, + from_block: int | None = None, + to_block: int | None = None, +) -> None: + matched = 0 + for version in storage.versions: + _logger.info('checking %s block %s against current chain', version.key, version.block_number) + current = await datasource.get_metadata_header(version.block_number) + if current and current.block_hash and version.block_hash.startswith(current.block_hash): + matched += 1 + else: + _logger.info('record mismatch') + break + + if matched > 0: + if matched != len(storage.versions): + storage.versions = storage.versions[:matched] + storage.save_file() + last_known = storage.versions[-1] + from_block = max(last_known.block_number, from_block or 0) + _logger.info('exploring chain from block %s, from_block') + new_versions = (await datasource.find_metadata_versions(from_block, to_block))[1:] + _logger.info('%s new versions found', len(new_versions)) + elif not storage.versions: + from_block = from_block or 0 + _logger.info('exploring chain from block %s', from_block) + new_versions = await datasource.find_metadata_versions(from_block, to_block) + _logger.info('%s new versions found', len(new_versions)) + else: + last_known = storage.versions[-1] + new_version = await datasource.get_dev_metadata_version() + if new_version is None or ( + new_version.spec_name == last_known.spec_name and last_known.spec_version > new_version.spec_version + ): + raise ValueError("Output file already contains data for a different chain, don't know how to proceed.") + if new_version.spec_name == last_known.spec_name and new_version.spec_version == last_known.spec_version: + _logger.info('replacing metadata for %s, assuming it came from dev runtime', last_known.key) + storage.versions = storage.versions[:-1] + storage.save_file() + new_versions = [new_version] + + for header in new_versions: + version = copy(header) + version.metadata = (await datasource.get_metadata_version(version.block_hash),) + storage.versions.append(version) + _logger.info('saved %s block %s', version.key, version.block_number) + + storage.save_file() diff --git a/src/dipdup/datasources/substrate_subscan.py b/src/dipdup/datasources/substrate_subscan.py new file mode 100644 index 000000000..acd92c6de --- /dev/null +++ b/src/dipdup/datasources/substrate_subscan.py @@ -0,0 +1,28 @@ +from typing import Any +from typing import cast + +from dipdup.config.substrate_subscan import SubstrateSubscanDatasourceConfig +from dipdup.datasources import AbiDatasource + + +class SubstrateSubscanDatasource(AbiDatasource[SubstrateSubscanDatasourceConfig]): + async def get_abi(self, address: str) -> dict[str, Any]: + raise NotImplementedError + + async def run(self) -> None: + pass + + async def get_runtime_list(self) -> list[dict[str, Any]]: + res = await self.request( + 'post', + 'scan/runtime/list', + ) + return cast(list[dict[str, Any]], res['data']['list']) + + async def get_runtime_metadata(self, spec_version: int) -> dict[str, Any]: + res = await self.request( + 'post', + 'scan/runtime/metadata', + json={'spec': spec_version}, + ) + return cast(dict[str, Any], res['data']['info']['metadata']) diff --git a/src/dipdup/datasources/substrate_subsquid.py b/src/dipdup/datasources/substrate_subsquid.py new file mode 100644 index 000000000..4f64c3d0c --- /dev/null +++ b/src/dipdup/datasources/substrate_subsquid.py @@ -0,0 +1,54 @@ +from collections.abc import AsyncIterator + +from dipdup.config.substrate_subsquid import SubstrateSubsquidDatasourceConfig +from dipdup.datasources._subsquid import AbstractSubsquidDatasource +from dipdup.models._subsquid import AbstractSubsquidQuery +from dipdup.models.substrate import SubstrateEventData + +Query = AbstractSubsquidQuery + + +class SubstrateSubsquidDatasource(AbstractSubsquidDatasource[SubstrateSubsquidDatasourceConfig, Query]): + async def iter_events( + self, + first_level: int, + last_level: int, + names: tuple[str, ...], + ) -> AsyncIterator[tuple[SubstrateEventData, ...]]: + current_level = first_level + + while current_level <= last_level: + query: Query = { # type: ignore[typeddict-unknown-key] + 'fields': { + 'event': { + 'name': True, + 'args': True, + }, + 'block': { + 'hash': True, + 'parentHash': True, + 'stateRoot': True, + 'extrinsicsRoot': True, + 'digest': True, + 'specName': True, + 'specVersion': True, + 'implName': True, + 'implVersion': True, + 'timestamp': True, + 'validator': True, + }, + }, + 'events': [ + { + 'name': list(names), + }, + ], + 'fromBlock': current_level, + 'toBlock': last_level, + 'type': 'substrate', + } + response = await self.query_worker(query, current_level) + + for level_item in response: + yield tuple(SubstrateEventData(**e, header=level_item['header']) for e in level_item['events']) + current_level = level_item['header']['number'] + 1 diff --git a/src/dipdup/datasources/tezos_tzkt.py b/src/dipdup/datasources/tezos_tzkt.py index cc76db0dc..3dd9b1bc1 100644 --- a/src/dipdup/datasources/tezos_tzkt.py +++ b/src/dipdup/datasources/tezos_tzkt.py @@ -29,9 +29,6 @@ from dipdup.config.tezos_tzkt import TezosTzktDatasourceConfig from dipdup.datasources import Datasource from dipdup.datasources import IndexDatasource -from dipdup.datasources import TezosAbiProvider -from dipdup.datasources import TezosHistoryProvider -from dipdup.datasources import TezosRealtimeProvider from dipdup.exceptions import DatasourceError from dipdup.exceptions import FrameworkException from dipdup.models import Head @@ -234,9 +231,7 @@ def get_address(self, code_hash: int, type_hash: int) -> str: return self._hashes_to_address[(code_hash, type_hash)] -class TezosTzktDatasource( - IndexDatasource[TezosTzktDatasourceConfig], TezosHistoryProvider, TezosRealtimeProvider, TezosAbiProvider -): +class TezosTzktDatasource(IndexDatasource[TezosTzktDatasourceConfig]): _default_http_config = HttpConfig( retry_sleep=1, retry_multiplier=1.1, diff --git a/src/dipdup/dipdup.py b/src/dipdup/dipdup.py index 24c2dd1fe..a375677c6 100644 --- a/src/dipdup/dipdup.py +++ b/src/dipdup/dipdup.py @@ -315,9 +315,9 @@ def _log_status(self) -> None: if not progress: if self._indexes: if scanned_levels: - msg = f'indexing: {scanned_levels:6} levels, estimating...' - elif objects_indexed := int(metrics.objects_indexed): - msg = f'indexing: {objects_indexed:6} objects, estimating...' + msg = f'indexing: {scanned_levels} levels, estimating...' + elif metrics.objects_indexed: + msg = f'indexing: {metrics.objects_indexed} objects, estimating...' else: msg = 'indexing: warming up...' else: @@ -635,6 +635,7 @@ async def init( """Create new or update existing dipdup project""" from dipdup.codegen.evm import EvmCodeGenerator from dipdup.codegen.starknet import StarknetCodeGenerator + from dipdup.codegen.substrate import SubstrateCodeGenerator from dipdup.codegen.tezos import TezosCodeGenerator await self._create_datasources() @@ -648,9 +649,10 @@ async def init( codegen_classes: tuple[type[CodeGenerator], ...] = ( # type: ignore[assignment] CommonCodeGenerator, - TezosCodeGenerator, EvmCodeGenerator, StarknetCodeGenerator, + SubstrateCodeGenerator, + TezosCodeGenerator, ) for codegen_cls in codegen_classes: codegen = codegen_cls( diff --git a/src/dipdup/http.py b/src/dipdup/http.py index c95a014bf..943085905 100644 --- a/src/dipdup/http.py +++ b/src/dipdup/http.py @@ -11,6 +11,7 @@ from typing import Any from typing import Literal from typing import overload +from urllib.parse import parse_qsl from urllib.parse import urlsplit from urllib.parse import urlunsplit @@ -80,6 +81,7 @@ def __init__(self, url: str, config: ResolvedHttpConfig) -> None: self._url = urlunsplit((parsed_url.scheme, parsed_url.netloc, '', '', '')) self._alias = config.alias or parsed_url.netloc self._path = parsed_url.path + self._query = parsed_url.query self._config = config self._user_agent_args: tuple[str, ...] = () self._user_agent: str | None = None @@ -223,7 +225,10 @@ async def _request( headers = kwargs.pop('headers', {}) headers['User-Agent'] = self.user_agent - params = kwargs.get('params', {}) + params = kwargs.pop('params', {}) + for item in parse_qsl(self._query): + params[item[0]] = item[1] + params_string = '&'.join(f'{k}={v}' for k, v in params.items()) request_string = f'{self._url}{url}?{params_string}'.rstrip('?') self._logger.debug('Calling `%s`', request_string) @@ -238,6 +243,7 @@ async def _request( url=url, headers=headers, raise_for_status=True, + params=params, **kwargs, ) as response: await response.read() diff --git a/src/dipdup/indexes/evm.py b/src/dipdup/indexes/evm.py index 7bb86e1a4..13bac690f 100644 --- a/src/dipdup/indexes/evm.py +++ b/src/dipdup/indexes/evm.py @@ -49,6 +49,7 @@ def get_sighash( raise ConfigurationError('Either `to` or `signature` filters are expected') +# FIXME: Should be subsquid one class EvmIndex( Generic[IndexConfigT, IndexQueueItemT, DatasourceT], Index[IndexConfigT, IndexQueueItemT, DatasourceT], diff --git a/src/dipdup/indexes/substrate.py b/src/dipdup/indexes/substrate.py new file mode 100644 index 000000000..4dbf6581f --- /dev/null +++ b/src/dipdup/indexes/substrate.py @@ -0,0 +1,39 @@ +from abc import ABC +from typing import TYPE_CHECKING +from typing import Generic +from typing import TypeVar + +from dipdup.config import SubstrateIndexConfigU +from dipdup.datasources.substrate_node import SubstrateNodeDatasource +from dipdup.datasources.substrate_subscan import SubstrateSubscanDatasource +from dipdup.datasources.substrate_subsquid import SubstrateSubsquidDatasource +from dipdup.index import IndexQueueItemT +from dipdup.indexes.evm import EvmIndex +from dipdup.runtimes import SubstrateRuntime + +SubstrateDatasource = SubstrateSubsquidDatasource | SubstrateSubscanDatasource | SubstrateNodeDatasource + +IndexConfigT = TypeVar('IndexConfigT', bound=SubstrateIndexConfigU) +DatasourceT = TypeVar('DatasourceT', bound=SubstrateDatasource) + +if TYPE_CHECKING: + from dipdup.context import DipDupContext + + +class SubstrateIndex( + Generic[IndexConfigT, IndexQueueItemT, DatasourceT], + # FIXME: it's not + EvmIndex[IndexConfigT, IndexQueueItemT, DatasourceT], + ABC, +): + def __init__( + self, + ctx: 'DipDupContext', + config: IndexConfigT, + datasources: tuple[DatasourceT, ...], + ) -> None: + super().__init__(ctx, config, datasources) + self.runtime = SubstrateRuntime( + name=config.runtime.name, + package=ctx.package, + ) diff --git a/src/dipdup/indexes/substrate_events/fetcher.py b/src/dipdup/indexes/substrate_events/fetcher.py new file mode 100644 index 000000000..4cef2ea9f --- /dev/null +++ b/src/dipdup/indexes/substrate_events/fetcher.py @@ -0,0 +1,32 @@ +from collections.abc import AsyncIterator + +from dipdup.datasources.substrate_subsquid import SubstrateSubsquidDatasource +from dipdup.indexes.substrate_subsquid import SubstrateSubsquidFetcher +from dipdup.models.substrate import SubstrateEventData + + +class SubstrateSubsquidEventFetcher(SubstrateSubsquidFetcher[SubstrateEventData]): + def __init__( + self, + name: str, + datasources: tuple[SubstrateSubsquidDatasource, ...], + first_level: int, + last_level: int, + names: tuple[str, ...], + ) -> None: + super().__init__( + name=name, + datasources=datasources, + first_level=first_level, + last_level=last_level, + ) + self._names = names + + async def fetch_by_level(self) -> AsyncIterator[tuple[int, tuple[SubstrateEventData, ...]]]: + event_iter = self.random_datasource.iter_events( + first_level=self._first_level, + last_level=self._last_level, + names=self._names, + ) + async for level, batch in self.readahead_by_level(event_iter): + yield level, batch diff --git a/src/dipdup/indexes/substrate_events/index.py b/src/dipdup/indexes/substrate_events/index.py new file mode 100644 index 000000000..08a3caab7 --- /dev/null +++ b/src/dipdup/indexes/substrate_events/index.py @@ -0,0 +1,83 @@ +from collections import deque +from collections.abc import Iterable +from typing import TYPE_CHECKING +from typing import Any + +from dipdup.config.substrate_events import SubstrateEventsHandlerConfig +from dipdup.config.substrate_events import SubstrateEventsIndexConfig +from dipdup.datasources.substrate_subsquid import SubstrateSubsquidDatasource +from dipdup.indexes.substrate import SubstrateDatasource +from dipdup.indexes.substrate import SubstrateIndex +from dipdup.indexes.substrate_events.fetcher import SubstrateSubsquidEventFetcher +from dipdup.models import RollbackMessage +from dipdup.models._subsquid import SubsquidMessageType +from dipdup.models.substrate import SubstrateEvent +from dipdup.models.substrate import SubstrateEventData +from dipdup.performance import metrics + +QueueItem = tuple[SubstrateEventData, ...] | RollbackMessage +MatchedEventsT = tuple[SubstrateEventsHandlerConfig, SubstrateEvent[Any]] + +if TYPE_CHECKING: + from dipdup.context import DipDupContext + + +class SubstrateEventsIndex( + SubstrateIndex[SubstrateEventsIndexConfig, QueueItem, SubstrateDatasource], + # FIXME: stub message type + message_type=SubsquidMessageType.logs, +): + def __init__( + self, + ctx: 'DipDupContext', + config: SubstrateEventsIndexConfig, + datasources: tuple[SubstrateDatasource, ...], + ) -> None: + super().__init__(ctx, config, datasources) + self._names = tuple(c.name for c in self._config.handlers) + # FIXME: it's not EVM index + self.subsquid_datasources = tuple(d for d in datasources if isinstance(d, SubstrateSubsquidDatasource)) + + async def _synchronize_subsquid(self, sync_level: int) -> None: + first_level = self.state.level + 1 + fetcher = self._create_subsquid_fetcher(first_level, sync_level) + + async for _level, events in fetcher.fetch_by_level(): + await self._process_level_data(tuple(events), sync_level) + metrics._sqd_processor_last_block = int(_level) + + async def _synchronize_node(self, sync_level: int) -> None: + raise NotImplementedError + + def _create_subsquid_fetcher(self, first_level: int, last_level: int) -> SubstrateSubsquidEventFetcher: + + return SubstrateSubsquidEventFetcher( + name=self.name, + datasources=self.subsquid_datasources, + first_level=first_level, + last_level=last_level, + names=self._names, + ) + + def _match_level_data( + self, + handlers: tuple[SubstrateEventsHandlerConfig, ...], + level_data: Iterable[SubstrateEventData], + ) -> deque[Any]: + """Try to match event events with all index handlers.""" + matched_handlers: deque[MatchedEventsT] = deque() + + for event in level_data: + for handler_config in handlers: + if handler_config.name != event.name: + continue + + arg: SubstrateEvent[Any] = SubstrateEvent( + data=event, + runtime=self.runtime, + ) + + matched_handlers.append((handler_config, arg)) + break + + return matched_handlers diff --git a/src/dipdup/indexes/substrate_subsquid.py b/src/dipdup/indexes/substrate_subsquid.py new file mode 100644 index 000000000..fa75d8006 --- /dev/null +++ b/src/dipdup/indexes/substrate_subsquid.py @@ -0,0 +1,25 @@ +from abc import ABC +from typing import Generic + +from dipdup.datasources.substrate_subsquid import SubstrateSubsquidDatasource +from dipdup.fetcher import BufferT +from dipdup.fetcher import DataFetcher + +SUBSTRATE_SUBSQUID_READAHEAD_LIMIT = 10000 + + +class SubstrateSubsquidFetcher(Generic[BufferT], DataFetcher[BufferT, SubstrateSubsquidDatasource], ABC): + def __init__( + self, + name: str, + datasources: tuple[SubstrateSubsquidDatasource, ...], + first_level: int, + last_level: int, + ) -> None: + super().__init__( + name=name, + datasources=datasources, + first_level=first_level, + last_level=last_level, + readahead_limit=SUBSTRATE_SUBSQUID_READAHEAD_LIMIT, + ) diff --git a/src/dipdup/models/__init__.py b/src/dipdup/models/__init__.py index 8e7555a7d..91f7f5d22 100644 --- a/src/dipdup/models/__init__.py +++ b/src/dipdup/models/__init__.py @@ -59,6 +59,7 @@ class IndexType(Enum): tezos_token_transfers = 'tezos.token_transfers' tezos_token_balances = 'tezos.token_balances' starknet_events = 'starknet.events' + substrate_events = 'substrate.events' class MessageType: diff --git a/src/dipdup/models/evm.py b/src/dipdup/models/evm.py index 80eb2c1ce..e9a66db27 100644 --- a/src/dipdup/models/evm.py +++ b/src/dipdup/models/evm.py @@ -1,4 +1,3 @@ -from abc import ABC from dataclasses import dataclass from typing import Any from typing import Generic @@ -59,7 +58,7 @@ def from_subsquid_json(cls, event_json: dict[str, Any], header: dict[str, Any]) @dataclass(frozen=True) -class EvmTransactionData(HasLevel, ABC): +class EvmTransactionData(HasLevel): access_list: tuple[dict[str, Any], ...] | None block_hash: str chain_id: int | None diff --git a/src/dipdup/models/substrate.py b/src/dipdup/models/substrate.py new file mode 100644 index 000000000..5a4d6c711 --- /dev/null +++ b/src/dipdup/models/substrate.py @@ -0,0 +1,70 @@ +from dataclasses import dataclass +from functools import cached_property +from typing import Any +from typing import Generic +from typing import TypedDict +from typing import TypeVar +from typing import cast + +from pydantic import BaseModel + +from dipdup.fetcher import HasLevel +from dipdup.runtimes import SubstrateRuntime + + +class BlockHeader(TypedDict): + hash: str + number: int + daHeight: str + transactionsRoot: str + transactionsCount: int + messageReceiptCount: int + prevRoot: str + time: str + applicationHash: str + eventInboxRoot: str + consensusParametersVersion: int + stateTransitionBytecodeVersion: int + messageOutboxRoot: str + + +@dataclass(frozen=True) +class SubstrateEventData(HasLevel): + name: str + index: int + extrinsicIndex: int + callAddress: list[str] + args: list[Any] + header: BlockHeader + + @property + def level(self) -> int: # type: ignore[override] + return self.header['number'] + + +PayloadT = TypeVar('PayloadT', bound=BaseModel) + + +@dataclass(frozen=True) +class SubstrateEvent(Generic[PayloadT]): + data: SubstrateEventData + runtime: SubstrateRuntime + + @cached_property + def payload(self) -> PayloadT: + return cast( + PayloadT, + self.runtime.decode_event_args( + name=self.name, + args=self.data.args, + spec_version=self.data.header['specVersion'], + ), + ) + + @property + def level(self) -> int: + return self.data.level + + @property + def name(self) -> str: + return self.data.name diff --git a/src/dipdup/models/substrate_subsquid.py b/src/dipdup/models/substrate_subsquid.py new file mode 100644 index 000000000..e69de29bb diff --git a/src/dipdup/package.py b/src/dipdup/package.py index 9c45f36d4..5c8e38637 100644 --- a/src/dipdup/package.py +++ b/src/dipdup/package.py @@ -79,6 +79,9 @@ def __init__(self, root: Path, quiet: bool = False) -> None: # NOTE: Shared directories; not a part of package self._xdg_shared_dir = Path.home() / '.local' / 'share' / 'dipdup' self.schemas = self._xdg_shared_dir / 'schemas' / self.name + # FIXME + # self.abi_local = self._xdg_shared_dir / 'abi' / self.name + self.abi_local = self.abi # NOTE: Finally, internal in-memory stuff self._replay: Answers | None = None diff --git a/src/dipdup/project.py b/src/dipdup/project.py index 0695d73dd..fe40e074e 100644 --- a/src/dipdup/project.py +++ b/src/dipdup/project.py @@ -38,6 +38,7 @@ 'demo_evm_uniswap', ), 'starknet': ('demo_starknet_events',), + 'substrate': ('demo_substrate_events',), 'tezos': ( 'demo_tezos_auction', 'demo_tezos_dao', @@ -148,11 +149,13 @@ def template_from_terminal() -> tuple[str | None, DipDupSurveyConfig | None]: options=( 'EVM', 'Starknet', + 'Substrate', 'Tezos', ), comments=( 'EVM-compatible blockchains', 'Starknet', + 'Substrate [PREVIEW]', 'Tezos', ), default=0, @@ -338,7 +341,7 @@ def render_base( _render( answers=answers, template_path=Path(__file__).parent / 'templates' / 'replay.yaml.j2', - output_path=Path('configs') / 'replay.yaml', + output_path=get_package_path(answers['package']) / Path('configs') / 'replay.yaml', force=force, ) @@ -353,9 +356,10 @@ def _render_templates( from jinja2 import Template project_path = Path(__file__).parent / 'projects' / path - project_paths = project_path.glob('**/*.j2') + project_templates = set(project_path.glob('**/*.j2')) + project_files = set(project_path.glob('**/*')) - project_templates - for path in project_paths: + for path in project_templates: template_path = path.relative_to(Path(__file__).parent) relative_path = str(Path(*template_path.parts[2:]))[:-3] @@ -371,6 +375,16 @@ def _render_templates( output_path = Path(Template(str(output_path)).render(project=answers)) _render(answers, template_path, output_path, force) + # NOTE: If there are files without .j2 extension, just copy them + for path in project_files: + if path.is_dir(): + continue + output_path = Path( + get_package_path(answers['package']), + *path.relative_to(project_path).parts, + ) + write(output_path, path.read_bytes(), overwrite=force) + def _render(answers: Answers, template_path: Path, output_path: Path, force: bool) -> None: if output_path.exists() and not force: diff --git a/src/dipdup/projects/demo_substrate_events/deploy/Dockerfile.j2 b/src/dipdup/projects/demo_substrate_events/deploy/Dockerfile.j2 new file mode 100644 index 000000000..3e60e19fb --- /dev/null +++ b/src/dipdup/projects/demo_substrate_events/deploy/Dockerfile.j2 @@ -0,0 +1,9 @@ +FROM dipdup/dipdup:8 +# FROM ghcr.io/dipdup-io/dipdup:8 +FROM ghcr.io/dipdup-io/dipdup:feat-substrate + +# COPY --chown=dipdup pyproject.toml README.md . +# RUN pip install . + +COPY --chown=dipdup . {{ project.package }} +WORKDIR {{ project.package }} \ No newline at end of file diff --git a/src/dipdup/projects/demo_substrate_events/dipdup.yaml.j2 b/src/dipdup/projects/demo_substrate_events/dipdup.yaml.j2 new file mode 100644 index 000000000..d83f8ff14 --- /dev/null +++ b/src/dipdup/projects/demo_substrate_events/dipdup.yaml.j2 @@ -0,0 +1,30 @@ +spec_version: 3.0 +package: {{ project.package }} + +runtimes: + assethub: + kind: substrate + +datasources: + subsquid: + kind: substrate.subsquid + url: https://v2.archive.subsquid.io/network/asset-hub-polkadot + subscan: + kind: substrate.subscan + url: https://assethub-polkadot.api.subscan.io/api + node: + kind: substrate.node + url: https://statemint.api.onfinality.io/rpc?apikey=${NODE_API_KEY:-''} + ws_url: wss://statemint.api.onfinality.io/ws?apikey=${NODE_API_KEY:-''} + +indexes: + assethub_transfers: + kind: substrate.events + runtime: assethub + datasources: + - subsquid + - subscan + - node + handlers: + - callback: on_transfer + name: Assets.Transferred diff --git a/src/dipdup/projects/demo_substrate_events/handlers/on_transfer.py.j2 b/src/dipdup/projects/demo_substrate_events/handlers/on_transfer.py.j2 new file mode 100644 index 000000000..0f5f28649 --- /dev/null +++ b/src/dipdup/projects/demo_substrate_events/handlers/on_transfer.py.j2 @@ -0,0 +1,53 @@ +from decimal import Decimal + +from tortoise.exceptions import DoesNotExist + +from {{ project.package }} import models as models +from {{ project.package }}.types.assethub.substrate_events.assets_transferred import AssetsTransferredPayload +from dipdup.context import HandlerContext +from dipdup.models.substrate import SubstrateEvent + + +async def on_transfer( + ctx: HandlerContext, + event: SubstrateEvent[AssetsTransferredPayload], +) -> None: + amount = Decimal(event.payload.get('amount') or event.payload['value']) + if not amount: + return + + address_from = event.payload['from'] + await on_balance_update( + address=address_from, + balance_update=-amount, + level=event.data.level, + ) + address_to = event.payload['to'] + await on_balance_update( + address=address_to, + balance_update=amount, + level=event.data.level, + ) + + +async def on_balance_update( + address: str, + balance_update: Decimal, + level: int, +) -> None: + try: + holder = await models.Holder.cached_get(pk=address) + except DoesNotExist: + holder = models.Holder( + address=address, + balance=0, + turnover=0, + tx_count=0, + last_seen=None, + ) + holder.cache() + holder.balance += balance_update + holder.turnover += abs(balance_update) + holder.tx_count += 1 + holder.last_seen = level + await holder.save() diff --git a/src/dipdup/projects/demo_substrate_events/models/__init__.py.j2 b/src/dipdup/projects/demo_substrate_events/models/__init__.py.j2 new file mode 100644 index 000000000..aa819b5bd --- /dev/null +++ b/src/dipdup/projects/demo_substrate_events/models/__init__.py.j2 @@ -0,0 +1,13 @@ +from dipdup import fields +from dipdup.models import CachedModel + + +class Holder(CachedModel): + address = fields.TextField(primary_key=True) + balance = fields.DecimalField(decimal_places=6, max_digits=40, default=0) + turnover = fields.DecimalField(decimal_places=6, max_digits=40, default=0) + tx_count = fields.BigIntField(default=0) + last_seen = fields.BigIntField(null=True) + + class Meta: + maxsize = 2 ** 18 diff --git a/src/dipdup/projects/demo_substrate_events/replay.yaml b/src/dipdup/projects/demo_substrate_events/replay.yaml new file mode 100644 index 000000000..8a79c588a --- /dev/null +++ b/src/dipdup/projects/demo_substrate_events/replay.yaml @@ -0,0 +1,5 @@ +spec_version: 3.0 +replay: + description: Substrate balance transfers [PREVIEW] + package: demo_substrate_events + template: demo_substrate_events \ No newline at end of file diff --git a/src/dipdup/runtimes.py b/src/dipdup/runtimes.py new file mode 100644 index 000000000..2e609ebae --- /dev/null +++ b/src/dipdup/runtimes.py @@ -0,0 +1,131 @@ +import logging +import re +from functools import cached_property +from typing import TYPE_CHECKING +from typing import Any + +import orjson + +from dipdup.exceptions import FrameworkException +from dipdup.package import DipDupPackage + +if TYPE_CHECKING: + from scalecodec.base import RuntimeConfigurationObject # type: ignore[import-untyped] + +_logger = logging.getLogger(__name__) + +ALIASES = { + 'assethub': 'statemint', +} + + +def extract_args_name(description: str) -> list[str]: + pattern = r'\((.*?)\)|\[(.*?)\]' + match = re.search(pattern, description) + + if not match: + raise ValueError('No valid bracket pairs found in the description') + + args_str = match.group(1) or match.group(2) + return [arg.strip('\\') for arg in args_str.split(', ')] + + +class SubstrateSpecVersion: + def __init__(self, name: str, metadata: list[dict[str, Any]]) -> None: + self._name = name + self._metadata = metadata + self._events: dict[str, dict[str, Any]] = {} + + def get_event_abi(self, qualname: str) -> dict[str, Any]: + if qualname not in self._events: + pallet, name = qualname.split('.') + found = False + for item in self._metadata: + # FIXME: double break + if found: + break + if item['name'] != pallet: + continue + for event in item.get('events', ()): + if event['name'] != name: + continue + self._events[qualname] = event + found = True + else: + raise FrameworkException(f'Event `{qualname}` not found in `{self._name}` spec') + + return self._events[qualname] + + +class SubstrateRuntime: + def __init__( + self, + name: str, + package: DipDupPackage, + ) -> None: + self._name = name + self._package = package + # TODO: unload by LRU? + self._spec_versions: dict[str, SubstrateSpecVersion] = {} + + @cached_property + def runtime_config(self) -> 'RuntimeConfigurationObject': + from scalecodec.base import RuntimeConfigurationObject + from scalecodec.type_registry import load_type_registry_preset # type: ignore[import-untyped] + + # FIXME: ss58_format + runtime_config = RuntimeConfigurationObject(ss58_format=99) + for name in ('core', ALIASES.get(self._name, self._name)): + preset = load_type_registry_preset(name) + assert preset + runtime_config.update_type_registry(preset) + + return runtime_config + + def get_spec_version(self, name: str) -> SubstrateSpecVersion: + if name not in self._spec_versions: + _logger.info('loading spec version `%s`', name) + metadata = orjson.loads(self._package.abi.joinpath(self._name, f'v{name}.json').read_bytes()) + self._spec_versions[name] = SubstrateSpecVersion( + name=f'v{name}', + metadata=metadata, + ) + + return self._spec_versions[name] + + def decode_event_args( + self, + name: str, + args: list[Any] | dict[str, Any], + spec_version: str, + ) -> dict[str, Any]: + from scalecodec.base import ScaleBytes + + spec_obj = self.get_spec_version(spec_version) + event_abi = spec_obj.get_event_abi( + qualname=name, + ) + + if isinstance(args, list): + assert 'args_name' not in event_abi + arg_names = extract_args_name(event_abi['docs'][0]) + args = dict(zip(arg_names, args, strict=True)) + else: + arg_names = event_abi['args_name'] + + arg_types = event_abi['args'] + + payload = {} + for (key, value), type_ in zip(args.items(), arg_types, strict=True): + if not isinstance(value, str) or not value.startswith('0x'): + payload[key] = value + continue + + scale_obj = self.runtime_config.create_scale_object( + type_string=type_, + data=ScaleBytes(value), + ) + scale_obj.decode() + payload[key] = scale_obj.value_serialized + + return payload diff --git a/src/dipdup/sentry.py b/src/dipdup/sentry.py index ec983586c..7cc1fea16 100644 --- a/src/dipdup/sentry.py +++ b/src/dipdup/sentry.py @@ -4,7 +4,6 @@ import platform from contextlib import suppress from typing import TYPE_CHECKING -from typing import Any import sentry_sdk import sentry_sdk.consts @@ -45,23 +44,6 @@ def extract_event(error: Exception) -> 'Event': return sentry_sdk.serializer.serialize(event) # type: ignore[arg-type,return-value] -def before_send( - event: 'Event', - hint: dict[str, Any], -) -> 'Event | None': - # NOTE: Dark magic ahead. Merge `CallbackError` and its cause when possible. - with suppress(KeyError, IndexError): - exceptions = event['exception']['values'] - if exceptions[-1]['type'] == 'CallbackError': - wrapper_frames = exceptions[-1]['stacktrace']['frames'] - crash_frames = exceptions[-2]['stacktrace']['frames'] - exceptions[-2]['stacktrace']['frames'] = wrapper_frames + crash_frames - event['message'] = exceptions[-2]['value'] - del exceptions[-1] - - return event - - def init_sentry(config: 'SentryConfig', package: str) -> None: dsn = config.dsn if dsn: @@ -102,7 +84,6 @@ def init_sentry(config: 'SentryConfig', package: str) -> None: dsn=dsn, integrations=integrations, attach_stacktrace=attach_stacktrace, - before_send=before_send, release=release, environment=environment, server_name=server_name, diff --git a/src/dipdup/utils.py b/src/dipdup/utils.py index 03831f871..1824bbb31 100644 --- a/src/dipdup/utils.py +++ b/src/dipdup/utils.py @@ -2,6 +2,7 @@ import importlib import logging import pkgutil +import re import types from collections import defaultdict from collections.abc import Callable @@ -255,3 +256,15 @@ async def run(self) -> None: except TimeoutError as e: msg = f'Watchdog timeout; no messages received in {self._timeout} seconds' raise FrameworkException(msg) from e + + +def sorted_glob(path: Path, pattern: str) -> list[Path]: + def natural_sort_key(item: Path) -> tuple[list[int | str], list[int | str]]: + def split_parts(text: str) -> list[int | str]: + parts = re.split(r'(\d+)', text) + return [int(part) if part.isdigit() else part.lower() for part in parts] + + # Sort by parent directories first, then by filename + return ([split_parts(part) for part in item.parent.parts], split_parts(item.name)) + + return sorted(path.glob(pattern), key=natural_sort_key)