diff --git a/.docker/docker-compose.gov.j2 b/.docker/docker-compose.gov.j2 new file mode 100644 index 0000000000..3deb1612a4 --- /dev/null +++ b/.docker/docker-compose.gov.j2 @@ -0,0 +1,24 @@ +version: "3.5" + +services: + node-dev: + build: + args: + - "RUST_TOOLCHAIN={{ RUST_TOOLCHAIN }}" + - "NETWORK={{ NETWORK }}" + - "WASM_NAME={{ WASM_NAME }}" + context: ../ + dockerfile: .docker/Dockerfile-chain-dev + image: node-dev + container_name: node-dev + expose: + - 9944 + - 9933 + ports: + - 127.0.0.1:9944:9944 + - 127.0.0.1:9933:9933 + logging: + options: + max-size: "1m" + max-file: "3" + command: cargo run --release --features={{ NETWORK }}-runtime,{{ WASM_NAME }}-runtime/test-env -- --dev -linfo --rpc-cors=all --unsafe-rpc-external diff --git a/.github/workflows/ci-develop.yml b/.github/workflows/ci-develop.yml index 3911a9e2ea..9244d88ffd 100644 --- a/.github/workflows/ci-develop.yml +++ b/.github/workflows/ci-develop.yml @@ -61,7 +61,12 @@ jobs: uses: ./.github/workflows/node-only-update.yml secrets: inherit + gov: + if: ${{ (github.event.pull_request.draft == false && contains( github.event.pull_request.labels.*.name, 'CI-gov')) }} # Conditional check for draft & labels per job. + uses: ./.github/workflows/gov.yml + secrets: inherit # pass all secrets from initial workflow to nested + codestyle: if: github.event.pull_request.draft == false # Conditional check for draft per job. uses: ./.github/workflows/codestyle.yml - secrets: inherit \ No newline at end of file + secrets: inherit diff --git a/.github/workflows/gov.yml b/.github/workflows/gov.yml new file mode 100644 index 0000000000..e18755a7d5 --- /dev/null +++ b/.github/workflows/gov.yml @@ -0,0 +1,118 @@ +# Governance tests in --dev mode with test-env feature enabled to reduce gov timings +name: governance tests + +# Triger: only call from main workflow(re-usable workflows) +on: + workflow_call: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + prepare-execution-marix: + name: Prepare execution matrix + + runs-on: self-hosted-ci + outputs: + matrix: ${{ steps.create_matrix.outputs.matrix }} + + steps: + - name: Clean Workspace + uses: AutoModality/action-clean@v1.1.0 + + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v3.1.0 + with: + ref: ${{ github.head_ref }} #Checking out head commit + + - name: Read .env file + uses: xom9ikk/dotenv@v2 + + - name: Create Execution matrix + uses: CertainLach/create-matrix-action@v4 + id: create_matrix + with: + matrix: | + network {quartz}, wasm_name {quartz} + network {opal}, wasm_name {opal} + network {sapphire}, wasm_name {quartz} + + dev_build_int_tests: + needs: prepare-execution-marix + # The type of runner that the job will run on + runs-on: [self-hosted-ci, medium] + timeout-minutes: 1380 + + name: ${{ matrix.network }} + strategy: + matrix: + include: ${{fromJson(needs.prepare-execution-marix.outputs.matrix)}} + + continue-on-error: true #Do not stop testing of matrix runs failed. As it decided during PR review - it required 50/50& Let's check it with false. + + steps: + - name: Clean Workspace + uses: AutoModality/action-clean@v1.1.0 + + # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it + - uses: actions/checkout@v3.1.0 + with: + ref: ${{ github.head_ref }} #Checking out head commit + + - name: Read .env file + uses: xom9ikk/dotenv@v2 + + - name: Generate ENV related extend file for docker-compose + uses: cuchi/jinja2-action@v1.2.0 + with: + template: .docker/docker-compose.gov.j2 + output_file: .docker/docker-compose.${{ matrix.network }}.yml + variables: | + RUST_TOOLCHAIN=${{ env.RUST_TOOLCHAIN }} + NETWORK=${{ matrix.network }} + WASM_NAME=${{ matrix.wasm_name }} + + - name: Show build configuration + run: cat .docker/docker-compose.${{ matrix.network }}.yml + + - name: Build the stack + run: docker-compose -f ".docker/docker-compose.${{ matrix.network }}.yml" up -d --build --remove-orphans + + - uses: actions/setup-node@v3.5.1 + with: + node-version: 16 + + - name: Run tests + working-directory: tests + run: | + yarn install + yarn add mochawesome + ./scripts/wait_for_first_block.sh + echo "Ready to start tests" + yarn polkadot-types + NOW=$(date +%s) && yarn testGovernance --reporter mochawesome --reporter-options reportFilename=test-${NOW} + env: + RPC_URL: http://127.0.0.1:9944/ + + - name: Test Report + uses: phoenix-actions/test-reporting@v10 + id: test-report + if: success() || failure() # run this step even if previous step failed + with: + name: int test results - ${{ matrix.network }} # Name of the check run which will be created + path: tests/mochawesome-report/test-*.json # Path to test results + reporter: mochawesome-json + fail-on-error: 'false' + + - name: Read output variables + run: | + echo "url is ${{ steps.test-report.outputs.runHtmlUrl }}" + + - name: Stop running containers + if: always() # run this step always + run: docker-compose -f ".docker/docker-compose.${{ matrix.network }}.yml" down + + - name: Remove builder cache + if: always() # run this step always + run: | + docker builder prune -f -a + docker system prune -f + docker image prune -f -a diff --git a/Cargo.lock b/Cargo.lock index 339cd1afc3..4da88143ec 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -172,9 +172,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.0.2" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43f6cb1bf222025340178f382c426f13757b2960e89779dfcb319c32542a5a41" +checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a" dependencies = [ "memchr", ] @@ -250,9 +250,9 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "180abfa45703aebe0093f79badacc01b8fd4ea2e35118747e5811127f926e188" +checksum = "c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c" dependencies = [ "anstyle", "windows-sys 0.48.0", @@ -260,9 +260,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.72" +version = "1.0.74" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b13c32d80ecc7ab747b80c3784bce54ee8a7a0cc4fbda9bf4cda2cf6fe90854" +checksum = "8c6f84b74db2535ebae81eede2f39b947dcbf01d093ae5f791e5dd414a1bf289" [[package]] name = "app-promotion-rpc" @@ -333,7 +333,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.23", + "time 0.3.25", ] [[package]] @@ -349,7 +349,7 @@ dependencies = [ "num-traits", "rusticata-macros", "thiserror", - "time 0.3.23", + "time 0.3.25", ] [[package]] @@ -426,9 +426,9 @@ dependencies = [ [[package]] name = "async-lock" -version = "2.7.0" +version = "2.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fa24f727524730b077666307f2734b4a1a1c57acb79193127dcc8914d5242dd7" +checksum = "287272293e9d8c41773cec55e365490fe034813a2f172f502d6ddcf75b2f582b" dependencies = [ "event-listener", ] @@ -441,18 +441,18 @@ checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] name = "async-trait" -version = "0.1.72" +version = "0.1.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc6dde6e4ed435a4c1ee4e73592f5ba9da2151af10076cc04858746af9352d09" +checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -465,7 +465,7 @@ dependencies = [ "futures-sink", "futures-util", "memchr", - "pin-project-lite 0.2.10", + "pin-project-lite 0.2.12", ] [[package]] @@ -599,7 +599,7 @@ dependencies = [ "regex", "rustc-hash", "shlex", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -610,9 +610,9 @@ checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" [[package]] name = "bitflags" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "630be753d4e58660abd17930c71b647fe46c27ea6b63cc59e1e3851406972e42" +checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635" [[package]] name = "bitvec" @@ -873,11 +873,12 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.79" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f" +checksum = "305fe645edc1442a0fa8b6726ba61d422798d37a52e12eaecf4b022ebbb88f01" dependencies = [ "jobserver", + "libc", ] [[package]] @@ -902,9 +903,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.15.3" +version = "0.15.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "215c0072ecc28f92eeb0eea38ba63ddfcb65c2828c46311d646f1a3ff5f9841c" +checksum = "b40ccee03b5175c18cde8f37e7d2a33bcef6f8ec8f7cc0d81090d1bb380949c9" dependencies = [ "smallvec", ] @@ -1024,9 +1025,9 @@ dependencies = [ [[package]] name = "clap" -version = "4.3.17" +version = "4.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b0827b011f6f8ab38590295339817b0d26f344aa4932c3ced71b45b0c54b4a9" +checksum = "c27cdf28c0f604ba3f512b0c9a409f8de8513e4816705deb0498b627e7c3a3fd" dependencies = [ "clap_builder", "clap_derive", @@ -1035,9 +1036,9 @@ dependencies = [ [[package]] name = "clap_builder" -version = "4.3.17" +version = "4.3.21" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9441b403be87be858db6a23edb493e7f694761acdc3343d5a0fcaafd304cbc9e" +checksum = "08a9f1ab5e9f01a9b81f202e8562eb9a10de70abf9eaeac1be465c28b75aa4aa" dependencies = [ "anstream", "anstyle", @@ -1054,7 +1055,7 @@ dependencies = [ "heck", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -1126,9 +1127,9 @@ dependencies = [ [[package]] name = "const-oid" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "795bc6e66a8e340f075fcf6227e417a2dc976b92b91f3cdc778bb858778b6747" +checksum = "28c122c3980598d243d63d9a704629a2d748d101f278052ff068be5a4423ab6f" [[package]] name = "constant_time_eq" @@ -1724,7 +1725,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -2000,9 +2001,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.102" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f68e12e817cb19eaab81aaec582b4052d07debd3c3c6b083b9d361db47c7dc9d" +checksum = "666a3ec767f4bbaf0dcfcc3b4ea048b90520b254fdf88813e763f4c762636c14" dependencies = [ "cc", "cxxbridge-flags", @@ -2012,9 +2013,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.102" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e789217e4ab7cf8cc9ce82253180a9fe331f35f5d339f0ccfe0270b39433f397" +checksum = "162bec16c4cc28b19e26db0197b60ba5480fdb9a4cbf0f4c6c104a937741b78e" dependencies = [ "cc", "codespan-reporting", @@ -2022,24 +2023,24 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] name = "cxxbridge-flags" -version = "1.0.102" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "78a19f4c80fd9ab6c882286fa865e92e07688f4387370a209508014ead8751d0" +checksum = "d6e8c238aadc4b9f2c00269d04c87abb23f96dd240803872536eed1a304bb40e" [[package]] name = "cxxbridge-macro" -version = "1.0.102" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b8fcfa71f66c8563c4fa9dd2bb68368d50267856f831ac5d85367e0805f9606c" +checksum = "59d9ffb4193dd22180b8d5747b1e095c3d9c9c665ce39b0483a488948f437e06" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -2116,9 +2117,9 @@ dependencies = [ [[package]] name = "der" -version = "0.7.7" +version = "0.7.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c7ed52955ce76b1554f509074bb357d3fb8ac9b51288a65a3fd480d1dfba946" +checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" dependencies = [ "const-oid", "zeroize", @@ -2152,6 +2153,12 @@ dependencies = [ "rusticata-macros", ] +[[package]] +name = "deranged" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929" + [[package]] name = "derivative" version = "2.2.0" @@ -2303,7 +2310,7 @@ checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -2369,7 +2376,7 @@ version = "0.16.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4b1e0c257a9e9f25f90ff76d7a68360ed497ee519c8e428d1825ef0000799d4" dependencies = [ - "der 0.7.7", + "der 0.7.8", "digest 0.10.7", "elliptic-curve 0.13.5", "rfc6979 0.4.0", @@ -2416,9 +2423,9 @@ dependencies = [ [[package]] name = "either" -version = "1.8.1" +version = "1.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fcaabb2fef8c910e7f4c7ce9f67a1283a1715879a7c230ca9d6d1ae31f16d91" +checksum = "a26ae43d7bcc3b814de94796a5e736d4029efb0ee900c12e2d54c993ad1a1e07" [[package]] name = "elliptic-curve" @@ -2496,7 +2503,7 @@ checksum = "5e9a1f9f7d83e59740248a6e14ecf93929ade55027844dfcea78beafccc15745" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -2507,7 +2514,7 @@ checksum = "b893c4eb2dc092c811165f84dc7447fae16fb66521717968c34c509b39b1a5c5" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -2550,9 +2557,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.1" +version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4bcfec3a70f97c962c307b2d2c56e358cf1d00b558d74262b5f929ee8cc7e73a" +checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f" dependencies = [ "errno-dragonfly", "libc", @@ -2768,7 +2775,7 @@ dependencies = [ "fs-err", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -3008,13 +3015,13 @@ dependencies = [ [[package]] name = "filetime" -version = "0.2.21" +version = "0.2.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5cbc844cecaee9d4443931972e1289c8ff485cb4cc2767cb03ca139ed6885153" +checksum = "d4029edd3e734da6fe05b6cd7bd2960760a616bd2ddd0d59a0124746d6272af0" dependencies = [ "cfg-if", "libc", - "redox_syscall 0.2.16", + "redox_syscall 0.3.5", "windows-sys 0.48.0", ] @@ -3054,9 +3061,9 @@ checksum = "0ce7134b9999ecaf8bcd65542e436736ef32ddca1b3e06094cb6ec5755203b80" [[package]] name = "flate2" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" dependencies = [ "crc32fast", "libz-sys", @@ -3280,7 +3287,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -3397,7 +3404,7 @@ dependencies = [ "proc-macro-warning", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -3409,7 +3416,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -3419,7 +3426,7 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -3499,7 +3506,7 @@ version = "0.6.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2eeb4ed9e12f43b7fa0baae3f9cdda28352770132ef2e09a23760c29cae8bd47" dependencies = [ - "rustix 0.38.4", + "rustix 0.38.8", "windows-sys 0.48.0", ] @@ -3569,7 +3576,7 @@ dependencies = [ "futures-io", "memchr", "parking", - "pin-project-lite 0.2.10", + "pin-project-lite 0.2.12", "waker-fn", ] @@ -3581,7 +3588,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -3626,7 +3633,7 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.10", + "pin-project-lite 0.2.12", "pin-utils", "slab", ] @@ -3731,9 +3738,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "globset" -version = "0.4.11" +version = "0.4.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1391ab1f92ffcc08911957149833e682aa3fe252b9f45f966d2ef972274c97df" +checksum = "759c97c1e17c55525b57192c06a267cda0ac5210b222d6b82189a2338fa1c13d" dependencies = [ "aho-corasick", "bstr", @@ -3954,7 +3961,7 @@ checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" dependencies = [ "bytes", "http", - "pin-project-lite 0.2.10", + "pin-project-lite 0.2.12", ] [[package]] @@ -3971,9 +3978,9 @@ checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" [[package]] name = "httpdate" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" +checksum = "df3b46402a9d5adb4c86a0cf463f42e19994e3ee891101b1841f30a545cb49a9" [[package]] name = "humantime" @@ -3997,7 +4004,7 @@ dependencies = [ "httparse", "httpdate", "itoa", - "pin-project-lite 0.2.10", + "pin-project-lite 0.2.12", "socket2 0.4.9", "tokio", "tower-service", @@ -4161,9 +4168,9 @@ dependencies = [ [[package]] name = "indicatif" -version = "0.17.5" +version = "0.17.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ff8cc23a7393a397ed1d7f56e6365cba772aba9f9912ab968b03043c395d057" +checksum = "0b297dc40733f23a0e52728a58fa9489a5b7638a324932de16b41adc3ef80730" dependencies = [ "console", "instant", @@ -4266,7 +4273,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cb0889898416213fab133e1d33a0e5858a48177452750691bde3666d0fdbaf8b" dependencies = [ "hermit-abi 0.3.2", - "rustix 0.38.4", + "rustix 0.38.8", "windows-sys 0.48.0", ] @@ -5145,9 +5152,9 @@ dependencies = [ [[package]] name = "libz-sys" -version = "1.1.9" +version = "1.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56ee889ecc9568871456d42f603d6a0ce59ff328d291063a45cbdf0036baf6db" +checksum = "d97137b25e321a73eef1418d1d5d2eda4d77e12813f8e6dead84bc52c5870a7b" dependencies = [ "cc", "pkg-config", @@ -5201,9 +5208,9 @@ checksum = "ef53942eb7bf7ff43a617b3e2c1c4a5ecf5944a7c1bc12d7ee39bbb15e5c1519" [[package]] name = "linux-raw-sys" -version = "0.4.3" +version = "0.4.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "09fc20d2ca12cb9f044c93e3bd6d32d523e6e2ec3db4f7b2939cd99026ecd3f0" +checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503" [[package]] name = "lock_api" @@ -5217,9 +5224,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.19" +version = "0.4.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b06a4cde4c0f271a446782e3eff8de789548ce57dbc8eca9292c27f4a42004b4" +checksum = "b5e6163cb8c49088c2c36f57875e58ccd8c87c7427f7fbd50ea6710b2f3f2e8f" [[package]] name = "lru" @@ -5758,9 +5765,9 @@ dependencies = [ [[package]] name = "num-complex" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "02e0d21255c828d6f128a1e41534206671e8c3ea0c62f32291e808dc82cff17d" +checksum = "1ba157ca0885411de85d6ca030ba7e2a83a28636056c7c699b07c8b6f7383214" dependencies = [ "num-traits", ] @@ -5854,7 +5861,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -5949,8 +5956,10 @@ dependencies = [ "pallet-balances-adapter", "pallet-base-fee", "pallet-collator-selection", + "pallet-collective", "pallet-common", "pallet-configuration", + "pallet-democracy", "pallet-ethereum", "pallet-evm", "pallet-evm-coder-substrate", @@ -5960,12 +5969,17 @@ dependencies = [ "pallet-evm-transaction-payment", "pallet-foreign-assets", "pallet-fungible", + "pallet-gov-origins", "pallet-identity 4.0.0-dev", "pallet-inflation", "pallet-maintenance", + "pallet-membership", "pallet-nonfungible", "pallet-preimage", + "pallet-ranked-collective", + "pallet-referenda", "pallet-refungible", + "pallet-scheduler", "pallet-session", "pallet-state-trie-migration", "pallet-structure", @@ -6522,6 +6536,7 @@ dependencies = [ "sp-core", "sp-io", "sp-std", + "up-common", "xcm", ] @@ -6803,6 +6818,16 @@ dependencies = [ "up-data-structs", ] +[[package]] +name = "pallet-gov-origins" +version = "0.2.1" +dependencies = [ + "frame-support", + "frame-system", + "parity-scale-codec", + "scale-info", +] + [[package]] name = "pallet-grandpa" version = "4.0.0-dev" @@ -7323,7 +7348,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -7773,7 +7798,7 @@ dependencies = [ "libc", "redox_syscall 0.3.5", "smallvec", - "windows-targets 0.48.1", + "windows-targets 0.48.2", ] [[package]] @@ -7838,9 +7863,9 @@ checksum = "9b2a4787296e9989611394c33f193f676704af1686e70b8f8033ab5ba9a35a94" [[package]] name = "pest" -version = "2.7.1" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0d2d1d55045829d65aad9d389139882ad623b33b904e7c9f1b10c5b8927298e5" +checksum = "1acb4a4365a13f749a93f1a094a7805e5cfa0955373a9de860d962eaa3a5fe5a" dependencies = [ "thiserror", "ucd-trie", @@ -7848,9 +7873,9 @@ dependencies = [ [[package]] name = "pest_derive" -version = "2.7.1" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5f94bca7e7a599d89dea5dfa309e217e7906c3c007fb9c3299c40b10d6a315d3" +checksum = "666d00490d4ac815001da55838c500eafb0320019bbaa44444137c48b443a853" dependencies = [ "pest", "pest_generator", @@ -7858,22 +7883,22 @@ dependencies = [ [[package]] name = "pest_generator" -version = "2.7.1" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99d490fe7e8556575ff6911e45567ab95e71617f43781e5c05490dc8d75c965c" +checksum = "68ca01446f50dbda87c1786af8770d535423fa8a53aec03b8f4e3d7eb10e0929" dependencies = [ "pest", "pest_meta", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] name = "pest_meta" -version = "2.7.1" +version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2674c66ebb4b4d9036012091b537aae5878970d6999f81a265034d85b136b341" +checksum = "56af0a30af74d0445c0bf6d9d051c979b516a1a5af790d251daee76005420a48" dependencies = [ "once_cell", "pest", @@ -7892,22 +7917,22 @@ dependencies = [ [[package]] name = "pin-project" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "030ad2bc4db10a8944cb0d837f158bdfec4d4a4873ab701a95046770d11f8842" +checksum = "fda4ed1c6c173e3fc7a83629421152e01d7b1f9b7f65fb301e490e8cfc656422" dependencies = [ "pin-project-internal", ] [[package]] name = "pin-project-internal" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec2e072ecce94ec471b13398d5402c188e76ac03cf74dd1a975161b23a3f6d9c" +checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -7918,9 +7943,9 @@ checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" [[package]] name = "pin-project-lite" -version = "0.2.10" +version = "0.2.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c40d25201921e5ff0c862a505c6557ea88568a4e3ace775ab55e93f2f4f9d57" +checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05" [[package]] name = "pin-utils" @@ -7944,7 +7969,7 @@ version = "0.10.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" dependencies = [ - "der 0.7.7", + "der 0.7.8", "spki 0.7.2", ] @@ -9150,7 +9175,7 @@ dependencies = [ "concurrent-queue", "libc", "log", - "pin-project-lite 0.2.10", + "pin-project-lite 0.2.12", "windows-sys 0.48.0", ] @@ -9191,9 +9216,9 @@ dependencies = [ [[package]] name = "portable-atomic" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edc55135a600d700580e406b4de0d59cb9ad25e344a3a091a97ded2622ec4ec6" +checksum = "f32154ba0af3a075eefa1eda8bb414ee928f62303a54ea85b8d6638ff1a6ee9e" [[package]] name = "ppv-lite86" @@ -9259,7 +9284,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c64d9ba0963cdcea2e1b2230fbae2bab30eb25a174be395c41e764bfb65dd62" dependencies = [ "proc-macro2", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -9334,7 +9359,7 @@ checksum = "0e99670bafb56b9a106419397343bdbc8b8742c3cc449fec6345f86173f47cd4" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -9374,13 +9399,13 @@ dependencies = [ [[package]] name = "prometheus-client-derive-encode" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "72b6a5217beb0ad503ee7fa752d451c905113d70721b937126158f3106a48cc1" +checksum = "440f724eba9f6996b75d63681b0a92b06947f1457076d503a4d2e2c8f56442b8" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.28", ] [[package]] @@ -9487,8 +9512,10 @@ dependencies = [ "pallet-balances-adapter", "pallet-base-fee", "pallet-collator-selection", + "pallet-collective", "pallet-common", "pallet-configuration", + "pallet-democracy", "pallet-ethereum", "pallet-evm", "pallet-evm-coder-substrate", @@ -9498,12 +9525,17 @@ dependencies = [ "pallet-evm-transaction-payment", "pallet-foreign-assets", "pallet-fungible", + "pallet-gov-origins", "pallet-identity 4.0.0-dev", "pallet-inflation", "pallet-maintenance", + "pallet-membership", "pallet-nonfungible", "pallet-preimage", + "pallet-ranked-collective", + "pallet-referenda", "pallet-refungible", + "pallet-scheduler", "pallet-session", "pallet-state-trie-migration", "pallet-structure", @@ -9588,9 +9620,9 @@ dependencies = [ [[package]] name = "quinn-proto" -version = "0.9.3" +version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "67c10f662eee9c94ddd7135043e544f3c82fa839a1e7b865911331961b53186c" +checksum = "f31999cfc7927c4e212e60fd50934ab40e8e8bfd2d493d6095d2d306bc0764d9" dependencies = [ "bytes", "rand 0.8.5", @@ -9606,9 +9638,9 @@ dependencies = [ [[package]] name = "quote" -version = "1.0.31" +version = "1.0.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fe8a65d69dd0808184ebb5f836ab526bb259db23c657efa38711b1072ee47f0" +checksum = "50f3b39ccfb720540debaa0164757101c08ecb8d326b15358ce76a62c7e85965" dependencies = [ "proc-macro2", ] @@ -9735,7 +9767,7 @@ checksum = "6413f3de1edee53342e6138e75b56d32e7bc6e332b3bd62d497b1929d4cfbcdd" dependencies = [ "pem", "ring", - "time 0.3.23", + "time 0.3.25", "x509-parser 0.13.2", "yasna", ] @@ -9748,7 +9780,7 @@ checksum = "ffbe84efe2f38dea12e9bfc1f65377fdf03e53a18cb3b995faedf7934c7e785b" dependencies = [ "pem", "ring", - "time 0.3.23", + "time 0.3.25", "yasna", ] @@ -9811,7 +9843,7 @@ checksum = "2dfaf0c85b766276c797f3791f5bc6d5bd116b41d53049af2789666b0c0bc9fa" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -9828,13 +9860,13 @@ dependencies = [ [[package]] name = "regex" -version = "1.9.1" +version = "1.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2eae68fc220f7cf2532e4494aded17545fce192d59cd996e0fe7887f4ceb575" +checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.3.3", + "regex-automata 0.3.6", "regex-syntax 0.7.4", ] @@ -9849,9 +9881,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.3.3" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "39354c10dd07468c2e73926b23bb9c2caca74c5501e38a35da70406f1d923310" +checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69" dependencies = [ "aho-corasick", "memchr", @@ -10185,14 +10217,14 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.4" +version = "0.38.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0a962918ea88d644592894bc6dc55acc6c0956488adcebbfb6e273506b7fd6e5" +checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f" dependencies = [ - "bitflags 2.3.3", + "bitflags 2.4.0", "errno", "libc", - "linux-raw-sys 0.4.3", + "linux-raw-sys 0.4.5", "windows-sys 0.48.0", ] @@ -10388,7 +10420,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -11391,7 +11423,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -11579,7 +11611,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" dependencies = [ "base16ct 0.2.0", - "der 0.7.7", + "der 0.7.8", "generic-array 0.14.7", "pkcs8 0.10.2", "subtle", @@ -11615,9 +11647,9 @@ dependencies = [ [[package]] name = "security-framework" -version = "2.9.1" +version = "2.9.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fc758eb7bffce5b308734e9b0c1468893cae9ff70ebf13e7090be8dcbcc83a8" +checksum = "05b64fb303737d99b81884b2c63433e9ae28abebe5eb5045dcdd175dc2ecf4de" dependencies = [ "bitflags 1.3.2", "core-foundation", @@ -11628,9 +11660,9 @@ dependencies = [ [[package]] name = "security-framework-sys" -version = "2.9.0" +version = "2.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f51d0c0d83bec45f16480d0ce0058397a69e48fcdc52d1dc8855fb68acbd31a7" +checksum = "e932934257d3b408ed8f30db49d85ea163bfe74961f017f405b025af298f0c7a" dependencies = [ "core-foundation-sys", "libc", @@ -11662,29 +11694,29 @@ checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" [[package]] name = "serde" -version = "1.0.174" +version = "1.0.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b88756493a5bd5e5395d53baa70b194b05764ab85b59e43e4b8f4e1192fa9b1" +checksum = "32ac8da02677876d532745a130fc9d8e6edfa81a269b107c5b00829b91d8eb3c" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.174" +version = "1.0.183" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e5c3a298c7f978e53536f95a63bdc4c4a64550582f31a0359a9afda6aede62e" +checksum = "aafe972d60b0b9bee71a91b92fee2d4fb3c9d7e8f6b179aa99f27203d99a4816" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] name = "serde_json" -version = "1.0.103" +version = "1.0.105" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d03b412469450d4404fe8499a268edd7f8b79fecb074b0d812ad64ca21f4031b" +checksum = "693151e1ac27563d6dbcec9dee9fbd5da8539b20fa14ad3752b2e6d363ace360" dependencies = [ "itoa", "ryu", @@ -11985,7 +12017,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -12227,7 +12259,7 @@ dependencies = [ "proc-macro2", "quote", "sp-core-hashing", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -12246,7 +12278,7 @@ source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -12457,7 +12489,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -12643,7 +12675,7 @@ dependencies = [ "parity-scale-codec", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -12683,7 +12715,7 @@ checksum = "c87e960f4dca2788eeb86bbdde8dd246be8948790b7618d656e68f9b720a86e8" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -12720,14 +12752,14 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d1e996ef02c474957d681f1b05213dfb0abab947b446a62d37770b23500184a" dependencies = [ "base64ct", - "der 0.7.7", + "der 0.7.8", ] [[package]] name = "ss58-registry" -version = "1.41.0" +version = "1.42.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bfc443bad666016e012538782d9e3006213a7db43e9fb1dda91657dc06a6fa08" +checksum = "14782ef66f16396bc977f43c89b36f2c7b58357a2cc0bf58a09627542c13c379" dependencies = [ "Inflector", "num-format", @@ -12960,7 +12992,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -13008,9 +13040,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.27" +version = "2.0.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b60f673f44a8255b9c8c657daf66a596d435f2da81a555b06dc644d080ba45e0" +checksum = "04361975b3f5e348b2189d8dc55bc942f278b2d482a6a0365de5bdd62d351567" dependencies = [ "proc-macro2", "quote", @@ -13058,20 +13090,20 @@ checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369" [[package]] name = "target-lexicon" -version = "0.12.10" +version = "0.12.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d2faeef5759ab89935255b1a4cd98e0baf99d1085e37d36599c625dac49ae8e" +checksum = "9d0e916b1148c8e263850e1ebcbd046f333e0683c724876bb0da63ea4373dc8a" [[package]] name = "tempfile" -version = "3.7.0" +version = "3.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5486094ee78b2e5038a6382ed7645bc084dc2ec433426ca4c3cb61e2007b8998" +checksum = "dc02fddf48964c42031a0b3fe0428320ecf3a73c401040fc0096f97794310651" dependencies = [ "cfg-if", "fastrand 2.0.0", "redox_syscall 0.3.5", - "rustix 0.38.4", + "rustix 0.38.8", "windows-sys 0.48.0", ] @@ -13124,22 +13156,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.44" +version = "1.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "611040a08a0439f8248d1990b111c95baa9c704c805fa1f62104b39655fd7f90" +checksum = "d9207952ae1a003f42d3d5e892dac3c6ba42aa6ac0c79a6a91a2b5cb4253e75c" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.44" +version = "1.0.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" +checksum = "f1728216d3244de4f14f14f8c15c79be1a7c67867d28d69b719690e2a19fb445" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -13182,9 +13214,9 @@ dependencies = [ [[package]] name = "tikv-jemalloc-ctl" -version = "0.5.0" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e37706572f4b151dff7a0146e040804e9c26fe3a3118591112f05cf12a4216c1" +checksum = "619bfed27d807b54f7f776b9430d4f8060e66ee138a28632ca898584d462c31c" dependencies = [ "libc", "paste", @@ -13193,9 +13225,9 @@ dependencies = [ [[package]] name = "tikv-jemalloc-sys" -version = "0.5.3+5.3.0-patched" +version = "0.5.4+5.3.0-patched" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a678df20055b43e57ef8cddde41cdfda9a3c1a060b67f4c5836dfb1d78543ba8" +checksum = "9402443cb8fd499b6f327e40565234ff34dbda27460c5b47db0db77443dd85d1" dependencies = [ "cc", "libc", @@ -13214,10 +13246,11 @@ dependencies = [ [[package]] name = "time" -version = "0.3.23" +version = "0.3.25" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59e399c068f43a5d116fedaf73b203fa4f9c519f17e2b34f63221d3792f81446" +checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea" dependencies = [ + "deranged", "itoa", "serde", "time-core", @@ -13232,9 +13265,9 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.10" +version = "0.2.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "96ba15a897f3c86766b757e5ac7221554c6750054d74d5b28844fce5fb36a6c4" +checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" dependencies = [ "time-core", ] @@ -13294,20 +13327,19 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20" [[package]] name = "tokio" -version = "1.29.1" +version = "1.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "532826ff75199d5833b9d2c5fe410f29235e25704ee5f0ef599fb51c21f4a4da" +checksum = "40de3a2ba249dcb097e01be5e67a5ff53cf250397715a071a81543e8a832a920" dependencies = [ - "autocfg", "backtrace", "bytes", "libc", "mio", "num_cpus", "parking_lot 0.12.1", - "pin-project-lite 0.2.10", + "pin-project-lite 0.2.12", "signal-hook-registry", - "socket2 0.4.9", + "socket2 0.5.3", "tokio-macros", "windows-sys 0.48.0", ] @@ -13320,7 +13352,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -13352,7 +13384,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842" dependencies = [ "futures-core", - "pin-project-lite 0.2.10", + "pin-project-lite 0.2.12", "tokio", "tokio-util", ] @@ -13367,7 +13399,7 @@ dependencies = [ "futures-core", "futures-io", "futures-sink", - "pin-project-lite 0.2.10", + "pin-project-lite 0.2.12", "tokio", "tracing", ] @@ -13432,14 +13464,14 @@ version = "0.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "55ae70283aba8d2a8b411c695c437fe25b8b5e44e23e780662002fc72fb47a82" dependencies = [ - "bitflags 2.3.3", + "bitflags 2.4.0", "bytes", "futures-core", "futures-util", "http", "http-body", "http-range-header", - "pin-project-lite 0.2.10", + "pin-project-lite 0.2.12", "tower-layer", "tower-service", ] @@ -13464,7 +13496,7 @@ checksum = "8ce8c33a8d48bd45d624a6e523445fd21ec13d3653cd51f681abf67418f54eb8" dependencies = [ "cfg-if", "log", - "pin-project-lite 0.2.10", + "pin-project-lite 0.2.12", "tracing-attributes", "tracing-core", ] @@ -13477,7 +13509,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -13520,7 +13552,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -13981,8 +14013,10 @@ dependencies = [ "pallet-balances-adapter", "pallet-base-fee", "pallet-collator-selection", + "pallet-collective", "pallet-common", "pallet-configuration", + "pallet-democracy", "pallet-ethereum", "pallet-evm", "pallet-evm-coder-substrate", @@ -13992,12 +14026,17 @@ dependencies = [ "pallet-evm-transaction-payment", "pallet-foreign-assets", "pallet-fungible", + "pallet-gov-origins", "pallet-identity 4.0.0-dev", "pallet-inflation", "pallet-maintenance", + "pallet-membership", "pallet-nonfungible", "pallet-preimage", + "pallet-ranked-collective", + "pallet-referenda", "pallet-refungible", + "pallet-scheduler", "pallet-session", "pallet-state-trie-migration", "pallet-structure", @@ -14269,7 +14308,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", "wasm-bindgen-shared", ] @@ -14303,7 +14342,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -14681,7 +14720,7 @@ dependencies = [ "sha2 0.10.7", "stun", "thiserror", - "time 0.3.23", + "time 0.3.25", "tokio", "turn", "url", @@ -15048,7 +15087,7 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e686886bc078bc1b0b600cac0147aadb815089b6e4da64016cbd754b6342700f" dependencies = [ - "windows-targets 0.48.1", + "windows-targets 0.48.2", ] [[package]] @@ -15066,7 +15105,7 @@ version = "0.48.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9" dependencies = [ - "windows-targets 0.48.1", + "windows-targets 0.48.2", ] [[package]] @@ -15086,17 +15125,17 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.48.1" +version = "0.48.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05d4b17490f70499f20b9e791dcf6a299785ce8af4d709018206dc5b4953e95f" +checksum = "d1eeca1c172a285ee6c2c84c341ccea837e7c01b12fbb2d0fe3c9e550ce49ec8" dependencies = [ - "windows_aarch64_gnullvm 0.48.0", - "windows_aarch64_msvc 0.48.0", - "windows_i686_gnu 0.48.0", - "windows_i686_msvc 0.48.0", - "windows_x86_64_gnu 0.48.0", - "windows_x86_64_gnullvm 0.48.0", - "windows_x86_64_msvc 0.48.0", + "windows_aarch64_gnullvm 0.48.2", + "windows_aarch64_msvc 0.48.2", + "windows_i686_gnu 0.48.2", + "windows_i686_msvc 0.48.2", + "windows_x86_64_gnu 0.48.2", + "windows_x86_64_gnullvm 0.48.2", + "windows_x86_64_msvc 0.48.2", ] [[package]] @@ -15107,9 +15146,9 @@ checksum = "597a5118570b68bc08d8d59125332c54f1ba9d9adeedeef5b99b02ba2b0698f8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.48.0" +version = "0.48.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "91ae572e1b79dba883e0d315474df7305d12f569b400fcf90581b06062f7e1bc" +checksum = "b10d0c968ba7f6166195e13d593af609ec2e3d24f916f081690695cf5eaffb2f" [[package]] name = "windows_aarch64_msvc" @@ -15125,9 +15164,9 @@ checksum = "e08e8864a60f06ef0d0ff4ba04124db8b0fb3be5776a5cd47641e942e58c4d43" [[package]] name = "windows_aarch64_msvc" -version = "0.48.0" +version = "0.48.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b2ef27e0d7bdfcfc7b868b317c1d32c641a6fe4629c171b8928c7b08d98d7cf3" +checksum = "571d8d4e62f26d4932099a9efe89660e8bd5087775a2ab5cdd8b747b811f1058" [[package]] name = "windows_i686_gnu" @@ -15143,9 +15182,9 @@ checksum = "c61d927d8da41da96a81f029489353e68739737d3beca43145c8afec9a31a84f" [[package]] name = "windows_i686_gnu" -version = "0.48.0" +version = "0.48.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "622a1962a7db830d6fd0a69683c80a18fda201879f0f447f065a3b7467daa241" +checksum = "2229ad223e178db5fbbc8bd8d3835e51e566b8474bfca58d2e6150c48bb723cd" [[package]] name = "windows_i686_msvc" @@ -15161,9 +15200,9 @@ checksum = "44d840b6ec649f480a41c8d80f9c65108b92d89345dd94027bfe06ac444d1060" [[package]] name = "windows_i686_msvc" -version = "0.48.0" +version = "0.48.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4542c6e364ce21bf45d69fdd2a8e455fa38d316158cfd43b3ac1c5b1b19f8e00" +checksum = "600956e2d840c194eedfc5d18f8242bc2e17c7775b6684488af3a9fff6fe3287" [[package]] name = "windows_x86_64_gnu" @@ -15179,9 +15218,9 @@ checksum = "8de912b8b8feb55c064867cf047dda097f92d51efad5b491dfb98f6bbb70cb36" [[package]] name = "windows_x86_64_gnu" -version = "0.48.0" +version = "0.48.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ca2b8a661f7628cbd23440e50b05d705db3686f894fc9580820623656af974b1" +checksum = "ea99ff3f8b49fb7a8e0d305e5aec485bd068c2ba691b6e277d29eaeac945868a" [[package]] name = "windows_x86_64_gnullvm" @@ -15191,9 +15230,9 @@ checksum = "26d41b46a36d453748aedef1486d5c7a85db22e56aff34643984ea85514e94a3" [[package]] name = "windows_x86_64_gnullvm" -version = "0.48.0" +version = "0.48.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7896dbc1f41e08872e9d5e8f8baa8fdd2677f29468c4e156210174edc7f7b953" +checksum = "8f1a05a1ece9a7a0d5a7ccf30ba2c33e3a61a30e042ffd247567d1de1d94120d" [[package]] name = "windows_x86_64_msvc" @@ -15209,15 +15248,15 @@ checksum = "9aec5da331524158c6d1a4ac0ab1541149c0b9505fde06423b02f5ef0106b9f0" [[package]] name = "windows_x86_64_msvc" -version = "0.48.0" +version = "0.48.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a515f5799fe4961cb532f983ce2b23082366b898e52ffbce459c86f67c8378a" +checksum = "d419259aba16b663966e29e6d7c6ecfa0bb8425818bb96f6f1f3c3eb71a6e7b9" [[package]] name = "winnow" -version = "0.5.0" +version = "0.5.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81fac9742fd1ad1bd9643b991319f72dd031016d44b77039a26977eb667141e7" +checksum = "1e461589e194280efaa97236b73623445efa195aa633fd7004f39805707a9d53" dependencies = [ "memchr", ] @@ -15279,7 +15318,7 @@ dependencies = [ "ring", "rusticata-macros", "thiserror", - "time 0.3.23", + "time 0.3.25", ] [[package]] @@ -15297,7 +15336,7 @@ dependencies = [ "oid-registry 0.6.1", "rusticata-macros", "thiserror", - "time 0.3.23", + "time 0.3.25", ] [[package]] @@ -15366,7 +15405,7 @@ dependencies = [ "Inflector", "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] @@ -15389,7 +15428,7 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e17bb3549cc1321ae1296b9cdc2698e2b6cb1992adfa19a8c72e5b7a738f44cd" dependencies = [ - "time 0.3.23", + "time 0.3.25", ] [[package]] @@ -15409,7 +15448,7 @@ checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", "quote", - "syn 2.0.27", + "syn 2.0.28", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index db74eeae2f..8290ceac74 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -27,7 +27,9 @@ opt-level = 3 [workspace.dependencies] # Unique app-promotion-rpc = { path = "primitives/app_promotion_rpc", default-features = false } -evm-coder = { git = "https://github.com/uniquenetwork/evm-coder", tag = "v0.3.6", default-features = false, features = ['bondrewd'] } +evm-coder = { git = "https://github.com/uniquenetwork/evm-coder", tag = "v0.3.6", default-features = false, features = [ + 'bondrewd', +] } pallet-app-promotion = { path = "pallets/app-promotion", default-features = false } pallet-balances-adapter = { default-features = false, path = "pallets/balances-adapter" } pallet-charge-transaction = { package = "pallet-template-transaction-payment", default-features = false, git = "https://github.com/uniquenetwork/pallet-sponsoring", branch = "polkadot-v0.9.43" } @@ -40,6 +42,7 @@ pallet-evm-migration = { path = "pallets/evm-migration", default-features = fals pallet-evm-transaction-payment = { path = "pallets/evm-transaction-payment", default-features = false } pallet-foreign-assets = { default-features = false, path = "pallets/foreign-assets" } pallet-fungible = { default-features = false, path = "pallets/fungible" } +pallet-gov-origins = { default-features = false, path = "pallets/gov-origins" } pallet-identity = { default-features = false, path = "pallets/identity" } pallet-inflation = { path = "pallets/inflation", default-features = false } pallet-maintenance = { default-features = false, path = "pallets/maintenance" } @@ -105,7 +108,13 @@ frame-system-rpc-runtime-api = { default-features = false, git = "https://github pallet-aura = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" } pallet-authorship = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" } pallet-balances = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" } +pallet-collective = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" } +pallet-democracy = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" } +pallet-membership = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" } pallet-preimage = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" } +pallet-ranked-collective = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" } +pallet-referenda = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" } +pallet-scheduler = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" } pallet-session = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" } pallet-state-trie-migration = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" } pallet-sudo = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" } @@ -116,6 +125,7 @@ pallet-transaction-payment-rpc-runtime-api = { default-features = false, git = " pallet-treasury = { default-features = false, git = "https://github.com/paritytech/substrate", branch = "polkadot-v0.9.43" } pallet-xcm = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.43", default-features = false } parachain-info = { default-features = false, git = "https://github.com/paritytech/cumulus", branch = "polkadot-v0.9.43" } +parity-scale-codec = { version = "3.2.2", features = ["derive"], default-features = false } polkadot-cli = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.43" } polkadot-parachain = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.43", default-features = false } polkadot-primitives = { git = "https://github.com/paritytech/polkadot", branch = "release-v0.9.43" } diff --git a/launch-config.json b/launch-config.json index 74ab6350d8..2cd5d5ac32 100644 --- a/launch-config.json +++ b/launch-config.json @@ -151,4 +151,4 @@ "simpleParachains": [], "hrmpChannels": [], "finalization": false -} +} \ No newline at end of file diff --git a/node/cli/src/chain_spec.rs b/node/cli/src/chain_spec.rs index 85b7554d89..118ae65e7f 100644 --- a/node/cli/src/chain_spec.rs +++ b/node/cli/src/chain_spec.rs @@ -175,6 +175,7 @@ macro_rules! testnet_genesis { sudo: SudoConfig { key: Some($root_key), }, + vesting: VestingConfig { vesting: vec![] }, parachain_info: ParachainInfoConfig { parachain_id: $id.into(), @@ -207,6 +208,7 @@ macro_rules! testnet_genesis { ethereum: EthereumConfig {}, polkadot_xcm: Default::default(), transaction_payment: Default::default(), + ..Default::default() } }}; } diff --git a/pallets/configuration/Cargo.toml b/pallets/configuration/Cargo.toml index 985c155c2d..0648c2716a 100644 --- a/pallets/configuration/Cargo.toml +++ b/pallets/configuration/Cargo.toml @@ -15,8 +15,9 @@ scale-info = { workspace = true } smallvec = { workspace = true } sp-arithmetic = { workspace = true } sp-core = { workspace = true } -sp-std = { workspace = true } sp-io = { workspace = true } +sp-std = { workspace = true } +up-common = { workspace = true } xcm = { workspace = true } hex-literal = { workspace = true } diff --git a/pallets/configuration/src/lib.rs b/pallets/configuration/src/lib.rs index 14b8cbdc95..f1c3a88a78 100644 --- a/pallets/configuration/src/lib.rs +++ b/pallets/configuration/src/lib.rs @@ -60,6 +60,7 @@ mod pallet { type Balance: Parameter + Member + AtLeast32BitUnsigned + + From + Codec + Default + Copy diff --git a/pallets/gov-origins/Cargo.toml b/pallets/gov-origins/Cargo.toml new file mode 100644 index 0000000000..48b669582b --- /dev/null +++ b/pallets/gov-origins/Cargo.toml @@ -0,0 +1,32 @@ +################################################################################ +# Package + +[package] +authors = ['Unique Network '] +description = 'Unique App Governance Origins Pallet' +edition = '2021' +homepage = 'https://unique.network' +license = 'GPLv3' +name = 'pallet-gov-origins' +repository = 'https://github.com/UniqueNetwork/unique-chain' +version = '0.2.1' + +[package.metadata.docs.rs] +targets = ['x86_64-unknown-linux-gnu'] + +[features] +default = ['std'] +std = ['frame-support/std', 'frame-system/std', 'parity-scale-codec/std'] +try-runtime = ["frame-support/try-runtime"] + +[dependencies] +################################################################################ +# Substrate Dependencies + +# Note: `package = "parity-scale-codec"` must be supplied since the `Encode` macro searches for it. +parity-scale-codec = { workspace = true } + +scale-info = { workspace = true } + +frame-support = { workspace = true } +frame-system = { workspace = true } diff --git a/pallets/gov-origins/src/lib.rs b/pallets/gov-origins/src/lib.rs new file mode 100644 index 0000000000..c0d857936f --- /dev/null +++ b/pallets/gov-origins/src/lib.rs @@ -0,0 +1,38 @@ +// Copyright 2019-2023 Unique Network (Gibraltar) Ltd. +// This file is part of Unique Network. + +// Unique Network is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Unique Network is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Unique Network. If not, see . + +#![cfg_attr(not(feature = "std"), no_std)] + +use frame_support::pallet_prelude::*; + +pub use pallet::*; + +#[frame_support::pallet] +pub mod pallet { + use super::*; + #[pallet::config] + pub trait Config: frame_system::Config {} + + #[pallet::pallet] + pub struct Pallet(_); + + #[derive(PartialEq, Eq, Clone, MaxEncodedLen, Encode, Decode, TypeInfo, RuntimeDebug)] + #[pallet::origin] + pub enum Origin { + /// Origin able to send proposal from fellowship collective to democracy pallet. + FellowshipProposition, + } +} diff --git a/pallets/maintenance/src/lib.rs b/pallets/maintenance/src/lib.rs index e86ca882c8..f34caabe80 100644 --- a/pallets/maintenance/src/lib.rs +++ b/pallets/maintenance/src/lib.rs @@ -25,10 +25,9 @@ pub mod weights; #[frame_support::pallet] pub mod pallet { + use frame_support::{dispatch::*, pallet_prelude::*}; - use frame_support::{ - traits::{QueryPreimage, StorePreimage}, - }; + use frame_support::traits::{QueryPreimage, StorePreimage, EnsureOrigin}; use frame_system::pallet_prelude::*; use sp_core::H256; @@ -39,21 +38,21 @@ pub mod pallet { /// The overarching event type. type RuntimeEvent: From> + IsType<::RuntimeEvent>; - /// The runtime origin type. - type RuntimeOrigin: From> - + IsType<::RuntimeOrigin>; - /// The aggregated call type. type RuntimeCall: Parameter - + Dispatchable< - RuntimeOrigin = ::RuntimeOrigin, - PostInfo = PostDispatchInfo, - > + GetDispatchInfo + + Dispatchable + + GetDispatchInfo + From>; /// The preimage provider with which we look up call hashes to get the call. type Preimages: QueryPreimage + StorePreimage; + /// The Origin that has the right to enable or disable the maintenance mode. + type ManagerOrigin: EnsureOrigin<::RuntimeOrigin>; + + /// The Origin that has the right to execute preimage. + type PreimageOrigin: EnsureOrigin<::RuntimeOrigin>; + /// Weight information for extrinsics in this pallet. type WeightInfo: WeightInfo; } @@ -80,7 +79,7 @@ pub mod pallet { #[pallet::call_index(0)] #[pallet::weight(::WeightInfo::enable())] pub fn enable(origin: OriginFor) -> DispatchResult { - ensure_root(origin)?; + T::ManagerOrigin::ensure_origin(origin)?; >::set(true); @@ -92,7 +91,7 @@ pub mod pallet { #[pallet::call_index(1)] #[pallet::weight(::WeightInfo::disable())] pub fn disable(origin: OriginFor) -> DispatchResult { - ensure_root(origin)?; + T::ManagerOrigin::ensure_origin(origin)?; >::set(false); @@ -114,7 +113,7 @@ pub mod pallet { ) -> DispatchResultWithPostInfo { use codec::Decode; - ensure_root(origin)?; + T::PreimageOrigin::ensure_origin(origin.clone())?; let data = T::Preimages::fetch(&hash, None)?; weight_bound.set_proof_size( @@ -136,7 +135,7 @@ pub mod pallet { DispatchError::Exhausted ); - match call.dispatch(frame_system::RawOrigin::Root.into()) { + match call.dispatch(origin) { Ok(_) => Ok(Pays::No.into()), Err(error_and_info) => Err(DispatchErrorWithPostInfo { post_info: Pays::No.into(), diff --git a/pallets/unique/src/eth/mod.rs b/pallets/unique/src/eth/mod.rs index be2647ecdb..ac090368fa 100644 --- a/pallets/unique/src/eth/mod.rs +++ b/pallets/unique/src/eth/mod.rs @@ -139,116 +139,116 @@ where T: Config + pallet_common::Config + pallet_nonfungible::Config + pallet_refungible::Config, T::AccountId: From<[u8; 32]>, { -/* - /// Create a collection - /// @return address Address of the newly created collection - #[weight(>::create_collection())] - #[solidity(rename_selector = "createCollection")] - fn create_collection( - &mut self, - caller: Caller, - value: Value, - data: eth::CreateCollectionData, - ) -> Result
{ - let (caller, name, description, token_prefix) = - convert_data::(caller, data.name, data.description, data.token_prefix)?; - if data.mode != eth::CollectionMode::Fungible && data.decimals != 0 { - return Err("decimals are only supported for NFT and RFT collections".into()); - } - let mode = match data.mode { - eth::CollectionMode::Fungible => CollectionMode::Fungible(data.decimals), - eth::CollectionMode::Nonfungible => CollectionMode::NFT, - eth::CollectionMode::Refungible => CollectionMode::ReFungible, - }; - - let properties: BoundedVec<_, _> = data - .properties - .into_iter() - .map(eth::Property::try_into) - .collect::>>()? - .try_into() - .map_err(|_| "too many properties")?; - - let token_property_permissions = - eth::TokenPropertyPermission::into_property_key_permissions( - data.token_property_permissions, - )? - .try_into() - .map_err(|_| "too many property permissions")?; - - let limits = if !data.limits.is_empty() { - Some( - data.limits - .into_iter() - .collect::>()?, - ) - } else { - None - }; - - let pending_sponsor = data.pending_sponsor.into_option_sub_cross_account::()?; - - let restricted = if !data.nesting_settings.restricted.is_empty() { - Some( - data.nesting_settings - .restricted - .iter() - .map(map_eth_to_id) - .collect::>>() - .ok_or("can't convert address into collection id")? - .try_into() - .map_err(|_| "too many collections")?, - ) - } else { - None - }; - - let admin_list = data - .admin_list - .into_iter() - .map(|admin| admin.into_sub_cross_account::()) - .collect::>>()?; - - let flags = data.flags; - if !flags.is_allowed_for_user() { - return Err("internal flags were used".into()); - } - - let data = CreateCollectionData { - name, - mode, - description, - token_prefix, - properties, - token_property_permissions, - limits, - pending_sponsor, - access: None, - permissions: Some(CollectionPermissions { + /* + /// Create a collection + /// @return address Address of the newly created collection + #[weight(>::create_collection())] + #[solidity(rename_selector = "createCollection")] + fn create_collection( + &mut self, + caller: Caller, + value: Value, + data: eth::CreateCollectionData, + ) -> Result
{ + let (caller, name, description, token_prefix) = + convert_data::(caller, data.name, data.description, data.token_prefix)?; + if data.mode != eth::CollectionMode::Fungible && data.decimals != 0 { + return Err("decimals are only supported for NFT and RFT collections".into()); + } + let mode = match data.mode { + eth::CollectionMode::Fungible => CollectionMode::Fungible(data.decimals), + eth::CollectionMode::Nonfungible => CollectionMode::NFT, + eth::CollectionMode::Refungible => CollectionMode::ReFungible, + }; + + let properties: BoundedVec<_, _> = data + .properties + .into_iter() + .map(eth::Property::try_into) + .collect::>>()? + .try_into() + .map_err(|_| "too many properties")?; + + let token_property_permissions = + eth::TokenPropertyPermission::into_property_key_permissions( + data.token_property_permissions, + )? + .try_into() + .map_err(|_| "too many property permissions")?; + + let limits = if !data.limits.is_empty() { + Some( + data.limits + .into_iter() + .collect::>()?, + ) + } else { + None + }; + + let pending_sponsor = data.pending_sponsor.into_option_sub_cross_account::()?; + + let restricted = if !data.nesting_settings.restricted.is_empty() { + Some( + data.nesting_settings + .restricted + .iter() + .map(map_eth_to_id) + .collect::>>() + .ok_or("can't convert address into collection id")? + .try_into() + .map_err(|_| "too many collections")?, + ) + } else { + None + }; + + let admin_list = data + .admin_list + .into_iter() + .map(|admin| admin.into_sub_cross_account::()) + .collect::>>()?; + + let flags = data.flags; + if !flags.is_allowed_for_user() { + return Err("internal flags were used".into()); + } + + let data = CreateCollectionData { + name, + mode, + description, + token_prefix, + properties, + token_property_permissions, + limits, + pending_sponsor, access: None, - mint_mode: None, - nesting: Some(NestingPermissions { - token_owner: data.nesting_settings.token_owner, - collection_admin: data.nesting_settings.collection_admin, - restricted, - #[cfg(feature = "runtime-benchmarks")] - permissive: true, + permissions: Some(CollectionPermissions { + access: None, + mint_mode: None, + nesting: Some(NestingPermissions { + token_owner: data.nesting_settings.token_owner, + collection_admin: data.nesting_settings.collection_admin, + restricted, + #[cfg(feature = "runtime-benchmarks")] + permissive: true, + }), }), - }), - admin_list, - flags, - }; - check_sent_amount_equals_collection_creation_price::(value)?; - let collection_helpers_address = - T::CrossAccountId::from_eth(::ContractAddress::get()); - - let collection_id = T::CollectionDispatch::create(caller, collection_helpers_address, data) - .map_err(dispatch_to_evm::)?; - - let address = pallet_common::eth::collection_id_to_address(collection_id); - Ok(address) - } -*/ + admin_list, + flags, + }; + check_sent_amount_equals_collection_creation_price::(value)?; + let collection_helpers_address = + T::CrossAccountId::from_eth(::ContractAddress::get()); + + let collection_id = T::CollectionDispatch::create(caller, collection_helpers_address, data) + .map_err(dispatch_to_evm::)?; + + let address = pallet_common::eth::collection_id_to_address(collection_id); + Ok(address) + } + */ /// Create an NFT collection /// @param name Name of the collection diff --git a/runtime/common/config/mod.rs b/runtime/common/config/mod.rs index 7a34bb10c8..3a4b83cdf6 100644 --- a/runtime/common/config/mod.rs +++ b/runtime/common/config/mod.rs @@ -22,5 +22,5 @@ pub mod sponsoring; pub mod substrate; pub mod xcm; -#[cfg(feature = "pallet-test-utils")] +#[cfg(feature = "test-env")] pub mod test_pallets; diff --git a/runtime/common/config/pallets/collator_selection.rs b/runtime/common/config/pallets/collator_selection.rs index b4c9b41175..47a4485b0f 100644 --- a/runtime/common/config/pallets/collator_selection.rs +++ b/runtime/common/config/pallets/collator_selection.rs @@ -15,12 +15,18 @@ // along with Unique Network. If not, see . use frame_support::{parameter_types, PalletId}; -use frame_system::EnsureRoot; use crate::{ - AccountId, Balance, Balances, BlockNumber, Runtime, RuntimeEvent, Aura, Session, SessionKeys, + Balance, Balances, BlockNumber, Runtime, RuntimeEvent, Aura, Session, SessionKeys, CollatorSelection, Treasury, config::pallets::{MaxCollators, SessionPeriod, TreasuryAccountId}, }; + +#[cfg(feature = "governance")] +use crate::config::pallets::governance; + +#[cfg(not(feature = "governance"))] +use frame_system::EnsureRoot; + use sp_runtime::Perbill; use up_common::constants::{UNIQUE, MILLIUNIQUE}; use pallet_configuration::{ @@ -77,8 +83,19 @@ impl pallet_identity::Config for Runtime { type MaxRegistrars = MaxRegistrars; type MaxSubAccounts = MaxSubAccounts; type SubAccountDeposit = SubAccountDeposit; + + #[cfg(feature = "governance")] + type RegistrarOrigin = governance::RootOrAllTechnicalCommittee; + + #[cfg(feature = "governance")] + type ForceOrigin = governance::RootOrAllTechnicalCommittee; + + #[cfg(not(feature = "governance"))] type RegistrarOrigin = EnsureRoot<::AccountId>; + + #[cfg(not(feature = "governance"))] type ForceOrigin = EnsureRoot<::AccountId>; + type Slashed = Treasury; type WeightInfo = pallet_identity::weights::SubstrateWeight; } @@ -92,7 +109,17 @@ impl pallet_collator_selection::Config for Runtime { type RuntimeEvent = RuntimeEvent; type Currency = Balances; // We allow root only to execute privileged collator selection operations. - type UpdateOrigin = EnsureRoot; + + // We allow root or the unanimous technical committee + // to execute privileged collator selection operations. + #[cfg(feature = "governance")] + type UpdateOrigin = governance::RootOrAllTechnicalCommittee; + + // If there is no governance, + // we allow root only to execute privileged collator selection operations. + #[cfg(not(feature = "governance"))] + type UpdateOrigin = EnsureRoot<::AccountId>; + type TreasuryAccountId = TreasuryAccountId; type PotId = PotId; type MaxCollators = MaxCollators; diff --git a/runtime/common/config/pallets/governance/council.rs b/runtime/common/config/pallets/governance/council.rs new file mode 100644 index 0000000000..4a22e878ce --- /dev/null +++ b/runtime/common/config/pallets/governance/council.rs @@ -0,0 +1,71 @@ +use super::*; + +parameter_types! { + pub CouncilMaxProposals: u32 = 100; + pub CouncilMaxMembers: u32 = 100; +} + +#[cfg(not(feature = "test-env"))] +use crate::governance_timings::council as council_timings; + +#[cfg(feature = "test-env")] +pub mod council_timings { + use super::*; + + parameter_types! { + pub CouncilMotionDuration: BlockNumber = 35; + } +} + +pub type CouncilCollective = pallet_collective::Instance1; +impl pallet_collective::Config for Runtime { + type RuntimeOrigin = RuntimeOrigin; + type Proposal = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type MotionDuration = council_timings::CouncilMotionDuration; + type MaxProposals = CouncilMaxProposals; + type MaxMembers = CouncilMaxMembers; + type DefaultVote = pallet_collective::PrimeDefaultVote; + type WeightInfo = pallet_collective::weights::SubstrateWeight; + type SetMembersOrigin = EnsureRoot; + type MaxProposalWeight = MaxCollectivesProposalWeight; +} + +pub type CouncilCollectiveMembership = pallet_membership::Instance1; +impl pallet_membership::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type AddOrigin = EnsureRoot; + type RemoveOrigin = EnsureRoot; + type SwapOrigin = EnsureRoot; + type ResetOrigin = EnsureRoot; + type PrimeOrigin = EnsureRoot; + type MembershipInitialized = Council; + type MembershipChanged = Council; + type MaxMembers = CouncilMaxMembers; + type WeightInfo = pallet_membership::weights::SubstrateWeight; +} + +pub type CouncilMember = pallet_collective::EnsureMember; + +pub type OneThirdsCouncil = + pallet_collective::EnsureProportionAtLeast; + +pub type HalfCouncil = + pallet_collective::EnsureProportionAtLeast; + +pub type MoreThanHalfCouncil = + pallet_collective::EnsureProportionMoreThan; + +pub type ThreeFourthsCouncil = EnsureProportionAtLeast; + +pub type AllCouncil = EnsureProportionAtLeast; + +pub type RootOrOneThirdsCouncil = EitherOfDiverse, OneThirdsCouncil>; + +pub type RootOrHalfCouncil = EitherOfDiverse, HalfCouncil>; + +pub type RootOrMoreThanHalfCouncil = EitherOfDiverse, MoreThanHalfCouncil>; + +pub type RootOrThreeFourthsCouncil = EitherOfDiverse, ThreeFourthsCouncil>; + +pub type RootOrAllCouncil = EitherOfDiverse, AllCouncil>; diff --git a/runtime/common/config/pallets/governance/democracy.rs b/runtime/common/config/pallets/governance/democracy.rs new file mode 100644 index 0000000000..b0d2fa0075 --- /dev/null +++ b/runtime/common/config/pallets/governance/democracy.rs @@ -0,0 +1,101 @@ +use super::*; + +parameter_types! { + pub MinimumDeposit: Balance = 0; + pub InstantAllowed: bool = false; + pub MaxVotes: u32 = 100; + pub MaxProposals: u32 = 100; +} + +#[cfg(not(feature = "test-env"))] +use crate::governance_timings::democracy as democracy_timings; + +#[cfg(feature = "test-env")] +pub mod democracy_timings { + use super::*; + + parameter_types! { + pub LaunchPeriod: BlockNumber = 35; + pub VotingPeriod: BlockNumber = 35; + pub FastTrackVotingPeriod: BlockNumber = 5; + pub EnactmentPeriod: BlockNumber = 40; + pub CooloffPeriod: BlockNumber = 35; + } +} + +impl pallet_democracy::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type Currency = Balances; + type Slash = Treasury; + type Scheduler = Scheduler; + type PalletsOrigin = OriginCaller; + type Preimages = Preimage; + type WeightInfo = pallet_democracy::weights::SubstrateWeight; + + /// The period between a proposal being approved and enacted. + type EnactmentPeriod = democracy_timings::EnactmentPeriod; + + /// The minimum period of vote locking. + type VoteLockingPeriod = democracy_timings::EnactmentPeriod; + + /// How often new public referenda are launched. + type LaunchPeriod = democracy_timings::LaunchPeriod; + + /// How long the referendum will last. + type VotingPeriod = democracy_timings::VotingPeriod; + + /// The minimum amount to be used as a deposit for the Fellowship referendum proposal. + type MinimumDeposit = MinimumDeposit; + + type SubmitOrigin = EitherOf< + MapSuccess, Replace>, + EnsureFellowshipProposition, + >; + + type ExternalOrigin = EnsureNever; + type ExternalMajorityOrigin = EnsureNever; + + /// Root (for the initial referendums) + /// or >50% of council can have the next scheduled referendum be a straight default-carries + /// (NTB) vote (SuperMajorityAgainst). + type ExternalDefaultOrigin = RootOrMoreThanHalfCouncil; + + /// A unanimous technical committee can have an ExternalMajority/ExternalDefault vote + /// be tabled immediately and with a shorter voting/enactment period. + type FastTrackOrigin = RootOrAllTechnicalCommittee; + + /// Origin from which the next referendum may be tabled to vote immediately and asynchronously. + /// Can set a faster voting period. + type InstantOrigin = EnsureNever; + type InstantAllowed = InstantAllowed; + + /// Minimum voting period allowed for a fast-track referendum. + type FastTrackVotingPeriod = democracy_timings::FastTrackVotingPeriod; + + /// A single technical committee member can cancel a proposal which has been passed. + type CancellationOrigin = RootOrAllTechnicalCommittee; + + /// To cancel a proposal before it has been passed, the technical committee must be unanimous or + /// Root must agree. + type CancelProposalOrigin = RootOrAllTechnicalCommittee; + + /// A unanimous council or Root can blacklist a proposal permanently. + type BlacklistOrigin = RootOrAllCouncil; + + // Any single technical committee member may veto a coming council proposal, however they can + // only do it once and it lasts only for the cooloff period. + type VetoOrigin = TechnicalCommitteeMember; + type CooloffPeriod = democracy_timings::CooloffPeriod; + + /// The maximum number of votes for an account + type MaxVotes = MaxVotes; + + /// The maximum number of public proposals that can exist at any time. + type MaxProposals = MaxProposals; + + /// The maximum number of deposits a public proposal may have at any time. + type MaxDeposits = ConstU32<100>; + + /// The maximum number of items that can be blacklisted. + type MaxBlacklisted = ConstU32<100>; +} diff --git a/runtime/common/config/pallets/governance/fellowship.rs b/runtime/common/config/pallets/governance/fellowship.rs new file mode 100644 index 0000000000..425b7e84de --- /dev/null +++ b/runtime/common/config/pallets/governance/fellowship.rs @@ -0,0 +1,167 @@ +use crate::{Preimage, Treasury, RuntimeCall, RuntimeEvent, Scheduler, FellowshipReferenda, Runtime}; +use super::*; +use pallet_gov_origins::Origin as GovOrigins; +use pallet_ranked_collective::{Config as RankedConfig, Rank, TallyOf}; + +pub const FELLOWSHIP_MODULE_ID: PalletId = PalletId(*b"flowship"); +pub const DEMOCRACY_TRACK_ID: u16 = 10; + +parameter_types! { + pub FellowshipAccountId: ::AccountId = FELLOWSHIP_MODULE_ID.into_account_truncating(); + pub AlarmInterval: BlockNumber = 1; + pub SubmissionDeposit: Balance = 1000; +} + +#[cfg(not(feature = "test-env"))] +use crate::governance_timings::fellowship as fellowship_timings; + +#[cfg(feature = "test-env")] +pub mod fellowship_timings { + use super::*; + + parameter_types! { + pub UndecidingTimeout: BlockNumber = 35; + } + + pub mod track { + use super::*; + + pub mod democracy_proposals { + use super::*; + + pub const PREPARE_PERIOD: BlockNumber = 3; + pub const DECISION_PERIOD: BlockNumber = 35; + pub const CONFIRM_PERIOD: BlockNumber = 3; + pub const MIN_ENACTMENT_PERIOD: BlockNumber = 1; + } + } +} + +impl pallet_referenda::Config for Runtime { + type WeightInfo = pallet_referenda::weights::SubstrateWeight; + type RuntimeCall = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type Scheduler = Scheduler; + type Currency = Balances; + type SubmitOrigin = pallet_ranked_collective::EnsureMember; + type CancelOrigin = RootOrAllTechnicalCommittee; + type KillOrigin = RootOrAllTechnicalCommittee; + type Slash = Treasury; + type Votes = pallet_ranked_collective::Votes; + type Tally = pallet_ranked_collective::TallyOf; + type SubmissionDeposit = SubmissionDeposit; + type MaxQueued = ConstU32<100>; + type UndecidingTimeout = fellowship_timings::UndecidingTimeout; + type AlarmInterval = AlarmInterval; + type Tracks = TracksInfo; + type Preimages = Preimage; +} + +impl RankedConfig for Runtime { + type WeightInfo = pallet_ranked_collective::weights::SubstrateWeight; + type RuntimeEvent = RuntimeEvent; + // Promotion is by any of: + // - Council member. + // - Technical committee member. + type PromoteOrigin = FellowshipPromoteDemoteOrigin; + // Demotion is by any of: + // - Council member. + // - Technical committee member. + type DemoteOrigin = FellowshipPromoteDemoteOrigin; + type Polls = FellowshipReferenda; + type MinRankOfClass = ClassToRankMapper; + type VoteWeight = pallet_ranked_collective::Geometric; +} + +pub struct EnsureFellowshipProposition; +impl EnsureOrigin for EnsureFellowshipProposition +where + O: Into> + From, +{ + type Success = AccountId; + + fn try_origin(o: O) -> Result { + o.into().and_then(|o| match o { + GovOrigins::FellowshipProposition => Ok(FellowshipAccountId::get()), + o => Err(O::from(o)), + }) + } + + #[cfg(feature = "runtime-benchmarks")] + fn try_successful_origin() -> Result { + Ok(O::from(GovOrigins::FellowshipProposition)) + } +} + +pub type FellowshipPromoteDemoteOrigin = EitherOf< + MapSuccess, Replace>>, + MapSuccess>>, +>; + +pub struct TracksInfo; +impl pallet_referenda::TracksInfo for TracksInfo { + type Id = u16; + type RuntimeOrigin = ::PalletsOrigin; + fn tracks() -> &'static [(Self::Id, pallet_referenda::TrackInfo)] { + static DATA: [(u16, pallet_referenda::TrackInfo); 1] = [( + DEMOCRACY_TRACK_ID, + pallet_referenda::TrackInfo { + name: "democracy_proposals", + max_deciding: 10, + decision_deposit: 10 * UNIQUE, + prepare_period: fellowship_timings::track::democracy_proposals::PREPARE_PERIOD, + decision_period: fellowship_timings::track::democracy_proposals::DECISION_PERIOD, + confirm_period: fellowship_timings::track::democracy_proposals::CONFIRM_PERIOD, + min_enactment_period: + fellowship_timings::track::democracy_proposals::MIN_ENACTMENT_PERIOD, + min_approval: pallet_referenda::Curve::LinearDecreasing { + length: Perbill::from_percent(100), + floor: Perbill::from_percent(50), + ceil: Perbill::from_percent(100), + }, + min_support: pallet_referenda::Curve::LinearDecreasing { + length: Perbill::from_percent(100), + floor: Perbill::from_percent(0), + ceil: Perbill::from_percent(50), + }, + }, + )]; + &DATA[..] + } + fn track_for(id: &Self::RuntimeOrigin) -> Result { + #[cfg(feature = "runtime-benchmarks")] + { + // For benchmarks, we enable a root origin. + // It is important that this is not available in production! + let root: Self::RuntimeOrigin = frame_system::RawOrigin::Root.into(); + if &root == id { + return Ok(9); + } + } + + match GovOrigins::try_from(id.clone()) { + Ok(_) => Ok(DEMOCRACY_TRACK_ID), + _ => Err(()), + } + } +} + +pallet_referenda::impl_tracksinfo_get!(TracksInfo, Balance, BlockNumber); + +pub struct ClassToRankMapper(PhantomData<(T, I)>); + +//TODO: Remove the type when it appears in the release. +pub type ClassOf = <>::Polls as Polling>>::Class; + +impl Convert, Rank> for ClassToRankMapper +where + T: RankedConfig, + ClassOf: Into, +{ + fn convert(track_id: ClassOf) -> Rank { + match track_id.into() { + DEMOCRACY_TRACK_ID => 3, + other => other, + } + } +} diff --git a/runtime/common/config/pallets/governance/mod.rs b/runtime/common/config/pallets/governance/mod.rs new file mode 100644 index 0000000000..adc3476c53 --- /dev/null +++ b/runtime/common/config/pallets/governance/mod.rs @@ -0,0 +1,68 @@ +// Copyright 2019-2022 Unique Network (Gibraltar) Ltd. +// This file is part of Unique Network. + +// Unique Network is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. + +// Unique Network is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. + +// You should have received a copy of the GNU General Public License +// along with Unique Network. If not, see . + +use frame_support::{ + PalletId, parameter_types, + traits::{ + EnsureOrigin, EqualPrivilegeOnly, EitherOfDiverse, EitherOf, MapSuccess, ConstU16, Polling, + }, + weights::Weight, + pallet_prelude::*, +}; +use frame_system::{EnsureRoot, EnsureNever}; +use sp_runtime::{ + Perbill, + traits::{AccountIdConversion, ConstU32, Replace, CheckedSub, Convert}, + morph_types, +}; +use crate::{ + Runtime, RuntimeOrigin, RuntimeEvent, RuntimeCall, OriginCaller, Preimage, Balances, Treasury, + Scheduler, Council, TechnicalCommittee, +}; +pub use up_common::{ + constants::{UNIQUE, DAYS, HOURS, MINUTES, CENTIUNIQUE}, + types::{AccountId, Balance, BlockNumber}, +}; +use pallet_collective::EnsureProportionAtLeast; + +pub mod council; +pub use council::*; + +pub mod democracy; +pub use democracy::*; + +pub mod technical_committee; +pub use technical_committee::*; + +pub mod fellowship; +pub use fellowship::*; + +pub mod scheduler; +pub use scheduler::*; + +impl pallet_gov_origins::Config for Runtime {} + +morph_types! { + /// A `TryMorph` implementation to reduce a scalar by a particular amount, checking for + /// underflow. + pub type CheckedReduceBy: TryMorph = |r: N::Type| -> Result { + r.checked_sub(&N::get()).ok_or(()) + } where N::Type: CheckedSub; +} + +parameter_types! { + pub MaxCollectivesProposalWeight: Weight = Perbill::from_percent(80) * ::BlockWeights::get().max_block; +} diff --git a/runtime/common/config/pallets/governance/scheduler.rs b/runtime/common/config/pallets/governance/scheduler.rs new file mode 100644 index 0000000000..a20461e85b --- /dev/null +++ b/runtime/common/config/pallets/governance/scheduler.rs @@ -0,0 +1,24 @@ +use up_common::constants::{MAXIMUM_BLOCK_WEIGHT, NORMAL_DISPATCH_RATIO}; + +use super::*; + +parameter_types! { + pub MaximumSchedulerWeight: Weight = Perbill::from_percent(80) * + ::BlockWeights::get() + .per_class.get(frame_support::pallet_prelude::DispatchClass::Normal).max_total + .unwrap_or(NORMAL_DISPATCH_RATIO * MAXIMUM_BLOCK_WEIGHT); + pub MaxScheduledPerBlock: u32 = 50; +} + +impl pallet_scheduler::Config for Runtime { + type RuntimeOrigin = RuntimeOrigin; + type RuntimeEvent = RuntimeEvent; + type PalletsOrigin = OriginCaller; + type RuntimeCall = RuntimeCall; + type MaximumWeight = MaximumSchedulerWeight; + type ScheduleOrigin = EnsureRoot; + type MaxScheduledPerBlock = MaxScheduledPerBlock; + type WeightInfo = pallet_scheduler::weights::SubstrateWeight; + type OriginPrivilegeCmp = EqualPrivilegeOnly; + type Preimages = Preimage; +} diff --git a/runtime/common/config/pallets/governance/technical_committee.rs b/runtime/common/config/pallets/governance/technical_committee.rs new file mode 100644 index 0000000000..86555d1d13 --- /dev/null +++ b/runtime/common/config/pallets/governance/technical_committee.rs @@ -0,0 +1,57 @@ +use super::*; + +parameter_types! { + pub TechnicalMaxProposals: u32 = 100; + pub TechnicalMaxMembers: u32 = 100; +} + +#[cfg(not(feature = "test-env"))] +use crate::governance_timings::technical_committee as technical_committee_timings; + +#[cfg(feature = "test-env")] +pub mod technical_committee_timings { + use super::*; + + parameter_types! { + pub TechnicalMotionDuration: BlockNumber = 35; + } +} + +pub type TechnicalCollective = pallet_collective::Instance2; +impl pallet_collective::Config for Runtime { + type RuntimeOrigin = RuntimeOrigin; + type Proposal = RuntimeCall; + type RuntimeEvent = RuntimeEvent; + type MotionDuration = technical_committee_timings::TechnicalMotionDuration; + type MaxProposals = TechnicalMaxProposals; + type MaxMembers = TechnicalMaxMembers; + type DefaultVote = pallet_collective::PrimeDefaultVote; + type WeightInfo = pallet_collective::weights::SubstrateWeight; + type SetMembersOrigin = EnsureRoot; + type MaxProposalWeight = MaxCollectivesProposalWeight; +} + +pub type TechnicalCollectiveMembership = pallet_membership::Instance2; +impl pallet_membership::Config for Runtime { + type RuntimeEvent = RuntimeEvent; + type AddOrigin = RootOrMoreThanHalfCouncil; + type RemoveOrigin = RootOrMoreThanHalfCouncil; + type SwapOrigin = RootOrMoreThanHalfCouncil; + type ResetOrigin = EnsureRoot; + type PrimeOrigin = EnsureRoot; + type MembershipInitialized = TechnicalCommittee; + type MembershipChanged = TechnicalCommittee; + type MaxMembers = TechnicalMaxMembers; + type WeightInfo = pallet_membership::weights::SubstrateWeight; +} + +pub type TechnicalCommitteeMember = pallet_collective::EnsureMember; + +pub type RootOrTechnicalCommitteeMember = + EitherOfDiverse, TechnicalCommitteeMember>; + +pub type AllTechnicalCommittee = + pallet_collective::EnsureProportionAtLeast; + +pub type RootOrAllTechnicalCommittee = + EitherOfDiverse, AllTechnicalCommittee>; diff --git a/runtime/common/config/pallets/mod.rs b/runtime/common/config/pallets/mod.rs index f02bddbcd7..04c7f47b23 100644 --- a/runtime/common/config/pallets/mod.rs +++ b/runtime/common/config/pallets/mod.rs @@ -37,7 +37,7 @@ use up_data_structs::{ }; use sp_arithmetic::Perbill; -#[cfg(feature = "scheduler")] +#[cfg(feature = "unique-scheduler")] pub mod scheduler; #[cfg(feature = "foreign-assets")] @@ -52,6 +52,9 @@ pub mod collator_selection; #[cfg(feature = "preimage")] pub mod preimage; +#[cfg(feature = "governance")] +pub mod governance; + parameter_types! { pub const CollectionCreationPrice: Balance = 2 * UNIQUE; pub TreasuryAccountId: AccountId = TreasuryModuleId::get().into_account_truncating(); @@ -143,8 +146,17 @@ impl pallet_configuration::Config for Runtime { impl pallet_maintenance::Config for Runtime { type RuntimeEvent = RuntimeEvent; - type RuntimeOrigin = RuntimeOrigin; + type RuntimeCall = RuntimeCall; + + #[cfg(feature = "governance")] + type ManagerOrigin = governance::RootOrTechnicalCommitteeMember; + + #[cfg(not(feature = "governance"))] + type ManagerOrigin = frame_system::EnsureRoot; + + type PreimageOrigin = frame_system::EnsureRoot; + #[cfg(feature = "preimage")] type Preimages = crate::Preimage; #[cfg(not(feature = "preimage"))] diff --git a/runtime/common/config/xcm/mod.rs b/runtime/common/config/xcm/mod.rs index 37bb31c557..21380bc7ec 100644 --- a/runtime/common/config/xcm/mod.rs +++ b/runtime/common/config/xcm/mod.rs @@ -49,6 +49,9 @@ pub use foreignassets as xcm_assets; #[cfg(not(feature = "foreign-assets"))] pub use nativeassets as xcm_assets; +#[cfg(feature = "governance")] +use crate::runtime_common::config::pallets::governance; + use xcm_assets::{AssetTransactor, IsReserve, Trader}; parameter_types! { @@ -238,7 +241,13 @@ impl cumulus_pallet_xcmp_queue::Config for Runtime { type ChannelInfo = ParachainSystem; type VersionWrapper = PolkadotXcm; type ExecuteOverweightOrigin = frame_system::EnsureRoot; - type ControllerOrigin = EnsureRoot; + + #[cfg(feature = "governance")] + type ControllerOrigin = governance::RootOrTechnicalCommitteeMember; + + #[cfg(not(feature = "governance"))] + type ControllerOrigin = frame_system::EnsureRoot; + type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin; type PriceForSiblingDelivery = (); } diff --git a/runtime/common/construct_runtime.rs b/runtime/common/construct_runtime.rs index 02d7f05c1d..27ba92bb86 100644 --- a/runtime/common/construct_runtime.rs +++ b/runtime/common/construct_runtime.rs @@ -60,6 +60,33 @@ macro_rules! construct_runtime { #[cfg(feature = "preimage")] Preimage: pallet_preimage = 41, + #[cfg(feature = "governance")] + Democracy: pallet_democracy = 42, + + #[cfg(feature = "governance")] + Council: pallet_collective:: = 43, + + #[cfg(feature = "governance")] + TechnicalCommittee: pallet_collective:: = 44, + + #[cfg(feature = "governance")] + CouncilMembership: pallet_membership:: = 45, + + #[cfg(feature = "governance")] + TechnicalCommitteeMembership: pallet_membership:: = 46, + + #[cfg(feature = "governance")] + FellowshipCollective: pallet_ranked_collective = 47, + + #[cfg(feature = "governance")] + FellowshipReferenda: pallet_referenda = 48, + + #[cfg(feature = "governance")] + Scheduler: pallet_scheduler = 49, + + #[cfg(feature = "governance")] + Origins: pallet_gov_origins = 99, + // XCM helpers. XcmpQueue: cumulus_pallet_xcmp_queue = 50, PolkadotXcm: pallet_xcm = 51, @@ -71,7 +98,7 @@ macro_rules! construct_runtime { Unique: pallet_unique::{Pallet, Call, Storage} = 61, // #[cfg(feature = "scheduler")] - // Scheduler: pallet_unique_scheduler_v2 = 62, + // UniqueScheduler: pallet_unique_scheduler_v2 = 62, Configuration: pallet_configuration = 63, @@ -109,7 +136,7 @@ macro_rules! construct_runtime { BalancesAdapter: pallet_balances_adapter = 155, - #[cfg(feature = "pallet-test-utils")] + #[cfg(feature = "test-env")] TestUtils: pallet_test_utils = 255, } } diff --git a/runtime/common/maintenance.rs b/runtime/common/maintenance.rs index 8147af4e49..458fc8eb05 100644 --- a/runtime/common/maintenance.rs +++ b/runtime/common/maintenance.rs @@ -67,7 +67,7 @@ impl SignedExtension for CheckMaintenance { | RuntimeCall::Structure(_) | RuntimeCall::Unique(_) => Err(TransactionValidityError::Invalid(InvalidTransaction::Call)), - #[cfg(feature = "scheduler")] + #[cfg(feature = "unique-scheduler")] RuntimeCall::Scheduler(_) => Err(TransactionValidityError::Invalid(InvalidTransaction::Call)), #[cfg(feature = "app-promotion")] @@ -85,7 +85,7 @@ impl SignedExtension for CheckMaintenance { | RuntimeCall::Session(_) | RuntimeCall::Identity(_) => Err(TransactionValidityError::Invalid(InvalidTransaction::Call)), - #[cfg(feature = "pallet-test-utils")] + #[cfg(feature = "test-env")] RuntimeCall::TestUtils(_) => Err(TransactionValidityError::Invalid(InvalidTransaction::Call)), _ => Ok(ValidTransaction::default()), diff --git a/runtime/common/mod.rs b/runtime/common/mod.rs index 9439d13e82..939cc8455c 100644 --- a/runtime/common/mod.rs +++ b/runtime/common/mod.rs @@ -23,7 +23,7 @@ pub mod instance; pub mod maintenance; pub mod runtime_apis; -#[cfg(feature = "scheduler")] +#[cfg(feature = "unique-scheduler")] pub mod scheduler; pub mod sponsoring; diff --git a/runtime/common/runtime_apis.rs b/runtime/common/runtime_apis.rs index f2106ec3cb..a3d9bae08f 100644 --- a/runtime/common/runtime_apis.rs +++ b/runtime/common/runtime_apis.rs @@ -598,7 +598,7 @@ macro_rules! impl_common_runtime_apis { #[cfg(feature = "refungible")] list_benchmark!(list, extra, pallet_refungible, Refungible); - #[cfg(feature = "scheduler")] + #[cfg(feature = "unique-scheduler")] list_benchmark!(list, extra, pallet_unique_scheduler_v2, Scheduler); #[cfg(feature = "collator-selection")] @@ -664,7 +664,7 @@ macro_rules! impl_common_runtime_apis { #[cfg(feature = "refungible")] add_benchmark!(params, batches, pallet_refungible, Refungible); - #[cfg(feature = "scheduler")] + #[cfg(feature = "unique-scheduler")] add_benchmark!(params, batches, pallet_unique_scheduler_v2, Scheduler); #[cfg(feature = "collator-selection")] diff --git a/runtime/opal/Cargo.toml b/runtime/opal/Cargo.toml index 7afd10b659..6908139755 100644 --- a/runtime/opal/Cargo.toml +++ b/runtime/opal/Cargo.toml @@ -17,9 +17,16 @@ targets = ['x86_64-unknown-linux-gnu'] [features] default = ['opal-runtime', 'std'] -state-version-0 = [] limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing'] -opal-runtime = ['app-promotion', 'collator-selection', 'foreign-assets', 'pallet-test-utils', 'preimage', 'refungible'] +opal-runtime = [ + 'app-promotion', + 'collator-selection', + 'foreign-assets', + 'governance', + 'test-env', + 'preimage', + 'refungible', +] pov-estimate = [] runtime-benchmarks = [ "pallet-preimage/runtime-benchmarks", @@ -42,6 +49,12 @@ runtime-benchmarks = [ 'pallet-inflation/runtime-benchmarks', 'pallet-maintenance/runtime-benchmarks', 'pallet-nonfungible/runtime-benchmarks', + 'pallet-democracy/runtime-benchmarks', + 'pallet-collective/runtime-benchmarks', + 'pallet-ranked-collective/runtime-benchmarks', + 'pallet-membership/runtime-benchmarks', + 'pallet-referenda/runtime-benchmarks', + 'pallet-scheduler/runtime-benchmarks', 'pallet-refungible/runtime-benchmarks', 'pallet-structure/runtime-benchmarks', 'pallet-timestamp/runtime-benchmarks', @@ -51,6 +64,7 @@ runtime-benchmarks = [ 'sp-runtime/runtime-benchmarks', 'xcm-builder/runtime-benchmarks', ] +state-version-0 = [] std = [ 'codec/std', 'cumulus-pallet-aura-ext/std', @@ -66,6 +80,13 @@ std = [ 'frame-try-runtime/std', 'pallet-aura/std', 'pallet-balances/std', + 'pallet-democracy/std', + 'pallet-collective/std', + 'pallet-ranked-collective/std', + 'pallet-membership/std', + 'pallet-referenda/std', + 'pallet-gov-origins/std', + 'pallet-scheduler/std', # 'pallet-contracts/std', # 'pallet-contracts-primitives/std', # 'pallet-contracts-rpc-runtime-api/std', @@ -160,12 +181,14 @@ try-runtime = [ 'orml-xtokens/try-runtime', 'pallet-app-promotion/try-runtime', 'pallet-aura/try-runtime', - 'pallet-balances/try-runtime', 'pallet-balances-adapter/try-runtime', + 'pallet-balances/try-runtime', 'pallet-base-fee/try-runtime', 'pallet-charge-transaction/try-runtime', + 'pallet-collective/try-runtime', 'pallet-common/try-runtime', 'pallet-configuration/try-runtime', + 'pallet-democracy/try-runtime', 'pallet-ethereum/try-runtime', 'pallet-evm-coder-substrate/try-runtime', 'pallet-evm-contract-helpers/try-runtime', @@ -176,8 +199,17 @@ try-runtime = [ 'pallet-fungible/try-runtime', 'pallet-inflation/try-runtime', 'pallet-maintenance/try-runtime', + 'pallet-membership/try-runtime', 'pallet-nonfungible/try-runtime', + 'pallet-democracy/try-runtime', + 'pallet-collective/try-runtime', + 'pallet-ranked-collective/try-runtime', + 'pallet-membership/try-runtime', + 'pallet-referenda/try-runtime', + 'pallet-gov-origins/try-runtime', + 'pallet-scheduler/try-runtime', 'pallet-refungible/try-runtime', + 'pallet-scheduler/try-runtime', 'pallet-structure/try-runtime', 'pallet-sudo/try-runtime', 'pallet-test-utils/try-runtime', @@ -193,10 +225,11 @@ try-runtime = [ app-promotion = [] collator-selection = [] foreign-assets = [] -pallet-test-utils = [] +governance = [] +test-env = [] preimage = [] refungible = [] -scheduler = [] +unique-scheduler = [] ################################################################################ # local dependencies @@ -282,6 +315,13 @@ pallet-identity = { workspace = true } pallet-inflation = { workspace = true } pallet-maintenance = { workspace = true } pallet-nonfungible = { workspace = true } +pallet-democracy = { workspace = true } +pallet-collective = { workspace = true } +pallet-ranked-collective = { workspace = true } +pallet-membership = { workspace = true } +pallet-referenda = { workspace = true } +pallet-gov-origins = { workspace = true } +pallet-scheduler = { workspace = true } pallet-refungible = { workspace = true } pallet-structure = { workspace = true } pallet-unique = { workspace = true } @@ -310,8 +350,8 @@ pallet-test-utils = { workspace = true } ################################################################################ # Other Dependencies -impl-trait-for-tuples = { workspace = true } hex-literal = { workspace = true } +impl-trait-for-tuples = { workspace = true } [build-dependencies] substrate-wasm-builder = { workspace = true } diff --git a/runtime/quartz/Cargo.toml b/runtime/quartz/Cargo.toml index e5adeec934..a90804ac61 100644 --- a/runtime/quartz/Cargo.toml +++ b/runtime/quartz/Cargo.toml @@ -18,10 +18,9 @@ targets = ['x86_64-unknown-linux-gnu'] [features] become-sapphire = [] default = ['quartz-runtime', 'std'] -state-version-0 = [] limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing'] pov-estimate = [] -quartz-runtime = ['app-promotion', 'collator-selection', 'foreign-assets', 'preimage', 'refungible'] +quartz-runtime = ['app-promotion', 'collator-selection', 'foreign-assets', 'governance', 'preimage', 'refungible'] runtime-benchmarks = [ "pallet-preimage/runtime-benchmarks", 'cumulus-pallet-parachain-system/runtime-benchmarks', @@ -32,8 +31,10 @@ runtime-benchmarks = [ 'pallet-app-promotion/runtime-benchmarks', 'pallet-balances/runtime-benchmarks', 'pallet-collator-selection/runtime-benchmarks', + 'pallet-collective/runtime-benchmarks', 'pallet-common/runtime-benchmarks', 'pallet-configuration/runtime-benchmarks', + 'pallet-democracy/runtime-benchmarks', 'pallet-ethereum/runtime-benchmarks', 'pallet-evm-coder-substrate/runtime-benchmarks', 'pallet-evm-migration/runtime-benchmarks', @@ -42,8 +43,16 @@ runtime-benchmarks = [ 'pallet-identity/runtime-benchmarks', 'pallet-inflation/runtime-benchmarks', 'pallet-maintenance/runtime-benchmarks', + 'pallet-membership/runtime-benchmarks', 'pallet-nonfungible/runtime-benchmarks', + 'pallet-democracy/runtime-benchmarks', + 'pallet-collective/runtime-benchmarks', + 'pallet-ranked-collective/runtime-benchmarks', + 'pallet-membership/runtime-benchmarks', + 'pallet-referenda/runtime-benchmarks', + 'pallet-scheduler/runtime-benchmarks', 'pallet-refungible/runtime-benchmarks', + 'pallet-scheduler/runtime-benchmarks', 'pallet-structure/runtime-benchmarks', 'pallet-timestamp/runtime-benchmarks', 'pallet-unique/runtime-benchmarks', @@ -51,6 +60,7 @@ runtime-benchmarks = [ 'sp-runtime/runtime-benchmarks', 'xcm-builder/runtime-benchmarks', ] +state-version-0 = [] std = [ 'codec/std', 'cumulus-pallet-aura-ext/std', @@ -65,8 +75,12 @@ std = [ 'frame-system/std', 'frame-try-runtime/std', 'pallet-aura/std', - 'pallet-balances/std', 'pallet-balances-adapter/std', + 'pallet-balances/std', + 'pallet-collective/std', + 'pallet-democracy/std', + 'pallet-membership/std', + 'pallet-scheduler/std', # 'pallet-contracts/std', # 'pallet-contracts-primitives/std', # 'pallet-contracts-rpc-runtime-api/std', @@ -96,6 +110,13 @@ std = [ 'pallet-fungible/std', 'pallet-inflation/std', 'pallet-nonfungible/std', + 'pallet-democracy/std', + 'pallet-collective/std', + 'pallet-ranked-collective/std', + 'pallet-membership/std', + 'pallet-referenda/std', + 'pallet-gov-origins/std', + 'pallet-scheduler/std', 'pallet-refungible/std', 'pallet-structure/std', 'pallet-sudo/std', @@ -156,8 +177,8 @@ try-runtime = [ 'orml-xtokens/try-runtime', 'pallet-app-promotion/try-runtime', 'pallet-aura/try-runtime', - 'pallet-balances/try-runtime', 'pallet-balances-adapter/try-runtime', + 'pallet-balances/try-runtime', 'pallet-charge-transaction/try-runtime', 'pallet-common/try-runtime', 'pallet-configuration/try-runtime', @@ -172,6 +193,13 @@ try-runtime = [ 'pallet-inflation/try-runtime', 'pallet-maintenance/try-runtime', 'pallet-nonfungible/try-runtime', + 'pallet-democracy/try-runtime', + 'pallet-collective/try-runtime', + 'pallet-ranked-collective/try-runtime', + 'pallet-membership/try-runtime', + 'pallet-referenda/try-runtime', + 'pallet-gov-origins/try-runtime', + 'pallet-scheduler/try-runtime', 'pallet-refungible/try-runtime', 'pallet-structure/try-runtime', 'pallet-sudo/try-runtime', @@ -186,9 +214,11 @@ try-runtime = [ app-promotion = [] collator-selection = [] foreign-assets = [] +governance = [] preimage = [] refungible = [] -scheduler = [] +unique-scheduler = [] +test-env = [] ################################################################################ # local dependencies @@ -259,6 +289,13 @@ pallet-fungible = { workspace = true } pallet-identity = { workspace = true } pallet-inflation = { workspace = true } pallet-nonfungible = { workspace = true } +pallet-democracy = { workspace = true } +pallet-collective = { workspace = true } +pallet-ranked-collective = { workspace = true } +pallet-membership = { workspace = true } +pallet-referenda = { workspace = true } +pallet-gov-origins = { workspace = true } +pallet-scheduler = { workspace = true } pallet-refungible = { workspace = true } pallet-structure = { workspace = true } pallet-unique = { workspace = true } @@ -303,8 +340,8 @@ pallet-test-utils = { workspace = true } ################################################################################ # Other Dependencies -impl-trait-for-tuples = { workspace = true } hex-literal = { workspace = true } +impl-trait-for-tuples = { workspace = true } [build-dependencies] substrate-wasm-builder = { workspace = true } diff --git a/runtime/quartz/src/governance_timings.rs b/runtime/quartz/src/governance_timings.rs new file mode 100644 index 0000000000..affc0cb2f9 --- /dev/null +++ b/runtime/quartz/src/governance_timings.rs @@ -0,0 +1,54 @@ +use frame_support::parameter_types; +pub use up_common::{ + constants::{DAYS, HOURS, MINUTES}, + types::BlockNumber, +}; + +pub mod council { + use super::*; + + parameter_types! { + pub CouncilMotionDuration: BlockNumber = 7 * DAYS; + } +} + +pub mod democracy { + use super::*; + + parameter_types! { + pub LaunchPeriod: BlockNumber = 7 * DAYS; + pub VotingPeriod: BlockNumber = 7 * DAYS; + pub FastTrackVotingPeriod: BlockNumber = 1 * DAYS; + pub EnactmentPeriod: BlockNumber = 8 * DAYS; + pub CooloffPeriod: BlockNumber = 7 * DAYS; + } +} + +pub mod fellowship { + use super::*; + + parameter_types! { + pub UndecidingTimeout: BlockNumber = 7 * DAYS; + } + + pub mod track { + use super::*; + + pub mod democracy_proposals { + use super::*; + + pub const PREPARE_PERIOD: BlockNumber = 30 * MINUTES; + pub const DECISION_PERIOD: BlockNumber = 7 * DAYS; + pub const CONFIRM_PERIOD: BlockNumber = 2 * DAYS; + pub const MIN_ENACTMENT_PERIOD: BlockNumber = 1 * MINUTES; + } + } +} + +pub mod technical_committee { + use super::*; + + parameter_types! { + pub TechnicalMotionDuration: BlockNumber = 3 * DAYS; + } +} diff --git a/runtime/quartz/src/lib.rs b/runtime/quartz/src/lib.rs index d49018678e..da6f736b84 100644 --- a/runtime/quartz/src/lib.rs +++ b/runtime/quartz/src/lib.rs @@ -38,6 +38,7 @@ use ::xcm::latest::NetworkId; mod runtime_common; +pub mod governance_timings; pub mod xcm_barrier; pub use runtime_common::*; diff --git a/runtime/unique/Cargo.toml b/runtime/unique/Cargo.toml index 9dc51e7a0b..61dde472b9 100644 --- a/runtime/unique/Cargo.toml +++ b/runtime/unique/Cargo.toml @@ -17,7 +17,6 @@ targets = ['x86_64-unknown-linux-gnu'] [features] default = ['std', 'unique-runtime'] -state-version-0 = [] limit-testing = ['pallet-unique/limit-testing', 'up-data-structs/limit-testing'] pov-estimate = [] runtime-benchmarks = [ @@ -29,8 +28,10 @@ runtime-benchmarks = [ 'pallet-app-promotion/runtime-benchmarks', 'pallet-balances/runtime-benchmarks', 'pallet-collator-selection/runtime-benchmarks', + 'pallet-collective/runtime-benchmarks', 'pallet-common/runtime-benchmarks', 'pallet-configuration/runtime-benchmarks', + 'pallet-democracy/runtime-benchmarks', 'pallet-ethereum/runtime-benchmarks', 'pallet-evm-coder-substrate/runtime-benchmarks', 'pallet-evm-migration/runtime-benchmarks', @@ -39,8 +40,16 @@ runtime-benchmarks = [ 'pallet-identity/runtime-benchmarks', 'pallet-inflation/runtime-benchmarks', 'pallet-maintenance/runtime-benchmarks', + 'pallet-membership/runtime-benchmarks', 'pallet-nonfungible/runtime-benchmarks', + 'pallet-democracy/runtime-benchmarks', + 'pallet-collective/runtime-benchmarks', + 'pallet-ranked-collective/runtime-benchmarks', + 'pallet-membership/runtime-benchmarks', + 'pallet-referenda/runtime-benchmarks', + 'pallet-scheduler/runtime-benchmarks', 'pallet-refungible/runtime-benchmarks', + 'pallet-scheduler/runtime-benchmarks', 'pallet-structure/runtime-benchmarks', 'pallet-timestamp/runtime-benchmarks', 'pallet-unique/runtime-benchmarks', @@ -49,6 +58,7 @@ runtime-benchmarks = [ 'up-data-structs/runtime-benchmarks', 'xcm-builder/runtime-benchmarks', ] +state-version-0 = [] std = [ 'codec/std', 'cumulus-pallet-aura-ext/std', @@ -64,6 +74,10 @@ std = [ 'frame-try-runtime/std', 'pallet-aura/std', 'pallet-balances/std', + 'pallet-collective/std', + 'pallet-democracy/std', + 'pallet-membership/std', + 'pallet-scheduler/std', # 'pallet-contracts/std', # 'pallet-contracts-primitives/std', # 'pallet-contracts-rpc-runtime-api/std', @@ -94,6 +108,13 @@ std = [ 'pallet-fungible/std', 'pallet-inflation/std', 'pallet-nonfungible/std', + 'pallet-democracy/std', + 'pallet-collective/std', + 'pallet-ranked-collective/std', + 'pallet-membership/std', + 'pallet-referenda/std', + 'pallet-gov-origins/std', + 'pallet-scheduler/std', 'pallet-refungible/std', 'pallet-structure/std', 'pallet-sudo/std', @@ -154,11 +175,13 @@ try-runtime = [ 'orml-xtokens/try-runtime', 'pallet-app-promotion/try-runtime', 'pallet-aura/try-runtime', - 'pallet-balances/try-runtime', 'pallet-balances-adapter/try-runtime', + 'pallet-balances/try-runtime', 'pallet-charge-transaction/try-runtime', + 'pallet-collective/try-runtime', 'pallet-common/try-runtime', 'pallet-configuration/try-runtime', + 'pallet-democracy/try-runtime', 'pallet-ethereum/try-runtime', 'pallet-evm-coder-substrate/try-runtime', 'pallet-evm-contract-helpers/try-runtime', @@ -169,8 +192,17 @@ try-runtime = [ 'pallet-fungible/try-runtime', 'pallet-inflation/try-runtime', 'pallet-maintenance/try-runtime', + 'pallet-membership/try-runtime', 'pallet-nonfungible/try-runtime', + 'pallet-democracy/try-runtime', + 'pallet-collective/try-runtime', + 'pallet-ranked-collective/try-runtime', + 'pallet-membership/try-runtime', + 'pallet-referenda/try-runtime', + 'pallet-gov-origins/try-runtime', + 'pallet-scheduler/try-runtime', 'pallet-refungible/try-runtime', + 'pallet-scheduler/try-runtime', 'pallet-structure/try-runtime', 'pallet-sudo/try-runtime', 'pallet-timestamp/try-runtime', @@ -185,9 +217,11 @@ unique-runtime = ['app-promotion', 'foreign-assets', 'refungible'] app-promotion = [] collator-selection = [] foreign-assets = [] +governance = [] preimage = [] refungible = [] -scheduler = [] +unique-scheduler = [] +test-env = [] ################################################################################ # local dependencies @@ -257,6 +291,13 @@ pallet-fungible = { workspace = true } pallet-identity = { workspace = true } pallet-inflation = { workspace = true } pallet-nonfungible = { workspace = true } +pallet-democracy = { workspace = true } +pallet-collective = { workspace = true } +pallet-ranked-collective = { workspace = true } +pallet-membership = { workspace = true } +pallet-referenda = { workspace = true } +pallet-gov-origins = { workspace = true } +pallet-scheduler = { workspace = true } pallet-refungible = { workspace = true } pallet-structure = { workspace = true } pallet-unique = { workspace = true } @@ -301,8 +342,8 @@ pallet-test-utils = { workspace = true } ################################################################################ # Other Dependencies -impl-trait-for-tuples = { workspace = true } hex-literal = { workspace = true } +impl-trait-for-tuples = { workspace = true } [build-dependencies] substrate-wasm-builder = { workspace = true } diff --git a/runtime/unique/src/governance_timings.rs b/runtime/unique/src/governance_timings.rs new file mode 100644 index 0000000000..affc0cb2f9 --- /dev/null +++ b/runtime/unique/src/governance_timings.rs @@ -0,0 +1,54 @@ +use frame_support::parameter_types; +pub use up_common::{ + constants::{DAYS, HOURS, MINUTES}, + types::BlockNumber, +}; + +pub mod council { + use super::*; + + parameter_types! { + pub CouncilMotionDuration: BlockNumber = 7 * DAYS; + } +} + +pub mod democracy { + use super::*; + + parameter_types! { + pub LaunchPeriod: BlockNumber = 7 * DAYS; + pub VotingPeriod: BlockNumber = 7 * DAYS; + pub FastTrackVotingPeriod: BlockNumber = 1 * DAYS; + pub EnactmentPeriod: BlockNumber = 8 * DAYS; + pub CooloffPeriod: BlockNumber = 7 * DAYS; + } +} + +pub mod fellowship { + use super::*; + + parameter_types! { + pub UndecidingTimeout: BlockNumber = 7 * DAYS; + } + + pub mod track { + use super::*; + + pub mod democracy_proposals { + use super::*; + + pub const PREPARE_PERIOD: BlockNumber = 30 * MINUTES; + pub const DECISION_PERIOD: BlockNumber = 7 * DAYS; + pub const CONFIRM_PERIOD: BlockNumber = 2 * DAYS; + pub const MIN_ENACTMENT_PERIOD: BlockNumber = 1 * MINUTES; + } + } +} + +pub mod technical_committee { + use super::*; + + parameter_types! { + pub TechnicalMotionDuration: BlockNumber = 3 * DAYS; + } +} diff --git a/runtime/unique/src/lib.rs b/runtime/unique/src/lib.rs index fc9abd71e1..3152f27a7e 100644 --- a/runtime/unique/src/lib.rs +++ b/runtime/unique/src/lib.rs @@ -38,6 +38,7 @@ use ::xcm::latest::NetworkId; mod runtime_common; +pub mod governance_timings; pub mod xcm_barrier; pub use runtime_common::*; diff --git a/tests/package.json b/tests/package.json index 6a70f6997c..93b10a6e89 100644 --- a/tests/package.json +++ b/tests/package.json @@ -43,6 +43,7 @@ "testParallel": "yarn _testParallel './src/**/*.test.ts'", "testSequential": "yarn _test './src/**/*.seqtest.ts'", "testStructure": "yarn _test ./**/nesting/*.*test.ts", + "testGovernance": "RUN_GOV_TESTS=1 yarn _test ./**/governance/*.*test.ts", "testEth": "yarn _test './**/eth/**/*.*test.ts'", "testEthNesting": "yarn _test './**/eth/nesting/**/*.*test.ts'", "testEthFractionalizer": "yarn _test './**/eth/fractionalizer/**/*.*test.ts'", @@ -107,6 +108,8 @@ "testRPC": "yarn _test ./**/rpc.test.ts", "testPromotion": "yarn _test ./**/appPromotion/*test.ts", "testApiConsts": "yarn _test ./**/apiConsts.test.ts", + "testCouncil": "yarn _test ./**/council.*test.ts", + "testDemocracy": "yarn _test ./**/democracy.*test.ts", "testCollators": "RUN_COLLATOR_TESTS=1 yarn _test ./**/collator-selection/**.*test.ts --timeout 49999999", "testCollatorSelection": "RUN_COLLATOR_TESTS=1 yarn _test ./**/collatorSelection.*test.ts --timeout 49999999", "testIdentity": "RUN_COLLATOR_TESTS=1 yarn _test ./**/identity.*test.ts --timeout 49999999", @@ -151,4 +154,4 @@ "decode-uri-component": "^0.2.1" }, "type": "module" -} +} \ No newline at end of file diff --git a/tests/src/eth/scheduling.test.ts b/tests/src/eth/scheduling.test.ts index 59012aa646..e24d3dee4b 100644 --- a/tests/src/eth/scheduling.test.ts +++ b/tests/src/eth/scheduling.test.ts @@ -26,7 +26,7 @@ describe('Scheduing EVM smart contracts', () => { }); }); - itSchedEth.ifWithPallets('Successfully schedules and periodically executes an EVM contract', [Pallets.Scheduler], async (scheduleKind, {helper, privateKey}) => { + itSchedEth.ifWithPallets('Successfully schedules and periodically executes an EVM contract', [Pallets.UniqueScheduler], async (scheduleKind, {helper, privateKey}) => { const donor = await privateKey({url: import.meta.url}); const [alice] = await helper.arrange.createAccounts([1000n], donor); diff --git a/tests/src/governance/council.test.ts b/tests/src/governance/council.test.ts new file mode 100644 index 0000000000..130b32d33f --- /dev/null +++ b/tests/src/governance/council.test.ts @@ -0,0 +1,446 @@ + +import {IKeyringPair} from '@polkadot/types/types'; +import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describeGov} from '../util'; +import {Event} from '../util/playgrounds/unique.dev'; +import {ICounselors, initCouncil, democracyLaunchPeriod, democracyVotingPeriod, democracyEnactmentPeriod, councilMotionDuration, democracyFastTrackVotingPeriod, fellowshipRankLimit, clearCouncil, clearTechComm, initTechComm, clearFellowship, dummyProposal, dummyProposalCall, initFellowship, defaultEnactmentMoment, fellowshipPropositionOrigin} from './util'; + +describeGov('Governance: Council tests', () => { + let donor: IKeyringPair; + let counselors: ICounselors; + let sudoer: IKeyringPair; + + const moreThanHalfCouncilThreshold = 3; + + before(async function() { + await usingPlaygrounds(async (helper, privateKey) => { + requirePalletsOrSkip(this, helper, [Pallets.Council]); + + donor = await privateKey({url: import.meta.url}); + sudoer = await privateKey('//Alice'); + }); + }); + + beforeEach(async () => { + counselors = await initCouncil(donor, sudoer); + }); + + afterEach(async () => { + await clearCouncil(sudoer); + await clearTechComm(sudoer); + }); + + async function proposalFromMoreThanHalfCouncil(proposal: any) { + return await usingPlaygrounds(async (helper) => { + expect((await helper.callRpc('api.query.councilMembership.members')).toJSON().length).to.be.equal(5); + const proposeResult = await helper.council.collective.propose( + counselors.filip, + proposal, + moreThanHalfCouncilThreshold, + ); + + const councilProposedEvent = Event.Council.Proposed.expect(proposeResult); + const proposalIndex = councilProposedEvent.proposalIndex; + const proposalHash = councilProposedEvent.proposalHash; + + + await helper.council.collective.vote(counselors.alex, proposalHash, proposalIndex, true); + await helper.council.collective.vote(counselors.charu, proposalHash, proposalIndex, true); + await helper.council.collective.vote(counselors.filip, proposalHash, proposalIndex, true); + + return await helper.council.collective.close(counselors.filip, proposalHash, proposalIndex); + }); + } + + async function proposalFromAllCouncil(proposal: any) { + return await usingPlaygrounds(async (helper) => { + expect((await helper.callRpc('api.query.councilMembership.members')).toJSON().length).to.be.equal(5); + const proposeResult = await helper.council.collective.propose( + counselors.filip, + proposal, + moreThanHalfCouncilThreshold, + ); + + const councilProposedEvent = Event.Council.Proposed.expect(proposeResult); + const proposalIndex = councilProposedEvent.proposalIndex; + const proposalHash = councilProposedEvent.proposalHash; + + + await helper.council.collective.vote(counselors.alex, proposalHash, proposalIndex, true); + await helper.council.collective.vote(counselors.charu, proposalHash, proposalIndex, true); + await helper.council.collective.vote(counselors.ildar, proposalHash, proposalIndex, true); + await helper.council.collective.vote(counselors.irina, proposalHash, proposalIndex, true); + await helper.council.collective.vote(counselors.filip, proposalHash, proposalIndex, true); + + return await helper.council.collective.close(counselors.filip, proposalHash, proposalIndex); + }); + } + + itSub('>50% of Council can externally propose SuperMajorityAgainst', async ({helper}) => { + const forceSetBalanceReceiver = helper.arrange.createEmptyAccount(); + const forceSetBalanceTestValue = 20n * 10n ** 25n; + + const democracyProposal = await helper.constructApiCall('api.tx.balances.forceSetBalance', [ + forceSetBalanceReceiver.address, forceSetBalanceTestValue, + ]); + + const councilProposal = await helper.democracy.externalProposeDefaultCall(democracyProposal); + + const proposeResult = await helper.council.collective.propose( + counselors.filip, + councilProposal, + moreThanHalfCouncilThreshold, + ); + + const councilProposedEvent = Event.Council.Proposed.expect(proposeResult); + const proposalIndex = councilProposedEvent.proposalIndex; + const proposalHash = councilProposedEvent.proposalHash; + + await helper.council.collective.vote(counselors.alex, proposalHash, proposalIndex, true); + await helper.council.collective.vote(counselors.charu, proposalHash, proposalIndex, true); + await helper.council.collective.vote(counselors.filip, proposalHash, proposalIndex, true); + + await helper.council.collective.close(counselors.filip, proposalHash, proposalIndex); + + const democracyStartedEvent = await helper.wait.expectEvent(democracyLaunchPeriod, Event.Democracy.Started); + const democracyReferendumIndex = democracyStartedEvent.referendumIndex; + const democracyThreshold = democracyStartedEvent.threshold; + + expect(democracyThreshold).to.be.equal('SuperMajorityAgainst'); + + await helper.democracy.vote(counselors.filip, democracyReferendumIndex, { + Standard: { + vote: { + aye: true, + conviction: 1, + }, + balance: 10_000n, + }, + }); + + const passedReferendumEvent = await helper.wait.expectEvent(democracyVotingPeriod, Event.Democracy.Passed); + expect(passedReferendumEvent.referendumIndex).to.be.equal(democracyReferendumIndex); + + await helper.wait.expectEvent(democracyEnactmentPeriod, Event.Scheduler.Dispatched); + const receiverBalance = await helper.balance.getSubstrate(forceSetBalanceReceiver.address); + expect(receiverBalance).to.be.equal(forceSetBalanceTestValue); + }); + + itSub('Council prime member vote is the default', async ({helper}) => { + const newTechCommMember = helper.arrange.createEmptyAccount(); + const addMemberProposal = helper.technicalCommittee.membership.addMemberCall(newTechCommMember.address); + const proposeResult = await helper.council.collective.propose( + counselors.filip, + addMemberProposal, + moreThanHalfCouncilThreshold, + ); + + const councilProposedEvent = Event.Council.Proposed.expect(proposeResult); + const proposalIndex = councilProposedEvent.proposalIndex; + const proposalHash = councilProposedEvent.proposalHash; + + await helper.council.collective.vote(counselors.alex, proposalHash, proposalIndex, true); + + await helper.wait.newBlocks(councilMotionDuration); + const closeResult = await helper.council.collective.close(counselors.filip, proposalHash, proposalIndex); + const closeEvent = Event.Council.Closed.expect(closeResult); + const members = (await helper.callRpc('api.query.councilMembership.members')).toJSON() as string[]; + expect(closeEvent.yes).to.be.equal(members.length); + }); + + itSub('Superuser can add a member', async ({helper}) => { + const newMember = helper.arrange.createEmptyAccount(); + await expect(helper.getSudo().council.membership.addMember(sudoer, newMember.address)).to.be.fulfilled; + + const members = (await helper.callRpc('api.query.councilMembership.members')).toJSON(); + expect(members).to.contains(newMember.address); + }); + + itSub('Superuser can remove a member', async ({helper}) => { + await expect(helper.getSudo().council.membership.removeMember(sudoer, counselors.alex.address)).to.be.fulfilled; + + const members = (await helper.callRpc('api.query.councilMembership.members')).toJSON(); + expect(members).to.not.contains(counselors.alex.address); + }); + + itSub('>50% Council can add TechComm member', async ({helper}) => { + const newTechCommMember = helper.arrange.createEmptyAccount(); + const addMemberProposal = helper.technicalCommittee.membership.addMemberCall(newTechCommMember.address); + + await proposalFromMoreThanHalfCouncil(addMemberProposal); + + const techCommMembers = (await helper.callRpc('api.query.technicalCommitteeMembership.members')).toJSON(); + expect(techCommMembers).to.contains(newTechCommMember.address); + }); + + itSub('Council can remove TechComm member', async ({helper}) => { + const techComm = await initTechComm(donor, sudoer); + const removeMemberPrpoposal = helper.technicalCommittee.membership.removeMemberCall(techComm.andy.address); + await proposalFromMoreThanHalfCouncil(removeMemberPrpoposal); + + const techCommMembers = (await helper.callRpc('api.query.technicalCommitteeMembership.members')).toJSON(); + expect(techCommMembers).to.not.contains(techComm.andy.address); + }); + + itSub.skip('Council member can add Fellowship member', async ({helper}) => { + const newFellowshipMember = helper.arrange.createEmptyAccount(); + await expect(helper.council.collective.execute( + counselors.alex, + helper.fellowship.collective.addMemberCall(newFellowshipMember.address), + )).to.be.fulfilled; + const fellowshipMembers = (await helper.callRpc('api.query.fellowshipCollective.members')).toJSON(); + expect(fellowshipMembers).to.contains(newFellowshipMember.address); + }); + + itSub('>50% Council can promote Fellowship member', async ({helper}) => { + const fellowship = await initFellowship(donor, sudoer); + const memberWithZeroRank = fellowship[0][0]; + + const proposal = helper.fellowship.collective.promoteCall(memberWithZeroRank.address); + await proposalFromMoreThanHalfCouncil(proposal); + const record = (await helper.callRpc('api.query.fellowshipCollective.members', [memberWithZeroRank.address])).toJSON(); + expect(record).to.be.deep.equal({rank: 1}); + + await clearFellowship(sudoer); + }); + + itSub('>50% Council can demote Fellowship member', async ({helper}) => { + const fellowship = await initFellowship(donor, sudoer); + const memberWithRankOne = fellowship[1][0]; + + const proposal = helper.fellowship.collective.demoteCall(memberWithRankOne.address); + await proposalFromMoreThanHalfCouncil(proposal); + + const record = (await helper.callRpc('api.query.fellowshipCollective.members', [memberWithRankOne.address])).toJSON(); + expect(record).to.be.deep.equal({rank: 0}); + + await clearFellowship(sudoer); + }); + + itSub('>50% Council can add\remove Fellowship member', async ({helper}) => { + try { + const newMember = helper.arrange.createEmptyAccount(); + + const proposalAdd = helper.fellowship.collective.addMemberCall(newMember.address); + const proposalRemove = helper.fellowship.collective.removeMemberCall(newMember.address, fellowshipRankLimit); + await expect(proposalFromMoreThanHalfCouncil(proposalAdd)).to.be.fulfilled; + expect(await helper.fellowship.collective.getMembers()).to.be.deep.contain(newMember.address); + await expect(proposalFromMoreThanHalfCouncil(proposalRemove)).to.be.fulfilled; + expect(await helper.fellowship.collective.getMembers()).to.be.not.deep.contain(newMember.address); + } + finally { + await clearFellowship(sudoer); + } + }); + + itSub('Council can blacklist Democracy proposals', async ({helper}) => { + const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true); + await expect(proposalFromAllCouncil(helper.democracy.blacklistCall(preimageHash, null))).to.be.fulfilled; + }); + + itSub('Sudo can blacklist Democracy proposals', async ({helper}) => { + const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true); + await expect(helper.getSudo().democracy.blacklist(sudoer, preimageHash)).to.be.fulfilled; + }); + + itSub('[Negative] Council cannot add Council member', async ({helper}) => { + const newCouncilMember = helper.arrange.createEmptyAccount(); + const addMemberProposal = helper.council.membership.addMemberCall(newCouncilMember.address); + + await expect(proposalFromAllCouncil(addMemberProposal)).to.be.rejected; + }); + + itSub('[Negative] Council cannot remove Council member', async ({helper}) => { + const removeMemberProposal = helper.council.membership.removeMemberCall(counselors.alex.address); + + await expect(proposalFromAllCouncil(removeMemberProposal)).to.be.rejected; + }); + + itSub('[Negative] Council cannot submit regular democracy proposal', async ({helper}) => { + const councilProposal = await helper.democracy.proposeCall(dummyProposalCall(helper), 0n); + + await expect(proposalFromAllCouncil(councilProposal)).to.be.rejectedWith(/BadOrigin/); + }); + + itSub('[Negative] Council cannot externally propose SimpleMajority', async ({helper}) => { + const councilProposal = await helper.democracy.externalProposeMajorityCall(dummyProposalCall(helper)); + + await expect(proposalFromAllCouncil(councilProposal)).to.be.rejectedWith(/BadOrigin/); + }); + + itSub('[Negative] Council cannot externally propose SuperMajorityApprove', async ({helper}) => { + const councilProposal = await helper.democracy.externalProposeCall(dummyProposalCall(helper)); + + await expect(proposalFromAllCouncil(councilProposal)).to.be.rejectedWith(/BadOrigin/); + }); + + itSub('[Negative] Council member cannot add/remove a Council member', async ({helper}) => { + const newCouncilMember = helper.arrange.createEmptyAccount(); + await expect(helper.council.collective.execute( + counselors.alex, + helper.council.membership.addMemberCall(newCouncilMember.address), + )).to.be.rejectedWith('BadOrigin'); + await expect(helper.council.collective.execute( + counselors.alex, + helper.council.membership.removeMemberCall(counselors.charu.address), + )).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] Council cannot set/clear Council prime member', async ({helper}) => { + const proposalForSet = await helper.council.membership.setPrimeCall(counselors.charu.address); + const proposalForClear = await helper.council.membership.clearPrimeCall(); + + await expect(proposalFromAllCouncil(proposalForSet)).to.be.rejectedWith(/BadOrigin/); + await expect(proposalFromAllCouncil(proposalForClear)).to.be.rejectedWith(/BadOrigin/); + + }); + + itSub('[Negative] Council member cannot set/clear Council prime member', async ({helper}) => { + await expect(helper.council.collective.execute( + counselors.alex, + helper.council.membership.setPrimeCall(counselors.charu.address), + )).to.be.rejectedWith('BadOrigin'); + await expect(helper.council.collective.execute( + counselors.alex, + helper.council.membership.clearPrimeCall(), + )).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] Council member cannot add/remove a TechComm member', async ({helper}) => { + const newTechCommMember = helper.arrange.createEmptyAccount(); + await expect(helper.council.collective.execute( + counselors.alex, + helper.technicalCommittee.membership.addMemberCall(newTechCommMember.address), + )).to.be.rejectedWith('BadOrigin'); + await expect(helper.council.collective.execute( + counselors.alex, + helper.technicalCommittee.membership.removeMemberCall(newTechCommMember.address), + )).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] Council member cannot promote/demote a Fellowship member', async ({helper}) => { + const fellowship = await initFellowship(donor, sudoer); + const memberWithRankOne = fellowship[1][0]; + + await expect(helper.council.collective.execute( + counselors.alex, + helper.fellowship.collective.promoteCall(memberWithRankOne.address), + )).to.be.rejectedWith('BadOrigin'); + await expect(helper.council.collective.execute( + counselors.alex, + helper.fellowship.collective.demoteCall(memberWithRankOne.address), + )).to.be.rejectedWith('BadOrigin'); + await clearFellowship(sudoer); + }); + + itSub('[Negative] Council cannot fast-track Democracy proposals', async ({helper}) => { + const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true); + await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash); + + await expect(proposalFromAllCouncil(helper.democracy.fastTrackCall(preimageHash, democracyFastTrackVotingPeriod, 0))) + .to.be.rejectedWith(/BadOrigin/); + }); + + itSub('[Negative] Council member cannot fast-track Democracy proposals', async ({helper}) => { + const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true); + await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash); + + await expect(helper.council.collective.execute( + counselors.alex, + helper.democracy.fastTrackCall(preimageHash, democracyFastTrackVotingPeriod, 0), + )).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] Council cannot cancel Democracy proposals', async ({helper}) => { + const proposeResult = await helper.getSudo().democracy.propose(sudoer, dummyProposalCall(helper), 0n); + const proposalIndex = Event.Democracy.Proposed.expect(proposeResult).proposalIndex; + + await expect(proposalFromAllCouncil(helper.democracy.cancelProposalCall(proposalIndex))) + .to.be.rejectedWith(/BadOrigin/); + }); + + itSub('[Negative] Council member cannot cancel Democracy proposals', async ({helper}) => { + + const proposeResult = await helper.getSudo().democracy.propose(sudoer, dummyProposalCall(helper), 0n); + const proposalIndex = Event.Democracy.Proposed.expect(proposeResult).proposalIndex; + + await expect(helper.council.collective.execute( + counselors.alex, + helper.democracy.cancelProposalCall(proposalIndex), + )).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] Council cannot cancel ongoing Democracy referendums', async ({helper}) => { + await helper.getSudo().democracy.externalProposeDefault(sudoer, dummyProposalCall(helper)); + const startedEvent = await helper.wait.expectEvent(democracyLaunchPeriod, Event.Democracy.Started); + const referendumIndex = startedEvent.referendumIndex; + + await expect(proposalFromAllCouncil(helper.democracy.emergencyCancelCall(referendumIndex))) + .to.be.rejectedWith(/BadOrigin/); + }); + + itSub('[Negative] Council member cannot cancel ongoing Democracy referendums', async ({helper}) => { + await helper.getSudo().democracy.externalProposeDefault(sudoer, dummyProposalCall(helper)); + const startedEvent = await helper.wait.expectEvent(democracyLaunchPeriod, Event.Democracy.Started); + const referendumIndex = startedEvent.referendumIndex; + + await expect(helper.council.collective.execute( + counselors.alex, + helper.democracy.emergencyCancelCall(referendumIndex), + )).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] Council cannot cancel Fellowship referendums', async ({helper}) => { + const fellowship = await initFellowship(donor, sudoer); + const fellowshipProposer = fellowship[5][0]; + const proposal = dummyProposal(helper); + + const submitResult = await helper.fellowship.referenda.submit( + fellowshipProposer, + fellowshipPropositionOrigin, + proposal, + defaultEnactmentMoment, + ); + + const referendumIndex = Event.FellowshipReferenda.Submitted.expect(submitResult).referendumIndex; + + await expect(proposalFromAllCouncil(helper.fellowship.referenda.cancelCall(referendumIndex))) + .to.be.rejectedWith(/BadOrigin/); + }); + + itSub('[Negative] Council member cannot cancel Fellowship referendums', async ({helper}) => { + const fellowship = await initFellowship(donor, sudoer); + const fellowshipProposer = fellowship[5][0]; + const proposal = dummyProposal(helper); + + const submitResult = await helper.fellowship.referenda.submit( + fellowshipProposer, + fellowshipPropositionOrigin, + proposal, + defaultEnactmentMoment, + ); + const referendumIndex = Event.FellowshipReferenda.Submitted.expect(submitResult).referendumIndex; + await expect(helper.council.collective.execute( + counselors.alex, + helper.fellowship.referenda.cancelCall(referendumIndex), + )).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] Council referendum cannot be closed until the voting threshold is met', async ({helper}) => { + const councilSize = (await helper.callRpc('api.query.councilMembership.members')).toJSON().length as any as number; + expect(councilSize).is.greaterThan(1); + const proposeResult = await helper.council.collective.propose( + counselors.filip, + dummyProposalCall(helper), + councilSize, + ); + + const councilProposedEvent = Event.Council.Proposed.expect(proposeResult); + const proposalIndex = councilProposedEvent.proposalIndex; + const proposalHash = councilProposedEvent.proposalHash; + + + await helper.council.collective.vote(counselors.alex, proposalHash, proposalIndex, true); + await expect(helper.council.collective.close(counselors.filip, proposalHash, proposalIndex)).to.be.rejectedWith('TooEarly'); + }); + +}); diff --git a/tests/src/governance/democracy.test.ts b/tests/src/governance/democracy.test.ts new file mode 100644 index 0000000000..bf822bbaf5 --- /dev/null +++ b/tests/src/governance/democracy.test.ts @@ -0,0 +1,89 @@ +import {IKeyringPair} from '@polkadot/types/types'; +import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describeGov} from '../util'; +import {clearFellowship, democracyLaunchPeriod, democracyTrackMinRank, dummyProposalCall, fellowshipConfirmPeriod, fellowshipMinEnactPeriod, fellowshipPreparePeriod, fellowshipPropositionOrigin, initFellowship, voteUnanimouslyInFellowship} from './util'; +import {Event} from '../util/playgrounds/unique.dev'; + +describeGov('Governance: Democracy tests', () => { + let regularUser: IKeyringPair; + let donor: IKeyringPair; + let sudoer: IKeyringPair; + + before(async function() { + await usingPlaygrounds(async (helper, privateKey) => { + requirePalletsOrSkip(this, helper, [Pallets.Democracy]); + + donor = await privateKey({url: import.meta.url}); + sudoer = await privateKey('//Alice'); + + [regularUser] = await helper.arrange.createAccounts([1000n], donor); + }); + }); + + itSub('Regular user can vote', async ({helper}) => { + const fellows = await initFellowship(donor, sudoer); + const rank1Proposer = fellows[1][0]; + + const democracyProposalCall = dummyProposalCall(helper); + const fellowshipProposal = { + Inline: helper.democracy.proposeCall(democracyProposalCall, 0n).method.toHex(), + }; + + const submitResult = await helper.fellowship.referenda.submit( + rank1Proposer, + fellowshipPropositionOrigin, + fellowshipProposal, + {After: 0}, + ); + + const fellowshipReferendumIndex = Event.FellowshipReferenda.Submitted.expect(submitResult).referendumIndex; + await voteUnanimouslyInFellowship(helper, fellows, democracyTrackMinRank, fellowshipReferendumIndex); + await helper.fellowship.referenda.placeDecisionDeposit(donor, fellowshipReferendumIndex); + + await helper.wait.expectEvent( + fellowshipPreparePeriod + fellowshipConfirmPeriod + fellowshipMinEnactPeriod, + Event.Democracy.Proposed, + ); + + const startedEvent = await helper.wait.expectEvent(democracyLaunchPeriod, Event.Democracy.Started); + const referendumIndex = startedEvent.referendumIndex; + + const ayeBalance = 10_000n; + + await helper.democracy.vote(regularUser, referendumIndex, { + Standard: { + vote: { + aye: true, + conviction: 1, + }, + balance: ayeBalance, + }, + }); + + const referendumInfo = await helper.democracy.referendumInfo(referendumIndex); + const tally = referendumInfo.ongoing.tally; + + expect(BigInt(tally.ayes)).to.be.equal(ayeBalance); + + await clearFellowship(sudoer); + }); + + itSub('[Negative] Regular user cannot submit a regular proposal', async ({helper}) => { + const submitResult = helper.democracy.propose(regularUser, dummyProposalCall(helper), 0n); + await expect(submitResult).to.be.rejectedWith(/BadOrigin/); + }); + + itSub('[Negative] Regular user cannot externally propose SuperMajorityAgainst', async ({helper}) => { + const submitResult = helper.democracy.externalProposeDefault(regularUser, dummyProposalCall(helper)); + await expect(submitResult).to.be.rejectedWith(/BadOrigin/); + }); + + itSub('[Negative] Regular user cannot externally propose SimpleMajority', async ({helper}) => { + const submitResult = helper.democracy.externalProposeMajority(regularUser, dummyProposalCall(helper)); + await expect(submitResult).to.be.rejectedWith(/BadOrigin/); + }); + + itSub('[Negative] Regular user cannot externally propose SuperMajorityApprove', async ({helper}) => { + const submitResult = helper.democracy.externalPropose(regularUser, dummyProposalCall(helper)); + await expect(submitResult).to.be.rejectedWith(/BadOrigin/); + }); +}); diff --git a/tests/src/governance/fellowship.test.ts b/tests/src/governance/fellowship.test.ts new file mode 100644 index 0000000000..ed3f4e241a --- /dev/null +++ b/tests/src/governance/fellowship.test.ts @@ -0,0 +1,334 @@ +import {IKeyringPair} from '@polkadot/types/types'; +import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describeGov} from '../util'; +import {DevUniqueHelper, Event} from '../util/playgrounds/unique.dev'; +import {ICounselors, initCouncil, democracyLaunchPeriod, democracyVotingPeriod, democracyFastTrackVotingPeriod, fellowshipRankLimit, clearCouncil, clearTechComm, ITechComms, clearFellowship, defaultEnactmentMoment, dummyProposal, dummyProposalCall, fellowshipPropositionOrigin, initFellowship, initTechComm, voteUnanimouslyInFellowship, democracyTrackMinRank, fellowshipPreparePeriod, fellowshipConfirmPeriod, fellowshipMinEnactPeriod, democracyTrackId, hardResetFellowshipReferenda, hardResetDemocracy, hardResetGovScheduler} from './util'; + +describeGov('Governance: Fellowship tests', () => { + let members: IKeyringPair[][]; + + let rank1Proposer: IKeyringPair; + + let sudoer: any; + let donor: any; + let counselors: ICounselors; + let techcomms: ITechComms; + + const submissionDeposit = 1000n; + + async function testBadFellowshipProposal( + helper: DevUniqueHelper, + proposalCall: any, + ) { + const badProposal = { + Inline: proposalCall.method.toHex(), + }; + const submitResult = await helper.fellowship.referenda.submit( + rank1Proposer, + fellowshipPropositionOrigin, + badProposal, + defaultEnactmentMoment, + ); + + const referendumIndex = Event.FellowshipReferenda.Submitted.expect(submitResult).referendumIndex; + await voteUnanimouslyInFellowship(helper, members, democracyTrackMinRank, referendumIndex); + await helper.fellowship.referenda.placeDecisionDeposit(donor, referendumIndex); + + const enactmentId = await helper.fellowship.referenda.enactmentEventId(referendumIndex); + const dispatchedEvent = await helper.wait.expectEvent( + fellowshipPreparePeriod + fellowshipConfirmPeriod + defaultEnactmentMoment.After, + Event.Scheduler.Dispatched, + (event: any) => event.id == enactmentId, + ); + + expect(dispatchedEvent.result.isErr, 'Bad Fellowship must fail') + .to.be.true; + + expect(dispatchedEvent.result.asErr.isBadOrigin, 'Bad Fellowship must fail with BadOrigin') + .to.be.true; + } + + before(async function() { + await usingPlaygrounds(async (helper, privateKey) => { + requirePalletsOrSkip(this, helper, [Pallets.Democracy, Pallets.Fellowship, Pallets.TechnicalCommittee, Pallets.Council]); + + sudoer = await privateKey('//Alice'); + donor = await privateKey({url: import.meta.url}); + }); + + counselors = await initCouncil(donor, sudoer); + techcomms = await initTechComm(donor, sudoer); + members = await initFellowship(donor, sudoer); + + rank1Proposer = members[1][0]; + }); + + after(async () => { + await clearFellowship(sudoer); + await clearTechComm(sudoer); + await clearCouncil(sudoer); + await hardResetFellowshipReferenda(sudoer); + await hardResetDemocracy(sudoer); + await hardResetGovScheduler(sudoer); + }); + + itSub('FellowshipProposition can submit regular Democracy proposals', async ({helper}) => { + const democracyProposalCall = dummyProposalCall(helper); + const fellowshipProposal = { + Inline: helper.democracy.proposeCall(democracyProposalCall, 0n).method.toHex(), + }; + + const submitResult = await helper.fellowship.referenda.submit( + rank1Proposer, + fellowshipPropositionOrigin, + fellowshipProposal, + defaultEnactmentMoment, + ); + + const fellowshipReferendumIndex = Event.FellowshipReferenda.Submitted.expect(submitResult).referendumIndex; + await voteUnanimouslyInFellowship(helper, members, democracyTrackMinRank, fellowshipReferendumIndex); + await helper.fellowship.referenda.placeDecisionDeposit(donor, fellowshipReferendumIndex); + + const democracyProposed = await helper.wait.expectEvent( + fellowshipPreparePeriod + fellowshipConfirmPeriod + fellowshipMinEnactPeriod, + Event.Democracy.Proposed, + ); + + const democracyEnqueuedProposal = await helper.democracy.expectPublicProposal(democracyProposed.proposalIndex); + expect(democracyEnqueuedProposal.inline, 'Fellowship proposal expected to be in the Democracy') + .to.be.equal(democracyProposalCall.method.toHex()); + + await helper.wait.newBlocks(democracyVotingPeriod); + }); + + itSub('Fellowship (rank-1 or greater) member can submit Fellowship proposals on the Democracy track', async ({helper}) => { + for(let rank = 1; rank < fellowshipRankLimit; rank++) { + const rankMembers = members[rank]; + + for(let memberIdx = 0; memberIdx < rankMembers.length; memberIdx++) { + const member = rankMembers[memberIdx]; + const newDummyProposal = dummyProposal(helper); + + const submitResult = await helper.fellowship.referenda.submit( + member, + fellowshipPropositionOrigin, + newDummyProposal, + defaultEnactmentMoment, + ); + + const referendumIndex = Event.FellowshipReferenda.Submitted.expect(submitResult).referendumIndex; + const referendumInfo = await helper.fellowship.referenda.referendumInfo(referendumIndex); + expect(referendumInfo.ongoing.track, `${memberIdx}-th member of rank #${rank}: proposal #${referendumIndex} is on invalid track`) + .to.be.equal(democracyTrackId); + } + } + }); + + itSub(`Fellowship (rank-${democracyTrackMinRank} or greater) members can vote on the Democracy track`, async ({helper}) => { + const proposal = dummyProposal(helper); + + const submitResult = await helper.fellowship.referenda.submit( + rank1Proposer, + fellowshipPropositionOrigin, + proposal, + defaultEnactmentMoment, + ); + + const referendumIndex = Event.FellowshipReferenda.Submitted.expect(submitResult).referendumIndex; + + let expectedAyes = 0; + for(let rank = democracyTrackMinRank; rank < fellowshipRankLimit; rank++) { + const rankMembers = members[rank]; + + for(let memberIdx = 0; memberIdx < rankMembers.length; memberIdx++) { + const member = rankMembers[memberIdx]; + await helper.fellowship.collective.vote(member, referendumIndex, true); + expectedAyes += 1; + + const referendumInfo = await helper.fellowship.referenda.referendumInfo(referendumIndex); + expect(referendumInfo.ongoing.tally.bareAyes, `Vote from ${memberIdx}-th member of rank #${rank} isn't accounted`) + .to.be.equal(expectedAyes); + } + } + }); + + itSub('Fellowship rank vote strength is correct', async ({helper}) => { + const excessRankWeightTable = [ + 1, + 3, + 6, + 10, + 15, + 21, + ]; + + const proposal = dummyProposal(helper); + + const submitResult = await helper.fellowship.referenda.submit( + rank1Proposer, + fellowshipPropositionOrigin, + proposal, + defaultEnactmentMoment, + ); + + const referendumIndex = Event.FellowshipReferenda.Submitted.expect(submitResult).referendumIndex; + + for(let rank = democracyTrackMinRank; rank < fellowshipRankLimit; rank++) { + const rankMembers = members[rank]; + + for(let memberIdx = 0; memberIdx < rankMembers.length; memberIdx++) { + const member = rankMembers[memberIdx]; + + const referendumInfoBefore = await helper.fellowship.referenda.referendumInfo(referendumIndex); + const ayesBefore = referendumInfoBefore.ongoing.tally.ayes; + + await helper.fellowship.collective.vote(member, referendumIndex, true); + + const referendumInfoAfter = await helper.fellowship.referenda.referendumInfo(referendumIndex); + const ayesAfter = referendumInfoAfter.ongoing.tally.ayes; + + const expectedVoteWeight = excessRankWeightTable[rank - democracyTrackMinRank]; + const voteWeight = ayesAfter - ayesBefore; + + expect(voteWeight, `Vote weight of ${memberIdx}-th member of rank #${rank} is invalid`) + .to.be.equal(expectedVoteWeight); + } + } + }); + + itSub('[Negative] FellowshipProposition cannot externally propose SuperMajorityAgainst', async ({helper}) => { + await testBadFellowshipProposal(helper, helper.democracy.externalProposeDefaultCall(dummyProposalCall(helper))); + }); + + itSub('[Negative] FellowshipProposition cannot externally propose SimpleMajority', async ({helper}) => { + await testBadFellowshipProposal(helper, helper.democracy.externalProposeMajorityCall(dummyProposalCall(helper))); + }); + + itSub('[Negative] FellowshipProposition cannot externally propose SuperMajorityApprove', async ({helper}) => { + await testBadFellowshipProposal(helper, helper.democracy.externalProposeCall(dummyProposalCall(helper))); + }); + + itSub('[Negative] Fellowship (rank-0) member cannot submit Fellowship proposals on the Democracy track', async ({helper}) => { + const rank0Proposer = members[0][0]; + + const proposal = dummyProposal(helper); + + const submitResult = helper.fellowship.referenda.submit( + rank0Proposer, + fellowshipPropositionOrigin, + proposal, + defaultEnactmentMoment, + ); + + await expect(submitResult).to.be.rejectedWith(/BadOrigin/); + }); + + itSub('[Negative] Fellowship (rank-1 or greater) member cannot submit if no deposit can be provided', async ({helper}) => { + const poorMember = rank1Proposer; + + const balanceBefore = await helper.balance.getSubstrate(poorMember.address); + await helper.getSudo().balance.setBalanceSubstrate(sudoer, poorMember.address, submissionDeposit - 1n); + + const proposal = dummyProposal(helper); + + const submitResult = helper.fellowship.referenda.submit( + poorMember, + fellowshipPropositionOrigin, + proposal, + defaultEnactmentMoment, + ); + + await expect(submitResult).to.be.rejectedWith(/account balance too low/); + + await helper.getSudo().balance.setBalanceSubstrate(sudoer, poorMember.address, balanceBefore); + }); + + itSub(`[Negative] Fellowship (rank-${democracyTrackMinRank - 1} or less) members cannot vote on the Democracy track`, async ({helper}) => { + const proposal = dummyProposal(helper); + + const submitResult = await helper.fellowship.referenda.submit( + rank1Proposer, + fellowshipPropositionOrigin, + proposal, + defaultEnactmentMoment, + ); + + const referendumIndex = Event.FellowshipReferenda.Submitted.expect(submitResult).referendumIndex; + + for(let rank = 0; rank < democracyTrackMinRank; rank++) { + for(const member of members[rank]) { + const voteResult = helper.fellowship.collective.vote(member, referendumIndex, true); + await expect(voteResult).to.be.rejectedWith(/RankTooLow/); + } + } + }); + + itSub('[Negative] FellowshipProposition cannot add/remove a Council member', async ({helper}) => { + const [councilNonMember] = await helper.arrange.createAccounts([10n], donor); + + await testBadFellowshipProposal(helper, helper.council.membership.addMemberCall(councilNonMember.address)); + await testBadFellowshipProposal(helper, helper.council.membership.removeMemberCall(counselors.ildar.address)); + }); + + itSub('[Negative] FellowshipProposition cannot set/clear Council prime member', async ({helper}) => { + await testBadFellowshipProposal(helper, helper.council.membership.setPrimeCall(counselors.ildar.address)); + await testBadFellowshipProposal(helper, helper.council.membership.clearPrimeCall()); + }); + + itSub('[Negative] FellowshipProposition cannot add/remove a TechComm member', async ({helper}) => { + const [techCommNonMember] = await helper.arrange.createAccounts([10n], donor); + + await testBadFellowshipProposal(helper, helper.technicalCommittee.membership.addMemberCall(techCommNonMember.address)); + await testBadFellowshipProposal(helper, helper.technicalCommittee.membership.removeMemberCall(techcomms.constantine.address)); + }); + + itSub('[Negative] FellowshipProposition cannot add/remove a Fellowship member', async ({helper}) => { + const [fellowshipNonMember] = await helper.arrange.createAccounts([10n], donor); + + await testBadFellowshipProposal(helper, helper.fellowship.collective.addMemberCall(fellowshipNonMember.address)); + await testBadFellowshipProposal(helper, helper.fellowship.collective.removeMemberCall(rank1Proposer.address, 1)); + }); + + itSub('[Negative] FellowshipProposition cannot promote/demote a Fellowship member', async ({helper}) => { + await testBadFellowshipProposal(helper, helper.fellowship.collective.promoteCall(rank1Proposer.address)); + await testBadFellowshipProposal(helper, helper.fellowship.collective.demoteCall(rank1Proposer.address)); + }); + + itSub('[Negative] FellowshipProposition cannot fast-track Democracy proposals', async ({helper}) => { + const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true); + + await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash); + + await testBadFellowshipProposal(helper, helper.democracy.fastTrackCall(preimageHash, democracyFastTrackVotingPeriod, 0)); + }); + + itSub('[Negative] FellowshipProposition cannot cancel Democracy proposals', async ({helper}) => { + const proposeResult = await helper.getSudo().democracy.propose(sudoer, dummyProposalCall(helper), 0n); + const proposalIndex = Event.Democracy.Proposed.expect(proposeResult).proposalIndex; + + await testBadFellowshipProposal(helper, helper.democracy.cancelProposalCall(proposalIndex)); + }); + + itSub('[Negative] FellowshipProposition cannot cancel ongoing Democracy referendums', async ({helper}) => { + await helper.getSudo().democracy.externalProposeDefault(sudoer, dummyProposalCall(helper)); + const startedEvent = await helper.wait.expectEvent(democracyLaunchPeriod, Event.Democracy.Started); + const referendumIndex = startedEvent.referendumIndex; + + await testBadFellowshipProposal(helper, helper.democracy.emergencyCancelCall(referendumIndex)); + }); + + itSub('[Negative] FellowshipProposition cannot blacklist Democracy proposals', async ({helper}) => { + const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true); + + await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash); + + await testBadFellowshipProposal(helper, helper.democracy.blacklistCall(preimageHash, null)); + }); + + itSub('[Negative] FellowshipProposition cannot veto external proposals', async ({helper}) => { + const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true); + + await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash); + + await testBadFellowshipProposal(helper, helper.democracy.vetoExternalCall(preimageHash)); + }); +}); diff --git a/tests/src/governance/technicalCommittee.test.ts b/tests/src/governance/technicalCommittee.test.ts new file mode 100644 index 0000000000..e717022721 --- /dev/null +++ b/tests/src/governance/technicalCommittee.test.ts @@ -0,0 +1,375 @@ +import {IKeyringPair} from '@polkadot/types/types'; +import {usingPlaygrounds, itSub, expect, Pallets, requirePalletsOrSkip, describeGov} from '../util'; +import {Event} from '../util/playgrounds/unique.dev'; +import {initCouncil, democracyLaunchPeriod, democracyFastTrackVotingPeriod, clearCouncil, clearTechComm, ITechComms, clearFellowship, defaultEnactmentMoment, dummyProposal, dummyProposalCall, fellowshipPropositionOrigin, initFellowship, initTechComm, hardResetFellowshipReferenda, hardResetDemocracy, hardResetGovScheduler} from './util'; + +describeGov('Governance: Technical Committee tests', () => { + let sudoer: IKeyringPair; + let techcomms: ITechComms; + let donor: IKeyringPair; + let preImageHash: string; + + + const allTechCommitteeThreshold = 3; + + before(async function() { + await usingPlaygrounds(async (helper, privateKey) => { + requirePalletsOrSkip(this, helper, [Pallets.TechnicalCommittee]); + sudoer = await privateKey('//Alice'); + donor = await privateKey({url: import.meta.url}); + + techcomms = await initTechComm(donor, sudoer); + + const proposalCall = await helper.constructApiCall('api.tx.balances.forceSetBalance', [donor.address, 20n * 10n ** 25n]); + preImageHash = await helper.preimage.notePreimageFromCall(sudoer, proposalCall, true); + }); + }); + + after(async () => { + await usingPlaygrounds(async (helper) => { + await clearTechComm(sudoer); + + await helper.preimage.unnotePreimage(sudoer, preImageHash); + await hardResetFellowshipReferenda(sudoer); + await hardResetDemocracy(sudoer); + await hardResetGovScheduler(sudoer); + }); + }); + + async function proposalFromAllCommittee(proposal: any) { + return await usingPlaygrounds(async (helper) => { + expect((await helper.callRpc('api.query.technicalCommitteeMembership.members')).toJSON().length).to.be.equal(allTechCommitteeThreshold); + const proposeResult = await helper.technicalCommittee.collective.propose( + techcomms.andy, + proposal, + allTechCommitteeThreshold, + ); + + const commiteeProposedEvent = Event.TechnicalCommittee.Proposed.expect(proposeResult); + const proposalIndex = commiteeProposedEvent.proposalIndex; + const proposalHash = commiteeProposedEvent.proposalHash; + + + await helper.technicalCommittee.collective.vote(techcomms.andy, proposalHash, proposalIndex, true); + await helper.technicalCommittee.collective.vote(techcomms.constantine, proposalHash, proposalIndex, true); + await helper.technicalCommittee.collective.vote(techcomms.greg, proposalHash, proposalIndex, true); + + return await helper.technicalCommittee.collective.close(techcomms.andy, proposalHash, proposalIndex); + }); + } + + itSub('TechComm can fast-track Democracy proposals', async ({helper}) => { + const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true); + await helper.wait.parachainBlockMultiplesOf(35n); + + await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash); + + await expect(proposalFromAllCommittee(helper.democracy.fastTrackCall(preimageHash, democracyFastTrackVotingPeriod, 0))) + .to.be.fulfilled; + }); + + itSub('TechComm can cancel Democracy proposals', async ({helper}) => { + const proposeResult = await helper.getSudo().democracy.propose(sudoer, dummyProposalCall(helper), 0n); + const proposalIndex = Event.Democracy.Proposed.expect(proposeResult).proposalIndex; + + await expect(proposalFromAllCommittee(helper.democracy.cancelProposalCall(proposalIndex))) + .to.be.fulfilled; + }); + + itSub('TechComm can cancel ongoing Democracy referendums', async ({helper}) => { + await helper.getSudo().democracy.externalProposeDefault(sudoer, dummyProposalCall(helper)); + const startedEvent = await helper.wait.expectEvent(democracyLaunchPeriod, Event.Democracy.Started); + const referendumIndex = startedEvent.referendumIndex; + + await expect(proposalFromAllCommittee(helper.democracy.emergencyCancelCall(referendumIndex))) + .to.be.fulfilled; + }); + + + itSub('TechComm member can veto Democracy proposals', async ({helper}) => { + const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true); + await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash); + + await expect(helper.technicalCommittee.collective.execute( + techcomms.andy, + helper.democracy.vetoExternalCall(preimageHash), + )).to.be.fulfilled; + }); + + itSub('TechComm can cancel Fellowship referendums', async ({helper}) => { + const fellowship = await initFellowship(donor, sudoer); + const fellowshipProposer = fellowship[5][0]; + const proposal = dummyProposal(helper); + + const submitResult = await helper.fellowship.referenda.submit( + fellowshipProposer, + fellowshipPropositionOrigin, + proposal, + defaultEnactmentMoment, + ); + const referendumIndex = Event.FellowshipReferenda.Submitted.expect(submitResult).referendumIndex; + await expect(proposalFromAllCommittee(helper.fellowship.referenda.cancelCall(referendumIndex))).to.be.fulfilled; + }); + + itSub.skip('TechComm member can add a Fellowship member', async ({helper}) => { + const newFellowshipMember = helper.arrange.createEmptyAccount(); + await expect(helper.technicalCommittee.collective.execute( + techcomms.andy, + helper.fellowship.collective.addMemberCall(newFellowshipMember.address), + )).to.be.fulfilled; + const fellowshipMembers = (await helper.callRpc('api.query.fellowshipCollective.members')).toJSON(); + expect(fellowshipMembers).to.contains(newFellowshipMember.address); + await clearFellowship(sudoer); + }); + + itSub('[Negative] TechComm cannot submit regular democracy proposal', async ({helper}) => { + const councilProposal = await helper.democracy.proposeCall(dummyProposalCall(helper), 0n); + + await expect(proposalFromAllCommittee(councilProposal)).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] TechComm cannot externally propose SuperMajorityAgainst', async ({helper}) => { + const commiteeProposal = await helper.democracy.externalProposeDefaultCall(dummyProposalCall(helper)); + + await expect(proposalFromAllCommittee(commiteeProposal)).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] TechComm cannot externally propose SimpleMajority', async ({helper}) => { + const commiteeProposal = await helper.democracy.externalProposeMajorityCall(dummyProposalCall(helper)); + + await expect(proposalFromAllCommittee(commiteeProposal)).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] TechComm cannot externally propose SuperMajorityApprove', async ({helper}) => { + const commiteeProposal = await helper.democracy.externalProposeCall(dummyProposalCall(helper)); + + await expect(proposalFromAllCommittee(commiteeProposal)).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] TechComm member cannot submit regular democracy proposal', async ({helper}) => { + const memberProposal = await helper.democracy.proposeCall(dummyProposalCall(helper), 0n); + + await expect(helper.technicalCommittee.collective.execute( + techcomms.andy, + memberProposal, + )).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] TechComm member cannot externally propose SuperMajorityAgainst', async ({helper}) => { + const memberProposal = await helper.democracy.externalProposeDefaultCall(dummyProposalCall(helper)); + + await expect(helper.technicalCommittee.collective.execute( + techcomms.andy, + memberProposal, + )).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] TechComm member cannot externally propose SimpleMajority', async ({helper}) => { + const memberProposal = await helper.democracy.externalProposeMajorityCall(dummyProposalCall(helper)); + + await expect(helper.technicalCommittee.collective.execute( + techcomms.andy, + memberProposal, + )).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] TechComm member cannot externally propose SuperMajorityApprove', async ({helper}) => { + const memberProposal = await helper.democracy.externalProposeCall(dummyProposalCall(helper)); + + await expect(helper.technicalCommittee.collective.execute( + techcomms.andy, + memberProposal, + )).to.be.rejectedWith('BadOrigin'); + }); + + + itSub.skip('[Negative] TechComm cannot promote/demote Fellowship member', async ({helper}) => { + + }); + + itSub.skip('[Negative] TechComm member cannot promote/demote Fellowship member', async ({helper}) => { + + }); + + itSub('[Negative] TechComm cannot add/remove a Council member', async ({helper}) => { + const newCouncilMember = helper.arrange.createEmptyAccount(); + const addMemberProposal = helper.council.membership.addMemberCall(newCouncilMember.address); + const removeMemberProposal = helper.council.membership.removeMemberCall(newCouncilMember.address); + + await expect(proposalFromAllCommittee(addMemberProposal)).to.be.rejectedWith('BadOrigin'); + await expect(proposalFromAllCommittee(removeMemberProposal)).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] TechComm member cannot add/remove a Council member', async ({helper}) => { + const newCouncilMember = helper.arrange.createEmptyAccount(); + const addMemberProposal = helper.council.membership.addMemberCall(newCouncilMember.address); + const removeMemberProposal = helper.council.membership.removeMemberCall(newCouncilMember.address); + + await expect(helper.technicalCommittee.collective.execute( + techcomms.andy, + addMemberProposal, + )).to.be.rejectedWith('BadOrigin'); + await expect(helper.technicalCommittee.collective.execute( + techcomms.andy, + removeMemberProposal, + )).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] TechComm cannot set/clear Council prime member', async ({helper}) => { + const counselors = await initCouncil(donor, sudoer); + const proposalForSet = await helper.council.membership.setPrimeCall(counselors.charu.address); + const proposalForClear = await helper.council.membership.clearPrimeCall(); + + await expect(proposalFromAllCommittee(proposalForSet)).to.be.rejectedWith('BadOrigin'); + await expect(proposalFromAllCommittee(proposalForClear)).to.be.rejectedWith('BadOrigin'); + await clearCouncil(sudoer); + }); + + itSub('[Negative] TechComm member cannot set/clear Council prime member', async ({helper}) => { + const counselors = await initCouncil(donor, sudoer); + const proposalForSet = await helper.council.membership.setPrimeCall(counselors.charu.address); + const proposalForClear = await helper.council.membership.clearPrimeCall(); + + await expect(helper.technicalCommittee.collective.execute( + techcomms.andy, + proposalForSet, + )).to.be.rejectedWith('BadOrigin'); + await expect(helper.technicalCommittee.collective.execute( + techcomms.andy, + proposalForClear, + )).to.be.rejectedWith('BadOrigin'); + await clearCouncil(sudoer); + }); + + itSub('[Negative] TechComm cannot add/remove a TechComm member', async ({helper}) => { + const newCommMember = helper.arrange.createEmptyAccount(); + const addMemberProposal = helper.council.membership.addMemberCall(newCommMember.address); + const removeMemberProposal = helper.council.membership.removeMemberCall(newCommMember.address); + + await expect(proposalFromAllCommittee(addMemberProposal)).to.be.rejectedWith('BadOrigin'); + await expect(proposalFromAllCommittee(removeMemberProposal)).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] TechComm member cannot add/remove a TechComm member', async ({helper}) => { + const newCommMember = helper.arrange.createEmptyAccount(); + const addMemberProposal = helper.council.membership.addMemberCall(newCommMember.address); + const removeMemberProposal = helper.council.membership.removeMemberCall(newCommMember.address); + + await expect(helper.technicalCommittee.collective.execute( + techcomms.andy, + addMemberProposal, + )).to.be.rejectedWith('BadOrigin'); + await expect(helper.technicalCommittee.collective.execute( + techcomms.andy, + removeMemberProposal, + )).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] TechComm cannot remove a Fellowship member', async ({helper}) => { + const fellowship = await initFellowship(donor, sudoer); + + await expect(proposalFromAllCommittee(helper.fellowship.collective.removeMemberCall(fellowship[5][0].address, 5))).to.be.rejectedWith('BadOrigin'); + await clearFellowship(sudoer); + }); + + itSub('[Negative] TechComm member cannot remove a Fellowship member', async ({helper}) => { + const fellowship = await initFellowship(donor, sudoer); + + await expect(helper.technicalCommittee.collective.execute( + techcomms.andy, + helper.fellowship.collective.removeMemberCall(fellowship[5][0].address, 5), + )).to.be.rejectedWith('BadOrigin'); + await clearFellowship(sudoer); + }); + + itSub('[Negative] TechComm member cannot fast-track Democracy proposals', async ({helper}) => { + const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true); + await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash); + + await expect(helper.technicalCommittee.collective.execute( + techcomms.andy, + helper.democracy.fastTrackCall(preimageHash, democracyFastTrackVotingPeriod, 0), + )).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] TechComm member cannot cancel Democracy proposals', async ({helper}) => { + const proposeResult = await helper.getSudo().democracy.propose(sudoer, dummyProposalCall(helper), 0n); + const proposalIndex = Event.Democracy.Proposed.expect(proposeResult).proposalIndex; + + await expect(helper.technicalCommittee.collective.execute( + techcomms.andy, + helper.democracy.cancelProposalCall(proposalIndex), + )) + .to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] TechComm member cannot cancel ongoing Democracy referendums', async ({helper}) => { + await helper.getSudo().democracy.externalProposeDefault(sudoer, dummyProposalCall(helper)); + const startedEvent = await helper.wait.expectEvent(democracyLaunchPeriod, Event.Democracy.Started); + const referendumIndex = startedEvent.referendumIndex; + + await expect(helper.technicalCommittee.collective.execute( + techcomms.andy, + helper.democracy.emergencyCancelCall(referendumIndex), + )).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] TechComm cannot blacklist Democracy proposals', async ({helper}) => { + const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true); + await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash); + + await expect(proposalFromAllCommittee(helper.democracy.blacklistCall(preimageHash))).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] TechComm member cannot blacklist Democracy proposals', async ({helper}) => { + const preimageHash = await helper.preimage.notePreimageFromCall(sudoer, dummyProposalCall(helper), true); + await helper.getSudo().democracy.externalProposeDefaultWithPreimage(sudoer, preimageHash); + + await expect(helper.technicalCommittee.collective.execute( + techcomms.andy, + helper.democracy.blacklistCall(preimageHash), + )).to.be.rejectedWith('BadOrigin'); + }); + + itSub.skip('[Negative] TechComm member cannot veto external Democracy proposals until the cool-off period pass', async ({helper}) => { + + }); + + itSub('[Negative] TechComm member cannot cancel Fellowship referendums', async ({helper}) => { + const fellowship = await initFellowship(donor, sudoer); + const fellowshipProposer = fellowship[5][0]; + const proposal = dummyProposal(helper); + + const submitResult = await helper.fellowship.referenda.submit( + fellowshipProposer, + fellowshipPropositionOrigin, + proposal, + defaultEnactmentMoment, + ); + + const referendumIndex = Event.FellowshipReferenda.Submitted.expect(submitResult).referendumIndex; + + await expect(helper.technicalCommittee.collective.execute( + techcomms.andy, + helper.fellowship.referenda.cancelCall(referendumIndex), + )).to.be.rejectedWith('BadOrigin'); + }); + + itSub('[Negative] TechComm referendum cannot be closed until the voting threshold is met', async ({helper}) => { + const committeeSize = (await helper.callRpc('api.query.technicalCommitteeMembership.members')).toJSON().length as any as number; + expect(committeeSize).is.greaterThan(1); + const proposeResult = await helper.technicalCommittee.collective.propose( + techcomms.andy, + dummyProposalCall(helper), + committeeSize, + ); + + const committeeProposedEvent = Event.TechnicalCommittee.Proposed.expect(proposeResult); + const proposalIndex = committeeProposedEvent.proposalIndex; + const proposalHash = committeeProposedEvent.proposalHash; + + await helper.technicalCommittee.collective.vote(techcomms.constantine, proposalHash, proposalIndex, true); + + await expect(helper.technicalCommittee.collective.close(techcomms.andy, proposalHash, proposalIndex)).to.be.rejectedWith('TooEarly'); + }); +}); diff --git a/tests/src/governance/util.ts b/tests/src/governance/util.ts new file mode 100644 index 0000000000..870741a304 --- /dev/null +++ b/tests/src/governance/util.ts @@ -0,0 +1,222 @@ +import {IKeyringPair} from '@polkadot/types/types'; +import {xxhashAsHex} from '@polkadot/util-crypto'; +import {usingPlaygrounds, expect} from '../util'; +import {UniqueHelper} from '../util/playgrounds/unique'; + +export const democracyLaunchPeriod = 35; +export const democracyVotingPeriod = 35; +export const councilMotionDuration = 35; +export const democracyEnactmentPeriod = 40; +export const democracyFastTrackVotingPeriod = 5; + +export const fellowshipRankLimit = 7; +export const fellowshipPropositionOrigin = 'FellowshipProposition'; +export const fellowshipPreparePeriod = 3; +export const fellowshipConfirmPeriod = 3; +export const fellowshipMinEnactPeriod = 1; + +export const defaultEnactmentMoment = {After: 0}; + +export const democracyTrackId = 10; +export const democracyTrackMinRank = 3; +const twox128 = (data: any) => xxhashAsHex(data, 128); +export interface ICounselors { + alex: IKeyringPair; + ildar: IKeyringPair; + charu: IKeyringPair; + filip: IKeyringPair; + irina: IKeyringPair; +} +export interface ITechComms { + greg: IKeyringPair; + andy: IKeyringPair; + constantine: IKeyringPair; +} + +export async function initCouncil(donor: IKeyringPair, superuser: IKeyringPair) { + let counselors: IKeyringPair[] = []; + + await usingPlaygrounds(async (helper) => { + const [alex, ildar, charu, filip, irina] = await helper.arrange.createAccounts([10_000n, 10_000n, 10_000n, 10_000n, 10_000n], donor); + const sudo = helper.getSudo(); + { + const members = (await helper.callRpc('api.query.councilMembership.members')).toJSON() as []; + if(members.length != 0) { + await clearCouncil(superuser); + } + } + const expectedMembers = [alex, ildar, charu, filip, irina]; + for(const member of expectedMembers) { + await sudo.executeExtrinsic(superuser, 'api.tx.councilMembership.addMember', [member.address]); + } + await sudo.executeExtrinsic(superuser, 'api.tx.councilMembership.setPrime', [alex.address]); + { + const members = (await helper.callRpc('api.query.councilMembership.members')).toJSON(); + expect(members).to.containSubset(expectedMembers.map((x: IKeyringPair) => x.address)); + expect(members.length).to.be.equal(expectedMembers.length); + } + + counselors = [alex, ildar, charu, filip, irina]; + }); + return { + alex: counselors[0], + ildar: counselors[1], + charu: counselors[2], + filip: counselors[3], + irina: counselors[4], + }; +} + +export async function clearCouncil(superuser: IKeyringPair) { + await usingPlaygrounds(async (helper) => { + let members = (await helper.callRpc('api.query.councilMembership.members')).toJSON(); + if(members.length) { + const sudo = helper.getSudo(); + for(const address of members) { + await sudo.executeExtrinsic(superuser, 'api.tx.councilMembership.removeMember', [address]); + } + members = (await helper.callRpc('api.query.councilMembership.members')).toJSON(); + } + expect(members).to.be.deep.equal([]); + }); +} + + +export async function initTechComm(donor: IKeyringPair, superuser: IKeyringPair) { + let techcomms: IKeyringPair[] = []; + + await usingPlaygrounds(async (helper) => { + const [greg, andy, constantine] = await helper.arrange.createAccounts([10_000n, 10_000n, 10_000n], donor); + const sudo = helper.getSudo(); + { + const members = (await helper.callRpc('api.query.technicalCommitteeMembership.members')).toJSON() as []; + if(members.length != 0) { + await clearTechComm(superuser); + } + } + await sudo.executeExtrinsic(superuser, 'api.tx.technicalCommitteeMembership.addMember', [greg.address]); + await sudo.executeExtrinsic(superuser, 'api.tx.technicalCommitteeMembership.addMember', [andy.address]); + await sudo.executeExtrinsic(superuser, 'api.tx.technicalCommitteeMembership.addMember', [constantine.address]); + await sudo.executeExtrinsic(superuser, 'api.tx.technicalCommitteeMembership.setPrime', [greg.address]); + { + const members = (await helper.callRpc('api.query.technicalCommitteeMembership.members')).toJSON(); + expect(members).to.containSubset([greg.address, andy.address, constantine.address]); + expect(members.length).to.be.equal(3); + } + + techcomms = [greg, andy, constantine]; + }); + + return { + greg: techcomms[0], + andy: techcomms[1], + constantine: techcomms[2], + }; +} + +export async function clearTechComm(superuser: IKeyringPair) { + await usingPlaygrounds(async (helper) => { + let members = (await helper.callRpc('api.query.technicalCommitteeMembership.members')).toJSON(); + if(members.length) { + const sudo = helper.getSudo(); + for(const address of members) { + await sudo.executeExtrinsic(superuser, 'api.tx.technicalCommitteeMembership.removeMember', [address]); + } + members = (await helper.callRpc('api.query.technicalCommitteeMembership.members')).toJSON(); + } + expect(members).to.be.deep.equal([]); + }); +} + +export async function initFellowship(donor: IKeyringPair, sudoer: IKeyringPair) { + const numMembersInRank = 3; + const memberBalance = 5000n; + const members: IKeyringPair[][] = []; + + await usingPlaygrounds(async (helper) => { + const currentFellows = await helper.getApi().query.fellowshipCollective.members.keys(); + + if(currentFellows.length != 0) { + await clearFellowship(sudoer); + } + for(let i = 0; i < fellowshipRankLimit; i++) { + const rankMembers = await helper.arrange.createAccounts( + Array(numMembersInRank).fill(memberBalance), + donor, + ); + + for(const member of rankMembers) { + await helper.getSudo().fellowship.collective.addMember(sudoer, member.address); + + for(let rank = 0; rank < i; rank++) { + await helper.getSudo().fellowship.collective.promote(sudoer, member.address); + } + } + + members.push(rankMembers); + } + }); + + return members; +} + +export async function clearFellowship(sudoer: IKeyringPair) { + await usingPlaygrounds(async (helper) => { + const fellowship = (await helper.getApi().query.fellowshipCollective.members.keys()) + .map((key) => key.args[0].toString()); + for(const member of fellowship) { + await helper.getSudo().fellowship.collective.removeMember(sudoer, member, fellowshipRankLimit); + } + }); +} + +export async function clearFellowshipReferenda(sudoer: IKeyringPair) { + await usingPlaygrounds(async (helper) => { + const proposalsCount = (await helper.getApi().query.fellowshipReferenda.referendumCount()); + for(let i = 0; i < proposalsCount.toNumber(); i++) { + await helper.getSudo().fellowship.referenda.cancel(sudoer, i); + } + }); +} + +export async function hardResetFellowshipReferenda(sudoer: IKeyringPair) { + await usingPlaygrounds(async (helper) => { + const api = helper.getApi(); + const prefix = twox128('FellowshipReferenda'); + await helper.signTransaction(sudoer, api.tx.sudo.sudo(api.tx.system.killPrefix(prefix, 100))); + }); +} + +export async function hardResetDemocracy(sudoer: IKeyringPair) { + await usingPlaygrounds(async (helper) => { + const api = helper.getApi(); + const prefix = twox128('Democracy'); + await helper.signTransaction(sudoer, api.tx.sudo.sudo(api.tx.system.killPrefix(prefix, 100))); + }); +} + +export async function hardResetGovScheduler(sudoer: IKeyringPair) { + await usingPlaygrounds(async (helper) => { + const api = helper.getApi(); + const prefix = twox128('GovScheduler'); + await helper.signTransaction(sudoer, api.tx.sudo.sudo(api.tx.system.killPrefix(prefix, 500))); + }); +} + +export async function voteUnanimouslyInFellowship(helper: UniqueHelper, fellows: IKeyringPair[][], minRank: number, referendumIndex: number) { + for(let rank = minRank; rank < fellowshipRankLimit; rank++) { + for(const member of fellows[rank]) { + await helper.fellowship.collective.vote(member, referendumIndex, true); + } + } +} + +export function dummyProposalCall(helper: UniqueHelper) { + return helper.constructApiCall('api.tx.system.remark', ['dummy proposal' + (new Date()).getTime()]); +} + +export function dummyProposal(helper: UniqueHelper) { + return { + Inline: dummyProposalCall(helper).method.toHex(), + }; +} diff --git a/tests/src/interfaces/augment-api-consts.ts b/tests/src/interfaces/augment-api-consts.ts index cc95b83971..25b0da8c13 100644 --- a/tests/src/interfaces/augment-api-consts.ts +++ b/tests/src/interfaces/augment-api-consts.ts @@ -6,10 +6,10 @@ import '@polkadot/api-base/types/consts'; import type { ApiTypes, AugmentedConst } from '@polkadot/api-base/types'; -import type { Option, U8aFixed, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; -import type { Codec } from '@polkadot/types-codec/types'; +import type { Option, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; +import type { Codec, ITuple } from '@polkadot/types-codec/types'; import type { H160, Perbill, Permill } from '@polkadot/types/interfaces/runtime'; -import type { FrameSupportPalletId, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsCollectionLimits, XcmV3MultiLocation } from '@polkadot/types/lookup'; +import type { FrameSupportPalletId, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, PalletReferendaTrackInfo, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsCollectionLimits, XcmV3MultiLocation } from '@polkadot/types/lookup'; export type __AugmentedConst = AugmentedConst; @@ -118,6 +118,82 @@ declare module '@polkadot/api-base/types/consts' { **/ [key: string]: Codec; }; + council: { + /** + * The maximum weight of a dispatch call that can be proposed and executed. + **/ + maxProposalWeight: SpWeightsWeightV2Weight & AugmentedConst; + /** + * Generic const + **/ + [key: string]: Codec; + }; + democracy: { + /** + * Period in blocks where an external proposal may not be re-submitted after being vetoed. + **/ + cooloffPeriod: u32 & AugmentedConst; + /** + * The period between a proposal being approved and enacted. + * + * It should generally be a little more than the unstake period to ensure that + * voting stakers have an opportunity to remove themselves from the system in the case + * where they are on the losing side of a vote. + **/ + enactmentPeriod: u32 & AugmentedConst; + /** + * Minimum voting period allowed for a fast-track referendum. + **/ + fastTrackVotingPeriod: u32 & AugmentedConst; + /** + * Indicator for whether an emergency origin is even allowed to happen. Some chains may + * want to set this permanently to `false`, others may want to condition it on things such + * as an upgrade having happened recently. + **/ + instantAllowed: bool & AugmentedConst; + /** + * How often (in blocks) new public referenda are launched. + **/ + launchPeriod: u32 & AugmentedConst; + /** + * The maximum number of items which can be blacklisted. + **/ + maxBlacklisted: u32 & AugmentedConst; + /** + * The maximum number of deposits a public proposal may have at any time. + **/ + maxDeposits: u32 & AugmentedConst; + /** + * The maximum number of public proposals that can exist at any time. + **/ + maxProposals: u32 & AugmentedConst; + /** + * The maximum number of votes for an account. + * + * Also used to compute weight, an overly big value can + * lead to extrinsic with very big weight: see `delegate` for instance. + **/ + maxVotes: u32 & AugmentedConst; + /** + * The minimum amount to be used as a deposit for a public referendum proposal. + **/ + minimumDeposit: u128 & AugmentedConst; + /** + * The minimum period of vote locking. + * + * It should be no shorter than enactment period to ensure that in the case of an approval, + * those successful voters are locked into the consequences that their votes entail. + **/ + voteLockingPeriod: u32 & AugmentedConst; + /** + * How often (in blocks) to check for new votes. + **/ + votingPeriod: u32 & AugmentedConst; + /** + * Generic const + **/ + [key: string]: Codec; + }; evmContractHelpers: { /** * Address, under which magic contract will be available @@ -128,6 +204,53 @@ declare module '@polkadot/api-base/types/consts' { **/ [key: string]: Codec; }; + fellowshipReferenda: { + /** + * Quantization level for the referendum wakeup scheduler. A higher number will result in + * fewer storage reads/writes needed for smaller voters, but also result in delays to the + * automatic referendum status changes. Explicit servicing instructions are unaffected. + **/ + alarmInterval: u32 & AugmentedConst; + /** + * Maximum size of the referendum queue for a single track. + **/ + maxQueued: u32 & AugmentedConst; + /** + * The minimum amount to be used as a deposit for a public referendum proposal. + **/ + submissionDeposit: u128 & AugmentedConst; + /** + * Information concerning the different referendum tracks. + **/ + tracks: Vec> & AugmentedConst; + /** + * The number of blocks after submission that a referendum must begin being decided by. + * Once this passes, then anyone may cancel the referendum. + **/ + undecidingTimeout: u32 & AugmentedConst; + /** + * Generic const + **/ + [key: string]: Codec; + }; + govScheduler: { + /** + * The maximum weight that may be scheduled per block for any dispatchables. + **/ + maximumWeight: SpWeightsWeightV2Weight & AugmentedConst; + /** + * The maximum number of scheduled calls in the queue for a single block. + * + * NOTE: + * + Dependent pallets' benchmarks might require a higher limit for the setting. Set a + * higher limit under `runtime-benchmarks` feature. + **/ + maxScheduledPerBlock: u32 & AugmentedConst; + /** + * Generic const + **/ + [key: string]: Codec; + }; identity: { /** * The amount held on deposit for a registered identity @@ -236,6 +359,16 @@ declare module '@polkadot/api-base/types/consts' { **/ [key: string]: Codec; }; + technicalCommittee: { + /** + * The maximum weight of a dispatch call that can be proposed and executed. + **/ + maxProposalWeight: SpWeightsWeightV2Weight & AugmentedConst; + /** + * Generic const + **/ + [key: string]: Codec; + }; timestamp: { /** * The minimum period between blocks. Beware that this is different to the *expected* diff --git a/tests/src/interfaces/augment-api-errors.ts b/tests/src/interfaces/augment-api-errors.ts index ec1f388b58..bbfda3a046 100644 --- a/tests/src/interfaces/augment-api-errors.ts +++ b/tests/src/interfaces/augment-api-errors.ts @@ -310,12 +310,179 @@ declare module '@polkadot/api-base/types/errors' { **/ [key: string]: AugmentedError; }; + council: { + /** + * Members are already initialized! + **/ + AlreadyInitialized: AugmentedError; + /** + * Duplicate proposals not allowed + **/ + DuplicateProposal: AugmentedError; + /** + * Duplicate vote ignored + **/ + DuplicateVote: AugmentedError; + /** + * Account is not a member + **/ + NotMember: AugmentedError; + /** + * Proposal must exist + **/ + ProposalMissing: AugmentedError; + /** + * The close call was made too early, before the end of the voting. + **/ + TooEarly: AugmentedError; + /** + * There can only be a maximum of `MaxProposals` active proposals. + **/ + TooManyProposals: AugmentedError; + /** + * Mismatched index + **/ + WrongIndex: AugmentedError; + /** + * The given length bound for the proposal was too low. + **/ + WrongProposalLength: AugmentedError; + /** + * The given weight bound for the proposal was too low. + **/ + WrongProposalWeight: AugmentedError; + /** + * Generic error + **/ + [key: string]: AugmentedError; + }; + councilMembership: { + /** + * Already a member. + **/ + AlreadyMember: AugmentedError; + /** + * Not a member. + **/ + NotMember: AugmentedError; + /** + * Too many members. + **/ + TooManyMembers: AugmentedError; + /** + * Generic error + **/ + [key: string]: AugmentedError; + }; cumulusXcm: { /** * Generic error **/ [key: string]: AugmentedError; }; + democracy: { + /** + * Cannot cancel the same proposal twice + **/ + AlreadyCanceled: AugmentedError; + /** + * The account is already delegating. + **/ + AlreadyDelegating: AugmentedError; + /** + * Identity may not veto a proposal twice + **/ + AlreadyVetoed: AugmentedError; + /** + * Proposal already made + **/ + DuplicateProposal: AugmentedError; + /** + * The instant referendum origin is currently disallowed. + **/ + InstantNotAllowed: AugmentedError; + /** + * Too high a balance was provided that the account cannot afford. + **/ + InsufficientFunds: AugmentedError; + /** + * Invalid hash + **/ + InvalidHash: AugmentedError; + /** + * Maximum number of votes reached. + **/ + MaxVotesReached: AugmentedError; + /** + * No proposals waiting + **/ + NoneWaiting: AugmentedError; + /** + * Delegation to oneself makes no sense. + **/ + Nonsense: AugmentedError; + /** + * The actor has no permission to conduct the action. + **/ + NoPermission: AugmentedError; + /** + * No external proposal + **/ + NoProposal: AugmentedError; + /** + * The account is not currently delegating. + **/ + NotDelegating: AugmentedError; + /** + * Next external proposal not simple majority + **/ + NotSimpleMajority: AugmentedError; + /** + * The given account did not vote on the referendum. + **/ + NotVoter: AugmentedError; + /** + * The preimage does not exist. + **/ + PreimageNotExist: AugmentedError; + /** + * Proposal still blacklisted + **/ + ProposalBlacklisted: AugmentedError; + /** + * Proposal does not exist + **/ + ProposalMissing: AugmentedError; + /** + * Vote given for invalid referendum + **/ + ReferendumInvalid: AugmentedError; + /** + * Maximum number of items reached. + **/ + TooMany: AugmentedError; + /** + * Value too low + **/ + ValueLow: AugmentedError; + /** + * The account currently has votes attached to it and the operation cannot succeed until + * these are removed, either through `unvote` or `reap_vote`. + **/ + VotesExist: AugmentedError; + /** + * Voting period too low + **/ + VotingPeriodLow: AugmentedError; + /** + * Invalid upper bound. + **/ + WrongUpperBound: AugmentedError; + /** + * Generic error + **/ + [key: string]: AugmentedError; + }; dmpQueue: { /** * The amount of weight given is possibly not enough for executing the message. @@ -438,6 +605,106 @@ declare module '@polkadot/api-base/types/errors' { **/ [key: string]: AugmentedError; }; + fellowshipCollective: { + /** + * Account is already a member. + **/ + AlreadyMember: AugmentedError; + /** + * Unexpected error in state. + **/ + Corruption: AugmentedError; + /** + * The information provided is incorrect. + **/ + InvalidWitness: AugmentedError; + /** + * There are no further records to be removed. + **/ + NoneRemaining: AugmentedError; + /** + * The origin is not sufficiently privileged to do the operation. + **/ + NoPermission: AugmentedError; + /** + * Account is not a member. + **/ + NotMember: AugmentedError; + /** + * The given poll index is unknown or has closed. + **/ + NotPolling: AugmentedError; + /** + * The given poll is still ongoing. + **/ + Ongoing: AugmentedError; + /** + * The member's rank is too low to vote. + **/ + RankTooLow: AugmentedError; + /** + * Generic error + **/ + [key: string]: AugmentedError; + }; + fellowshipReferenda: { + /** + * The referendum index provided is invalid in this context. + **/ + BadReferendum: AugmentedError; + /** + * The referendum status is invalid for this operation. + **/ + BadStatus: AugmentedError; + /** + * The track identifier given was invalid. + **/ + BadTrack: AugmentedError; + /** + * There are already a full complement of referenda in progress for this track. + **/ + Full: AugmentedError; + /** + * Referendum's decision deposit is already paid. + **/ + HasDeposit: AugmentedError; + /** + * The deposit cannot be refunded since none was made. + **/ + NoDeposit: AugmentedError; + /** + * The deposit refunder is not the depositor. + **/ + NoPermission: AugmentedError; + /** + * There was nothing to do in the advancement. + **/ + NothingToDo: AugmentedError; + /** + * Referendum is not ongoing. + **/ + NotOngoing: AugmentedError; + /** + * No track exists for the proposal origin. + **/ + NoTrack: AugmentedError; + /** + * The preimage does not exist. + **/ + PreimageNotExist: AugmentedError; + /** + * The queue of the track is empty. + **/ + QueueEmpty: AugmentedError; + /** + * Any deposit cannot be refunded until after the decision is over. + **/ + Unfinished: AugmentedError; + /** + * Generic error + **/ + [key: string]: AugmentedError; + }; foreignAssets: { /** * AssetId exists @@ -495,6 +762,32 @@ declare module '@polkadot/api-base/types/errors' { **/ [key: string]: AugmentedError; }; + govScheduler: { + /** + * Failed to schedule a call + **/ + FailedToSchedule: AugmentedError; + /** + * Attempt to use a non-named function on a named task. + **/ + Named: AugmentedError; + /** + * Cannot find the scheduled call. + **/ + NotFound: AugmentedError; + /** + * Reschedule failed because it does not change scheduled time. + **/ + RescheduleNoChange: AugmentedError; + /** + * Given target block number is in the past. + **/ + TargetBlockNumberInPast: AugmentedError; + /** + * Generic error + **/ + [key: string]: AugmentedError; + }; identity: { /** * Account ID is already named. @@ -913,6 +1206,70 @@ declare module '@polkadot/api-base/types/errors' { **/ [key: string]: AugmentedError; }; + technicalCommittee: { + /** + * Members are already initialized! + **/ + AlreadyInitialized: AugmentedError; + /** + * Duplicate proposals not allowed + **/ + DuplicateProposal: AugmentedError; + /** + * Duplicate vote ignored + **/ + DuplicateVote: AugmentedError; + /** + * Account is not a member + **/ + NotMember: AugmentedError; + /** + * Proposal must exist + **/ + ProposalMissing: AugmentedError; + /** + * The close call was made too early, before the end of the voting. + **/ + TooEarly: AugmentedError; + /** + * There can only be a maximum of `MaxProposals` active proposals. + **/ + TooManyProposals: AugmentedError; + /** + * Mismatched index + **/ + WrongIndex: AugmentedError; + /** + * The given length bound for the proposal was too low. + **/ + WrongProposalLength: AugmentedError; + /** + * The given weight bound for the proposal was too low. + **/ + WrongProposalWeight: AugmentedError; + /** + * Generic error + **/ + [key: string]: AugmentedError; + }; + technicalCommitteeMembership: { + /** + * Already a member. + **/ + AlreadyMember: AugmentedError; + /** + * Not a member. + **/ + NotMember: AugmentedError; + /** + * Too many members. + **/ + TooManyMembers: AugmentedError; + /** + * Generic error + **/ + [key: string]: AugmentedError; + }; testUtils: { TestPalletDisabled: AugmentedError; TriggerRollback: AugmentedError; diff --git a/tests/src/interfaces/augment-api-events.ts b/tests/src/interfaces/augment-api-events.ts index 752c0165d3..34d2929826 100644 --- a/tests/src/interfaces/augment-api-events.ts +++ b/tests/src/interfaces/augment-api-events.ts @@ -6,9 +6,10 @@ import '@polkadot/api-base/types/events'; import type { ApiTypes, AugmentedEvent } from '@polkadot/api-base/types'; -import type { Bytes, Null, Option, Result, U8aFixed, bool, u128, u32, u64, u8 } from '@polkadot/types-codec'; +import type { Bytes, Null, Option, Result, U8aFixed, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; +import type { ITuple } from '@polkadot/types-codec/types'; import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime'; -import type { EthereumLog, EvmCoreErrorExitReason, FrameSupportDispatchDispatchInfo, FrameSupportTokensMiscBalanceStatus, OrmlVestingVestingSchedule, PalletEvmAccountBasicCrossAccountIdRepr, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletStateTrieMigrationError, PalletStateTrieMigrationMigrationCompute, SpRuntimeDispatchError, SpWeightsWeightV2Weight, XcmV3MultiAsset, XcmV3MultiLocation, XcmV3MultiassetMultiAssets, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup'; +import type { EthereumLog, EvmCoreErrorExitReason, FrameSupportDispatchDispatchInfo, FrameSupportPreimagesBounded, FrameSupportTokensMiscBalanceStatus, OrmlVestingVestingSchedule, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletDemocracyVoteThreshold, PalletEvmAccountBasicCrossAccountIdRepr, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletRankedCollectiveTally, PalletRankedCollectiveVoteRecord, PalletStateTrieMigrationError, PalletStateTrieMigrationMigrationCompute, SpRuntimeDispatchError, SpWeightsWeightV2Weight, XcmV3MultiAsset, XcmV3MultiLocation, XcmV3MultiassetMultiAssets, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3Xcm, XcmVersionedMultiAssets, XcmVersionedMultiLocation } from '@polkadot/types/lookup'; export type __AugmentedEvent = AugmentedEvent; @@ -259,6 +260,72 @@ declare module '@polkadot/api-base/types/events' { **/ [key: string]: AugmentedEvent; }; + council: { + /** + * A motion was approved by the required threshold. + **/ + Approved: AugmentedEvent; + /** + * A proposal was closed because its threshold was reached or after its duration was up. + **/ + Closed: AugmentedEvent; + /** + * A motion was not approved by the required threshold. + **/ + Disapproved: AugmentedEvent; + /** + * A motion was executed; result will be `Ok` if it returned without error. + **/ + Executed: AugmentedEvent], { proposalHash: H256, result: Result }>; + /** + * A single member did some action; result will be `Ok` if it returned without error. + **/ + MemberExecuted: AugmentedEvent], { proposalHash: H256, result: Result }>; + /** + * A motion (given hash) has been proposed (by given account) with a threshold (given + * `MemberCount`). + **/ + Proposed: AugmentedEvent; + /** + * A motion (given hash) has been voted on by given account, leaving + * a tally (yes votes and no votes given respectively as `MemberCount`). + **/ + Voted: AugmentedEvent; + /** + * Generic event + **/ + [key: string]: AugmentedEvent; + }; + councilMembership: { + /** + * Phantom member, never used. + **/ + Dummy: AugmentedEvent; + /** + * One of the members' keys changed. + **/ + KeyChanged: AugmentedEvent; + /** + * The given member was added; see the transaction for who. + **/ + MemberAdded: AugmentedEvent; + /** + * The given member was removed; see the transaction for who. + **/ + MemberRemoved: AugmentedEvent; + /** + * The membership was reset; see the transaction for who the new set is. + **/ + MembersReset: AugmentedEvent; + /** + * Two members were swapped; see the transaction for who. + **/ + MembersSwapped: AugmentedEvent; + /** + * Generic event + **/ + [key: string]: AugmentedEvent; + }; cumulusXcm: { /** * Downward message executed with the given outcome. @@ -280,6 +347,80 @@ declare module '@polkadot/api-base/types/events' { **/ [key: string]: AugmentedEvent; }; + democracy: { + /** + * A proposal_hash has been blacklisted permanently. + **/ + Blacklisted: AugmentedEvent; + /** + * A referendum has been cancelled. + **/ + Cancelled: AugmentedEvent; + /** + * An account has delegated their vote to another account. + **/ + Delegated: AugmentedEvent; + /** + * An external proposal has been tabled. + **/ + ExternalTabled: AugmentedEvent; + /** + * Metadata for a proposal or a referendum has been cleared. + **/ + MetadataCleared: AugmentedEvent; + /** + * Metadata for a proposal or a referendum has been set. + **/ + MetadataSet: AugmentedEvent; + /** + * Metadata has been transferred to new owner. + **/ + MetadataTransferred: AugmentedEvent; + /** + * A proposal has been rejected by referendum. + **/ + NotPassed: AugmentedEvent; + /** + * A proposal has been approved by referendum. + **/ + Passed: AugmentedEvent; + /** + * A proposal got canceled. + **/ + ProposalCanceled: AugmentedEvent; + /** + * A motion has been proposed by a public account. + **/ + Proposed: AugmentedEvent; + /** + * An account has secconded a proposal + **/ + Seconded: AugmentedEvent; + /** + * A referendum has begun. + **/ + Started: AugmentedEvent; + /** + * A public proposal has been tabled for referendum vote. + **/ + Tabled: AugmentedEvent; + /** + * An account has cancelled a previous delegation operation. + **/ + Undelegated: AugmentedEvent; + /** + * An external proposal has been vetoed. + **/ + Vetoed: AugmentedEvent; + /** + * An account has voted in a referendum + **/ + Voted: AugmentedEvent; + /** + * Generic event + **/ + [key: string]: AugmentedEvent; + }; dmpQueue: { /** * Downward message executed with the given outcome. @@ -378,6 +519,93 @@ declare module '@polkadot/api-base/types/events' { **/ [key: string]: AugmentedEvent; }; + fellowshipCollective: { + /** + * A member `who` has been added. + **/ + MemberAdded: AugmentedEvent; + /** + * The member `who` of given `rank` has been removed from the collective. + **/ + MemberRemoved: AugmentedEvent; + /** + * The member `who`se rank has been changed to the given `rank`. + **/ + RankChanged: AugmentedEvent; + /** + * The member `who` has voted for the `poll` with the given `vote` leading to an updated + * `tally`. + **/ + Voted: AugmentedEvent; + /** + * Generic event + **/ + [key: string]: AugmentedEvent; + }; + fellowshipReferenda: { + /** + * A referendum has been approved and its proposal has been scheduled. + **/ + Approved: AugmentedEvent; + /** + * A referendum has been cancelled. + **/ + Cancelled: AugmentedEvent; + ConfirmAborted: AugmentedEvent; + /** + * A referendum has ended its confirmation phase and is ready for approval. + **/ + Confirmed: AugmentedEvent; + ConfirmStarted: AugmentedEvent; + /** + * The decision deposit has been placed. + **/ + DecisionDepositPlaced: AugmentedEvent; + /** + * The decision deposit has been refunded. + **/ + DecisionDepositRefunded: AugmentedEvent; + /** + * A referendum has moved into the deciding phase. + **/ + DecisionStarted: AugmentedEvent; + /** + * A deposit has been slashaed. + **/ + DepositSlashed: AugmentedEvent; + /** + * A referendum has been killed. + **/ + Killed: AugmentedEvent; + /** + * Metadata for a referendum has been cleared. + **/ + MetadataCleared: AugmentedEvent; + /** + * Metadata for a referendum has been set. + **/ + MetadataSet: AugmentedEvent; + /** + * A proposal has been rejected by referendum. + **/ + Rejected: AugmentedEvent; + /** + * The submission deposit has been refunded. + **/ + SubmissionDepositRefunded: AugmentedEvent; + /** + * A referendum has been submitted. + **/ + Submitted: AugmentedEvent; + /** + * A referendum has been timed out without being decided. + **/ + TimedOut: AugmentedEvent; + /** + * Generic event + **/ + [key: string]: AugmentedEvent; + }; foreignAssets: { /** * The asset registered. @@ -400,6 +628,36 @@ declare module '@polkadot/api-base/types/events' { **/ [key: string]: AugmentedEvent; }; + govScheduler: { + /** + * The call for the provided hash was not found so the task has been aborted. + **/ + CallUnavailable: AugmentedEvent, id: Option], { task: ITuple<[u32, u32]>, id: Option }>; + /** + * Canceled some task. + **/ + Canceled: AugmentedEvent; + /** + * Dispatched some task. + **/ + Dispatched: AugmentedEvent, id: Option, result: Result], { task: ITuple<[u32, u32]>, id: Option, result: Result }>; + /** + * The given task was unable to be renewed since the agenda is full at that block. + **/ + PeriodicFailed: AugmentedEvent, id: Option], { task: ITuple<[u32, u32]>, id: Option }>; + /** + * The given task can never be executed since it is overweight. + **/ + PermanentlyOverweight: AugmentedEvent, id: Option], { task: ITuple<[u32, u32]>, id: Option }>; + /** + * Scheduled some task. + **/ + Scheduled: AugmentedEvent; + /** + * Generic event + **/ + [key: string]: AugmentedEvent; + }; identity: { /** * A number of identities and associated info were forcibly inserted. @@ -786,6 +1044,72 @@ declare module '@polkadot/api-base/types/events' { **/ [key: string]: AugmentedEvent; }; + technicalCommittee: { + /** + * A motion was approved by the required threshold. + **/ + Approved: AugmentedEvent; + /** + * A proposal was closed because its threshold was reached or after its duration was up. + **/ + Closed: AugmentedEvent; + /** + * A motion was not approved by the required threshold. + **/ + Disapproved: AugmentedEvent; + /** + * A motion was executed; result will be `Ok` if it returned without error. + **/ + Executed: AugmentedEvent], { proposalHash: H256, result: Result }>; + /** + * A single member did some action; result will be `Ok` if it returned without error. + **/ + MemberExecuted: AugmentedEvent], { proposalHash: H256, result: Result }>; + /** + * A motion (given hash) has been proposed (by given account) with a threshold (given + * `MemberCount`). + **/ + Proposed: AugmentedEvent; + /** + * A motion (given hash) has been voted on by given account, leaving + * a tally (yes votes and no votes given respectively as `MemberCount`). + **/ + Voted: AugmentedEvent; + /** + * Generic event + **/ + [key: string]: AugmentedEvent; + }; + technicalCommitteeMembership: { + /** + * Phantom member, never used. + **/ + Dummy: AugmentedEvent; + /** + * One of the members' keys changed. + **/ + KeyChanged: AugmentedEvent; + /** + * The given member was added; see the transaction for who. + **/ + MemberAdded: AugmentedEvent; + /** + * The given member was removed; see the transaction for who. + **/ + MemberRemoved: AugmentedEvent; + /** + * The membership was reset; see the transaction for who the new set is. + **/ + MembersReset: AugmentedEvent; + /** + * Two members were swapped; see the transaction for who. + **/ + MembersSwapped: AugmentedEvent; + /** + * Generic event + **/ + [key: string]: AugmentedEvent; + }; testUtils: { BatchCompleted: AugmentedEvent; ShouldRollback: AugmentedEvent; diff --git a/tests/src/interfaces/augment-api-query.ts b/tests/src/interfaces/augment-api-query.ts index 277fd4a639..3b3f890224 100644 --- a/tests/src/interfaces/augment-api-query.ts +++ b/tests/src/interfaces/augment-api-query.ts @@ -7,10 +7,10 @@ import '@polkadot/api-base/types/storage'; import type { ApiTypes, AugmentedQuery, QueryableStorageEntry } from '@polkadot/api-base/types'; import type { Data } from '@polkadot/types'; -import type { BTreeMap, Bytes, Option, U256, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; +import type { BTreeMap, Bytes, Option, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; import type { AnyNumber, ITuple } from '@polkadot/types-codec/types'; -import type { AccountId32, H160, H256 } from '@polkadot/types/interfaces/runtime'; -import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportDispatchPerDispatchClassWeight, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensReserveData, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesIdAmount, PalletBalancesReserveData, PalletConfigurationAppPromotionConfiguration, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCodeMetadata, PalletEvmContractHelpersSponsoringModeT, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletNonfungibleItemData, PalletPreimageRequestStatus, PalletStateTrieMigrationMigrationLimits, PalletStateTrieMigrationMigrationTask, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV4AbridgedHostConfiguration, PolkadotPrimitivesV4PersistedValidationData, PolkadotPrimitivesV4UpgradeRestriction, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyScope, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, XcmV3MultiLocation, XcmVersionedAssetId, XcmVersionedMultiLocation } from '@polkadot/types/lookup'; +import type { AccountId32, Call, H160, H256 } from '@polkadot/types/interfaces/runtime'; +import type { CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueQueueConfigData, EthereumBlock, EthereumLog, EthereumReceiptReceiptV3, EthereumTransactionTransactionV2, FpRpcTransactionStatus, FrameSupportDispatchPerDispatchClassWeight, FrameSupportPreimagesBounded, FrameSystemAccountInfo, FrameSystemEventRecord, FrameSystemLastRuntimeUpgradeInfo, FrameSystemPhase, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensReserveData, OrmlVestingVestingSchedule, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesIdAmount, PalletBalancesReserveData, PalletCollectiveVotes, PalletConfigurationAppPromotionConfiguration, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCodeMetadata, PalletEvmContractHelpersSponsoringModeT, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletNonfungibleItemData, PalletPreimageRequestStatus, PalletRankedCollectiveMemberRecord, PalletRankedCollectiveVoteRecord, PalletReferendaReferendumInfo, PalletSchedulerScheduled, PalletStateTrieMigrationMigrationLimits, PalletStateTrieMigrationMigrationTask, PalletTransactionPaymentReleases, PalletTreasuryProposal, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, PhantomTypeUpDataStructs, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotPrimitivesV4AbridgedHostConfiguration, PolkadotPrimitivesV4PersistedValidationData, PolkadotPrimitivesV4UpgradeRestriction, QuartzRuntimeRuntimeCommonSessionKeys, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpRuntimeDigest, SpTrieStorageProof, SpWeightsWeightV2Weight, UpDataStructsCollection, UpDataStructsCollectionStats, UpDataStructsProperties, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsPropertyScope, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, XcmV3MultiLocation, XcmVersionedAssetId, XcmVersionedMultiLocation } from '@polkadot/types/lookup'; import type { Observable } from '@polkadot/types/types'; export type __AugmentedQuery = AugmentedQuery unknown>; @@ -234,6 +234,122 @@ declare module '@polkadot/api-base/types/storage' { **/ [key: string]: QueryableStorageEntry; }; + council: { + /** + * The current members of the collective. This is stored sorted (just by value). + **/ + members: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** + * The prime member that helps determine the default vote behavior in case of absentations. + **/ + prime: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** + * Proposals so far. + **/ + proposalCount: AugmentedQuery Observable, []> & QueryableStorageEntry; + /** + * Actual proposal for a given hash, if it's current. + **/ + proposalOf: AugmentedQuery Observable>, [H256]> & QueryableStorageEntry; + /** + * The hashes of the active proposals. + **/ + proposals: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** + * Votes on a given proposal, if it is ongoing. + **/ + voting: AugmentedQuery Observable>, [H256]> & QueryableStorageEntry; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry; + }; + councilMembership: { + /** + * The current membership, stored as an ordered Vec. + **/ + members: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** + * The current prime member, if one exists. + **/ + prime: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry; + }; + democracy: { + /** + * A record of who vetoed what. Maps proposal hash to a possible existent block number + * (until when it may not be resubmitted) and who vetoed it. + **/ + blacklist: AugmentedQuery Observable]>>>, [H256]> & QueryableStorageEntry; + /** + * Record of all proposals that have been subject to emergency cancellation. + **/ + cancellations: AugmentedQuery Observable, [H256]> & QueryableStorageEntry; + /** + * Those who have locked a deposit. + * + * TWOX-NOTE: Safe, as increasing integer keys are safe. + **/ + depositOf: AugmentedQuery Observable, u128]>>>, [u32]> & QueryableStorageEntry; + /** + * True if the last referendum tabled was submitted externally. False if it was a public + * proposal. + **/ + lastTabledWasExternal: AugmentedQuery Observable, []> & QueryableStorageEntry; + /** + * The lowest referendum index representing an unbaked referendum. Equal to + * `ReferendumCount` if there isn't a unbaked referendum. + **/ + lowestUnbaked: AugmentedQuery Observable, []> & QueryableStorageEntry; + /** + * General information concerning any proposal or referendum. + * The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON + * dump or IPFS hash of a JSON file. + * + * Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove) + * large preimages. + **/ + metadataOf: AugmentedQuery Observable>, [PalletDemocracyMetadataOwner]> & QueryableStorageEntry; + /** + * The referendum to be tabled whenever it would be valid to table an external proposal. + * This happens when a referendum needs to be tabled and one of two conditions are met: + * - `LastTabledWasExternal` is `false`; or + * - `PublicProps` is empty. + **/ + nextExternal: AugmentedQuery Observable>>, []> & QueryableStorageEntry; + /** + * The number of (public) proposals that have been made so far. + **/ + publicPropCount: AugmentedQuery Observable, []> & QueryableStorageEntry; + /** + * The public proposals. Unsorted. The second item is the proposal. + **/ + publicProps: AugmentedQuery Observable>>, []> & QueryableStorageEntry; + /** + * The next free referendum index, aka the number of referenda started so far. + **/ + referendumCount: AugmentedQuery Observable, []> & QueryableStorageEntry; + /** + * Information concerning any given referendum. + * + * TWOX-NOTE: SAFE as indexes are not under an attacker’s control. + **/ + referendumInfoOf: AugmentedQuery Observable>, [u32]> & QueryableStorageEntry; + /** + * All votes for a particular voter. We store the balance for the number of votes that we + * have recorded. The second item is the total amount of delegations, that will be added. + * + * TWOX-NOTE: SAFE as `AccountId`s are crypto hashes anyway. + **/ + votingOf: AugmentedQuery Observable, [AccountId32]> & QueryableStorageEntry; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry; + }; dmpQueue: { /** * The configuration. @@ -379,6 +495,69 @@ declare module '@polkadot/api-base/types/storage' { **/ [key: string]: QueryableStorageEntry; }; + fellowshipCollective: { + /** + * The index of each ranks's member into the group of members who have at least that rank. + **/ + idToIndex: AugmentedQuery Observable>, [u16, AccountId32]> & QueryableStorageEntry; + /** + * The members in the collective by index. All indices in the range `0..MemberCount` will + * return `Some`, however a member's index is not guaranteed to remain unchanged over time. + **/ + indexToId: AugmentedQuery Observable>, [u16, u32]> & QueryableStorageEntry; + /** + * The number of members in the collective who have at least the rank according to the index + * of the vec. + **/ + memberCount: AugmentedQuery Observable, [u16]> & QueryableStorageEntry; + /** + * The current members of the collective. + **/ + members: AugmentedQuery Observable>, [AccountId32]> & QueryableStorageEntry; + /** + * Votes on a given proposal, if it is ongoing. + **/ + voting: AugmentedQuery Observable>, [u32, AccountId32]> & QueryableStorageEntry; + votingCleanup: AugmentedQuery Observable>, [u32]> & QueryableStorageEntry; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry; + }; + fellowshipReferenda: { + /** + * The number of referenda being decided currently. + **/ + decidingCount: AugmentedQuery Observable, [u16]> & QueryableStorageEntry; + /** + * The metadata is a general information concerning the referendum. + * The `PreimageHash` refers to the preimage of the `Preimages` provider which can be a JSON + * dump or IPFS hash of a JSON file. + * + * Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove) + * large preimages. + **/ + metadataOf: AugmentedQuery Observable>, [u32]> & QueryableStorageEntry; + /** + * The next free referendum index, aka the number of referenda started so far. + **/ + referendumCount: AugmentedQuery Observable, []> & QueryableStorageEntry; + /** + * Information concerning any given referendum. + **/ + referendumInfoFor: AugmentedQuery Observable>, [u32]> & QueryableStorageEntry; + /** + * The sorted list of referenda ready to be decided but not yet being decided, ordered by + * conviction-weighted approvals. + * + * This should be empty if `DecidingCount` is less than `TrackInfo::max_deciding`. + **/ + trackQueue: AugmentedQuery Observable>>, [u16]> & QueryableStorageEntry; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry; + }; foreignAssets: { /** * The storages for assets to fungible collection binding @@ -432,6 +611,24 @@ declare module '@polkadot/api-base/types/storage' { **/ [key: string]: QueryableStorageEntry; }; + govScheduler: { + /** + * Items to be executed, indexed by the block number that they should be executed on. + **/ + agenda: AugmentedQuery Observable>>, [u32]> & QueryableStorageEntry; + incompleteSince: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** + * Lookup from a name to the block number and index of the task. + * + * For v3 -> v4 the previously unbounded identities are Blake2-256 hashed to form the v4 + * identities. + **/ + lookup: AugmentedQuery Observable>>, [U8aFixed]> & QueryableStorageEntry; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry; + }; identity: { /** * Information that is pertinent to identify the entity behind an account. @@ -834,7 +1031,7 @@ declare module '@polkadot/api-base/types/storage' { /** * The next session keys for a validator. **/ - nextKeys: AugmentedQuery Observable>, [AccountId32]> & QueryableStorageEntry; + nextKeys: AugmentedQuery Observable>, [AccountId32]> & QueryableStorageEntry; /** * True if the underlying economic identities or weighting behind the validators * has changed in the queued validator set. @@ -844,7 +1041,7 @@ declare module '@polkadot/api-base/types/storage' { * The queued keys for the next session. When the next session begins, these keys * will be used to determine the validator's session keys. **/ - queuedKeys: AugmentedQuery Observable>>, []> & QueryableStorageEntry; + queuedKeys: AugmentedQuery Observable>>, []> & QueryableStorageEntry; /** * The current set of validators. **/ @@ -975,6 +1172,50 @@ declare module '@polkadot/api-base/types/storage' { **/ [key: string]: QueryableStorageEntry; }; + technicalCommittee: { + /** + * The current members of the collective. This is stored sorted (just by value). + **/ + members: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** + * The prime member that helps determine the default vote behavior in case of absentations. + **/ + prime: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** + * Proposals so far. + **/ + proposalCount: AugmentedQuery Observable, []> & QueryableStorageEntry; + /** + * Actual proposal for a given hash, if it's current. + **/ + proposalOf: AugmentedQuery Observable>, [H256]> & QueryableStorageEntry; + /** + * The hashes of the active proposals. + **/ + proposals: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** + * Votes on a given proposal, if it is ongoing. + **/ + voting: AugmentedQuery Observable>, [H256]> & QueryableStorageEntry; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry; + }; + technicalCommitteeMembership: { + /** + * The current membership, stored as an ordered Vec. + **/ + members: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** + * The current prime member, if one exists. + **/ + prime: AugmentedQuery Observable>, []> & QueryableStorageEntry; + /** + * Generic query + **/ + [key: string]: QueryableStorageEntry; + }; testUtils: { enabled: AugmentedQuery Observable, []> & QueryableStorageEntry; testValue: AugmentedQuery Observable, []> & QueryableStorageEntry; diff --git a/tests/src/interfaces/augment-api-tx.ts b/tests/src/interfaces/augment-api-tx.ts index 29adb68df2..7d704281bc 100644 --- a/tests/src/interfaces/augment-api-tx.ts +++ b/tests/src/interfaces/augment-api-tx.ts @@ -7,10 +7,10 @@ import '@polkadot/api-base/types/submittable'; import type { ApiTypes, AugmentedSubmittable, SubmittableExtrinsic, SubmittableExtrinsicFunction } from '@polkadot/api-base/types'; import type { Data } from '@polkadot/types'; -import type { Bytes, Compact, Option, U256, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; +import type { Bytes, Compact, Option, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; import type { AnyNumber, IMethod, ITuple } from '@polkadot/types-codec/types'; import type { AccountId32, Call, H160, H256, MultiAddress } from '@polkadot/types/interfaces/runtime'; -import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumLog, EthereumTransactionTransactionV2, OpalRuntimeRuntimeCommonSessionKeys, OrmlVestingVestingSchedule, PalletConfigurationAppPromotionConfiguration, PalletEvmAccountBasicCrossAccountIdRepr, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletIdentityBitFlags, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistration, PalletStateTrieMigrationMigrationLimits, PalletStateTrieMigrationMigrationTask, PalletStateTrieMigrationProgress, SpWeightsWeightV2Weight, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, XcmV3MultiLocation, XcmV3WeightLimit, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; +import type { CumulusPrimitivesParachainInherentParachainInherentData, EthereumLog, EthereumTransactionTransactionV2, FrameSupportPreimagesBounded, FrameSupportScheduleDispatchTime, OrmlVestingVestingSchedule, PalletConfigurationAppPromotionConfiguration, PalletDemocracyConviction, PalletDemocracyMetadataOwner, PalletDemocracyVoteAccountVote, PalletEvmAccountBasicCrossAccountIdRepr, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletIdentityBitFlags, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistration, PalletStateTrieMigrationMigrationLimits, PalletStateTrieMigrationMigrationTask, PalletStateTrieMigrationProgress, QuartzRuntimeOriginCaller, QuartzRuntimeRuntimeCommonSessionKeys, SpWeightsWeightV2Weight, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCreateCollectionData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, XcmV3MultiLocation, XcmV3WeightLimit, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedXcm } from '@polkadot/types/lookup'; export type __AugmentedSubmittable = AugmentedSubmittable<() => unknown>; export type __SubmittableExtrinsic = SubmittableExtrinsic; @@ -289,12 +289,455 @@ declare module '@polkadot/api-base/types/submittable' { **/ [key: string]: SubmittableExtrinsicFunction; }; + council: { + /** + * Close a vote that is either approved, disapproved or whose voting period has ended. + * + * May be called by any signed account in order to finish voting and close the proposal. + * + * If called before the end of the voting period it will only close the vote if it is + * has enough votes to be approved or disapproved. + * + * If called after the end of the voting period abstentions are counted as rejections + * unless there is a prime member set and the prime member cast an approval. + * + * If the close operation completes successfully with disapproval, the transaction fee will + * be waived. Otherwise execution of the approved operation will be charged to the caller. + * + * + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed + * proposal. + * + `length_bound`: The upper bound for the length of the proposal in storage. Checked via + * `storage::read` so it is `size_of::() == 4` larger than the pure length. + * + * ## Complexity + * - `O(B + M + P1 + P2)` where: + * - `B` is `proposal` size in bytes (length-fee-bounded) + * - `M` is members-count (code- and governance-bounded) + * - `P1` is the complexity of `proposal` preimage. + * - `P2` is proposal-count (code-bounded) + **/ + close: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact, SpWeightsWeightV2Weight, Compact]>; + /** + * Disapprove a proposal, close, and remove it from the system, regardless of its current + * state. + * + * Must be called by the Root origin. + * + * Parameters: + * * `proposal_hash`: The hash of the proposal that should be disapproved. + * + * ## Complexity + * O(P) where P is the number of max proposals + **/ + disapproveProposal: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; + /** + * Dispatch a proposal from a member using the `Member` origin. + * + * Origin must be a member of the collective. + * + * ## Complexity: + * - `O(B + M + P)` where: + * - `B` is `proposal` size in bytes (length-fee-bounded) + * - `M` members-count (code-bounded) + * - `P` complexity of dispatching `proposal` + **/ + execute: AugmentedSubmittable<(proposal: Call | IMethod | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Call, Compact]>; + /** + * Add a new proposal to either be voted on or executed directly. + * + * Requires the sender to be member. + * + * `threshold` determines whether `proposal` is executed directly (`threshold < 2`) + * or put up for voting. + * + * ## Complexity + * - `O(B + M + P1)` or `O(B + M + P2)` where: + * - `B` is `proposal` size in bytes (length-fee-bounded) + * - `M` is members-count (code- and governance-bounded) + * - branching is influenced by `threshold` where: + * - `P1` is proposal execution complexity (`threshold < 2`) + * - `P2` is proposals-count (code-bounded) (`threshold >= 2`) + **/ + propose: AugmentedSubmittable<(threshold: Compact | AnyNumber | Uint8Array, proposal: Call | IMethod | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Call, Compact]>; + /** + * Set the collective's membership. + * + * - `new_members`: The new member list. Be nice to the chain and provide it sorted. + * - `prime`: The prime member whose vote sets the default. + * - `old_count`: The upper bound for the previous number of members in storage. Used for + * weight estimation. + * + * The dispatch of this call must be `SetMembersOrigin`. + * + * NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but + * the weight estimations rely on it to estimate dispatchable weight. + * + * # WARNING: + * + * The `pallet-collective` can also be managed by logic outside of the pallet through the + * implementation of the trait [`ChangeMembers`]. + * Any call to `set_members` must be careful that the member set doesn't get out of sync + * with other logic managing the member set. + * + * ## Complexity: + * - `O(MP + N)` where: + * - `M` old-members-count (code- and governance-bounded) + * - `N` new-members-count (code- and governance-bounded) + * - `P` proposals-count (code-bounded) + **/ + setMembers: AugmentedSubmittable<(newMembers: Vec | (AccountId32 | string | Uint8Array)[], prime: Option | null | Uint8Array | AccountId32 | string, oldCount: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Vec, Option, u32]>; + /** + * Add an aye or nay vote for the sender to the given proposal. + * + * Requires the sender to be a member. + * + * Transaction fees will be waived if the member is voting on any particular proposal + * for the first time and the call is successful. Subsequent vote changes will charge a + * fee. + * ## Complexity + * - `O(M)` where `M` is members-count (code- and governance-bounded) + **/ + vote: AugmentedSubmittable<(proposal: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, approve: bool | boolean | Uint8Array) => SubmittableExtrinsic, [H256, Compact, bool]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction; + }; + councilMembership: { + /** + * Add a member `who` to the set. + * + * May only be called from `T::AddOrigin`. + **/ + addMember: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; + /** + * Swap out the sending member for some other key `new`. + * + * May only be called from `Signed` origin of a current member. + * + * Prime membership is passed from the origin account to `new`, if extant. + **/ + changeKey: AugmentedSubmittable<(updated: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; + /** + * Remove the prime member if it exists. + * + * May only be called from `T::PrimeOrigin`. + **/ + clearPrime: AugmentedSubmittable<() => SubmittableExtrinsic, []>; + /** + * Remove a member `who` from the set. + * + * May only be called from `T::RemoveOrigin`. + **/ + removeMember: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; + /** + * Change the membership to a new set, disregarding the existing membership. Be nice and + * pass `members` pre-sorted. + * + * May only be called from `T::ResetOrigin`. + **/ + resetMembers: AugmentedSubmittable<(members: Vec | (AccountId32 | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; + /** + * Set the prime member. Must be a current member. + * + * May only be called from `T::PrimeOrigin`. + **/ + setPrime: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; + /** + * Swap out one member `remove` for another `add`. + * + * May only be called from `T::SwapOrigin`. + * + * Prime membership is *not* passed from `remove` to `add`, if extant. + **/ + swapMember: AugmentedSubmittable<(remove: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, add: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, MultiAddress]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction; + }; cumulusXcm: { /** * Generic tx **/ [key: string]: SubmittableExtrinsicFunction; }; + democracy: { + /** + * Permanently place a proposal into the blacklist. This prevents it from ever being + * proposed again. + * + * If called on a queued public or external proposal, then this will result in it being + * removed. If the `ref_index` supplied is an active referendum with the proposal hash, + * then it will be cancelled. + * + * The dispatch origin of this call must be `BlacklistOrigin`. + * + * - `proposal_hash`: The proposal hash to blacklist permanently. + * - `ref_index`: An ongoing referendum whose hash is `proposal_hash`, which will be + * cancelled. + * + * Weight: `O(p)` (though as this is an high-privilege dispatch, we assume it has a + * reasonable value). + **/ + blacklist: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, maybeRefIndex: Option | null | Uint8Array | u32 | AnyNumber) => SubmittableExtrinsic, [H256, Option]>; + /** + * Remove a proposal. + * + * The dispatch origin of this call must be `CancelProposalOrigin`. + * + * - `prop_index`: The index of the proposal to cancel. + * + * Weight: `O(p)` where `p = PublicProps::::decode_len()` + **/ + cancelProposal: AugmentedSubmittable<(propIndex: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; + /** + * Remove a referendum. + * + * The dispatch origin of this call must be _Root_. + * + * - `ref_index`: The index of the referendum to cancel. + * + * # Weight: `O(1)`. + **/ + cancelReferendum: AugmentedSubmittable<(refIndex: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; + /** + * Clears all public proposals. + * + * The dispatch origin of this call must be _Root_. + * + * Weight: `O(1)`. + **/ + clearPublicProposals: AugmentedSubmittable<() => SubmittableExtrinsic, []>; + /** + * Delegate the voting power (with some given conviction) of the sending account. + * + * The balance delegated is locked for as long as it's delegated, and thereafter for the + * time appropriate for the conviction's lock period. + * + * The dispatch origin of this call must be _Signed_, and the signing account must either: + * - be delegating already; or + * - have no voting activity (if there is, then it will need to be removed/consolidated + * through `reap_vote` or `unvote`). + * + * - `to`: The account whose voting the `target` account's voting power will follow. + * - `conviction`: The conviction that will be attached to the delegated votes. When the + * account is undelegated, the funds will be locked for the corresponding period. + * - `balance`: The amount of the account's balance to be used in delegating. This must not + * be more than the account's current balance. + * + * Emits `Delegated`. + * + * Weight: `O(R)` where R is the number of referendums the voter delegating to has + * voted on. Weight is charged as if maximum votes. + **/ + delegate: AugmentedSubmittable<(to: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, conviction: PalletDemocracyConviction | 'None' | 'Locked1x' | 'Locked2x' | 'Locked3x' | 'Locked4x' | 'Locked5x' | 'Locked6x' | number | Uint8Array, balance: u128 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, PalletDemocracyConviction, u128]>; + /** + * Schedule an emergency cancellation of a referendum. Cannot happen twice to the same + * referendum. + * + * The dispatch origin of this call must be `CancellationOrigin`. + * + * -`ref_index`: The index of the referendum to cancel. + * + * Weight: `O(1)`. + **/ + emergencyCancel: AugmentedSubmittable<(refIndex: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; + /** + * Schedule a referendum to be tabled once it is legal to schedule an external + * referendum. + * + * The dispatch origin of this call must be `ExternalOrigin`. + * + * - `proposal_hash`: The preimage hash of the proposal. + **/ + externalPropose: AugmentedSubmittable<(proposal: FrameSupportPreimagesBounded | { Legacy: any } | { Inline: any } | { Lookup: any } | string | Uint8Array) => SubmittableExtrinsic, [FrameSupportPreimagesBounded]>; + /** + * Schedule a negative-turnout-bias referendum to be tabled next once it is legal to + * schedule an external referendum. + * + * The dispatch of this call must be `ExternalDefaultOrigin`. + * + * - `proposal_hash`: The preimage hash of the proposal. + * + * Unlike `external_propose`, blacklisting has no effect on this and it may replace a + * pre-scheduled `external_propose` call. + * + * Weight: `O(1)` + **/ + externalProposeDefault: AugmentedSubmittable<(proposal: FrameSupportPreimagesBounded | { Legacy: any } | { Inline: any } | { Lookup: any } | string | Uint8Array) => SubmittableExtrinsic, [FrameSupportPreimagesBounded]>; + /** + * Schedule a majority-carries referendum to be tabled next once it is legal to schedule + * an external referendum. + * + * The dispatch of this call must be `ExternalMajorityOrigin`. + * + * - `proposal_hash`: The preimage hash of the proposal. + * + * Unlike `external_propose`, blacklisting has no effect on this and it may replace a + * pre-scheduled `external_propose` call. + * + * Weight: `O(1)` + **/ + externalProposeMajority: AugmentedSubmittable<(proposal: FrameSupportPreimagesBounded | { Legacy: any } | { Inline: any } | { Lookup: any } | string | Uint8Array) => SubmittableExtrinsic, [FrameSupportPreimagesBounded]>; + /** + * Schedule the currently externally-proposed majority-carries referendum to be tabled + * immediately. If there is no externally-proposed referendum currently, or if there is one + * but it is not a majority-carries referendum then it fails. + * + * The dispatch of this call must be `FastTrackOrigin`. + * + * - `proposal_hash`: The hash of the current external proposal. + * - `voting_period`: The period that is allowed for voting on this proposal. Increased to + * Must be always greater than zero. + * For `FastTrackOrigin` must be equal or greater than `FastTrackVotingPeriod`. + * - `delay`: The number of block after voting has ended in approval and this should be + * enacted. This doesn't have a minimum amount. + * + * Emits `Started`. + * + * Weight: `O(1)` + **/ + fastTrack: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, votingPeriod: u32 | AnyNumber | Uint8Array, delay: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, u32, u32]>; + /** + * Propose a sensitive action to be taken. + * + * The dispatch origin of this call must be _Signed_ and the sender must + * have funds to cover the deposit. + * + * - `proposal_hash`: The hash of the proposal preimage. + * - `value`: The amount of deposit (must be at least `MinimumDeposit`). + * + * Emits `Proposed`. + **/ + propose: AugmentedSubmittable<(proposal: FrameSupportPreimagesBounded | { Legacy: any } | { Inline: any } | { Lookup: any } | string | Uint8Array, value: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [FrameSupportPreimagesBounded, Compact]>; + /** + * Remove a vote for a referendum. + * + * If the `target` is equal to the signer, then this function is exactly equivalent to + * `remove_vote`. If not equal to the signer, then the vote must have expired, + * either because the referendum was cancelled, because the voter lost the referendum or + * because the conviction period is over. + * + * The dispatch origin of this call must be _Signed_. + * + * - `target`: The account of the vote to be removed; this account must have voted for + * referendum `index`. + * - `index`: The index of referendum of the vote to be removed. + * + * Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on. + * Weight is calculated for the maximum number of vote. + **/ + removeOtherVote: AugmentedSubmittable<(target: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, u32]>; + /** + * Remove a vote for a referendum. + * + * If: + * - the referendum was cancelled, or + * - the referendum is ongoing, or + * - the referendum has ended such that + * - the vote of the account was in opposition to the result; or + * - there was no conviction to the account's vote; or + * - the account made a split vote + * ...then the vote is removed cleanly and a following call to `unlock` may result in more + * funds being available. + * + * If, however, the referendum has ended and: + * - it finished corresponding to the vote of the account, and + * - the account made a standard vote with conviction, and + * - the lock period of the conviction is not over + * ...then the lock will be aggregated into the overall account's lock, which may involve + * *overlocking* (where the two locks are combined into a single lock that is the maximum + * of both the amount locked and the time is it locked for). + * + * The dispatch origin of this call must be _Signed_, and the signer must have a vote + * registered for referendum `index`. + * + * - `index`: The index of referendum of the vote to be removed. + * + * Weight: `O(R + log R)` where R is the number of referenda that `target` has voted on. + * Weight is calculated for the maximum number of vote. + **/ + removeVote: AugmentedSubmittable<(index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; + /** + * Signals agreement with a particular proposal. + * + * The dispatch origin of this call must be _Signed_ and the sender + * must have funds to cover the deposit, equal to the original deposit. + * + * - `proposal`: The index of the proposal to second. + **/ + second: AugmentedSubmittable<(proposal: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact]>; + /** + * Set or clear a metadata of a proposal or a referendum. + * + * Parameters: + * - `origin`: Must correspond to the `MetadataOwner`. + * - `ExternalOrigin` for an external proposal with the `SuperMajorityApprove` + * threshold. + * - `ExternalDefaultOrigin` for an external proposal with the `SuperMajorityAgainst` + * threshold. + * - `ExternalMajorityOrigin` for an external proposal with the `SimpleMajority` + * threshold. + * - `Signed` by a creator for a public proposal. + * - `Signed` to clear a metadata for a finished referendum. + * - `Root` to set a metadata for an ongoing referendum. + * - `owner`: an identifier of a metadata owner. + * - `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata. + **/ + setMetadata: AugmentedSubmittable<(owner: PalletDemocracyMetadataOwner | { External: any } | { Proposal: any } | { Referendum: any } | string | Uint8Array, maybeHash: Option | null | Uint8Array | H256 | string) => SubmittableExtrinsic, [PalletDemocracyMetadataOwner, Option]>; + /** + * Undelegate the voting power of the sending account. + * + * Tokens may be unlocked following once an amount of time consistent with the lock period + * of the conviction with which the delegation was issued. + * + * The dispatch origin of this call must be _Signed_ and the signing account must be + * currently delegating. + * + * Emits `Undelegated`. + * + * Weight: `O(R)` where R is the number of referendums the voter delegating to has + * voted on. Weight is charged as if maximum votes. + **/ + undelegate: AugmentedSubmittable<() => SubmittableExtrinsic, []>; + /** + * Unlock tokens that have an expired lock. + * + * The dispatch origin of this call must be _Signed_. + * + * - `target`: The account to remove the lock on. + * + * Weight: `O(R)` with R number of vote of target. + **/ + unlock: AugmentedSubmittable<(target: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; + /** + * Veto and blacklist the external proposal hash. + * + * The dispatch origin of this call must be `VetoOrigin`. + * + * - `proposal_hash`: The preimage hash of the proposal to veto and blacklist. + * + * Emits `Vetoed`. + * + * Weight: `O(V + log(V))` where V is number of `existing vetoers` + **/ + vetoExternal: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; + /** + * Vote in a referendum. If `vote.is_aye()`, the vote is to enact the proposal; + * otherwise it is a vote to keep the status quo. + * + * The dispatch origin of this call must be _Signed_. + * + * - `ref_index`: The index of the referendum to vote for. + * - `vote`: The vote configuration. + **/ + vote: AugmentedSubmittable<(refIndex: Compact | AnyNumber | Uint8Array, vote: PalletDemocracyVoteAccountVote | { Standard: any } | { Split: any } | string | Uint8Array) => SubmittableExtrinsic, [Compact, PalletDemocracyVoteAccountVote]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction; + }; dmpQueue: { /** * Service a single overweight message. @@ -382,6 +825,174 @@ declare module '@polkadot/api-base/types/submittable' { **/ [key: string]: SubmittableExtrinsicFunction; }; + fellowshipCollective: { + /** + * Introduce a new member. + * + * - `origin`: Must be the `AdminOrigin`. + * - `who`: Account of non-member which will become a member. + * - `rank`: The rank to give the new member. + * + * Weight: `O(1)` + **/ + addMember: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; + /** + * Remove votes from the given poll. It must have ended. + * + * - `origin`: Must be `Signed` by any account. + * - `poll_index`: Index of a poll which is completed and for which votes continue to + * exist. + * - `max`: Maximum number of vote items from remove in this call. + * + * Transaction fees are waived if the operation is successful. + * + * Weight `O(max)` (less if there are fewer items to remove than `max`). + **/ + cleanupPoll: AugmentedSubmittable<(pollIndex: u32 | AnyNumber | Uint8Array, max: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32, u32]>; + /** + * Decrement the rank of an existing member by one. If the member is already at rank zero, + * then they are removed entirely. + * + * - `origin`: Must be the `AdminOrigin`. + * - `who`: Account of existing member of rank greater than zero. + * + * Weight: `O(1)`, less if the member's index is highest in its rank. + **/ + demoteMember: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; + /** + * Increment the rank of an existing member by one. + * + * - `origin`: Must be the `AdminOrigin`. + * - `who`: Account of existing member. + * + * Weight: `O(1)` + **/ + promoteMember: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; + /** + * Remove the member entirely. + * + * - `origin`: Must be the `AdminOrigin`. + * - `who`: Account of existing member of rank greater than zero. + * - `min_rank`: The rank of the member or greater. + * + * Weight: `O(min_rank)`. + **/ + removeMember: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, minRank: u16 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [MultiAddress, u16]>; + /** + * Add an aye or nay vote for the sender to the given proposal. + * + * - `origin`: Must be `Signed` by a member account. + * - `poll`: Index of a poll which is ongoing. + * - `aye`: `true` if the vote is to approve the proposal, `false` otherwise. + * + * Transaction fees are be waived if the member is voting on any particular proposal + * for the first time and the call is successful. Subsequent vote changes will charge a + * fee. + * + * Weight: `O(1)`, less if there was no previous vote on the poll by the member. + **/ + vote: AugmentedSubmittable<(poll: u32 | AnyNumber | Uint8Array, aye: bool | boolean | Uint8Array) => SubmittableExtrinsic, [u32, bool]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction; + }; + fellowshipReferenda: { + /** + * Cancel an ongoing referendum. + * + * - `origin`: must be the `CancelOrigin`. + * - `index`: The index of the referendum to be cancelled. + * + * Emits `Cancelled`. + **/ + cancel: AugmentedSubmittable<(index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; + /** + * Cancel an ongoing referendum and slash the deposits. + * + * - `origin`: must be the `KillOrigin`. + * - `index`: The index of the referendum to be cancelled. + * + * Emits `Killed` and `DepositSlashed`. + **/ + kill: AugmentedSubmittable<(index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; + /** + * Advance a referendum onto its next logical state. Only used internally. + * + * - `origin`: must be `Root`. + * - `index`: the referendum to be advanced. + **/ + nudgeReferendum: AugmentedSubmittable<(index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; + /** + * Advance a track onto its next logical state. Only used internally. + * + * - `origin`: must be `Root`. + * - `track`: the track to be advanced. + * + * Action item for when there is now one fewer referendum in the deciding phase and the + * `DecidingCount` is not yet updated. This means that we should either: + * - begin deciding another referendum (and leave `DecidingCount` alone); or + * - decrement `DecidingCount`. + **/ + oneFewerDeciding: AugmentedSubmittable<(track: u16 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u16]>; + /** + * Post the Decision Deposit for a referendum. + * + * - `origin`: must be `Signed` and the account must have funds available for the + * referendum's track's Decision Deposit. + * - `index`: The index of the submitted referendum whose Decision Deposit is yet to be + * posted. + * + * Emits `DecisionDepositPlaced`. + **/ + placeDecisionDeposit: AugmentedSubmittable<(index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; + /** + * Refund the Decision Deposit for a closed referendum back to the depositor. + * + * - `origin`: must be `Signed` or `Root`. + * - `index`: The index of a closed referendum whose Decision Deposit has not yet been + * refunded. + * + * Emits `DecisionDepositRefunded`. + **/ + refundDecisionDeposit: AugmentedSubmittable<(index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; + /** + * Refund the Submission Deposit for a closed referendum back to the depositor. + * + * - `origin`: must be `Signed` or `Root`. + * - `index`: The index of a closed referendum whose Submission Deposit has not yet been + * refunded. + * + * Emits `SubmissionDepositRefunded`. + **/ + refundSubmissionDeposit: AugmentedSubmittable<(index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32]>; + /** + * Set or clear metadata of a referendum. + * + * Parameters: + * - `origin`: Must be `Signed` by a creator of a referendum or by anyone to clear a + * metadata of a finished referendum. + * - `index`: The index of a referendum to set or clear metadata for. + * - `maybe_hash`: The hash of an on-chain stored preimage. `None` to clear a metadata. + **/ + setMetadata: AugmentedSubmittable<(index: u32 | AnyNumber | Uint8Array, maybeHash: Option | null | Uint8Array | H256 | string) => SubmittableExtrinsic, [u32, Option]>; + /** + * Propose a referendum on a privileged action. + * + * - `origin`: must be `SubmitOrigin` and the account must have `SubmissionDeposit` funds + * available. + * - `proposal_origin`: The origin from which the proposal should be executed. + * - `proposal`: The proposal. + * - `enactment_moment`: The moment that the proposal should be enacted. + * + * Emits `Submitted`. + **/ + submit: AugmentedSubmittable<(proposalOrigin: QuartzRuntimeOriginCaller | { system: any } | { Void: any } | { Council: any } | { TechnicalCommittee: any } | { PolkadotXcm: any } | { CumulusXcm: any } | { Origins: any } | { Ethereum: any } | string | Uint8Array, proposal: FrameSupportPreimagesBounded | { Legacy: any } | { Inline: any } | { Lookup: any } | string | Uint8Array, enactmentMoment: FrameSupportScheduleDispatchTime | { At: any } | { After: any } | string | Uint8Array) => SubmittableExtrinsic, [QuartzRuntimeOriginCaller, FrameSupportPreimagesBounded, FrameSupportScheduleDispatchTime]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction; + }; foreignAssets: { registerForeignAsset: AugmentedSubmittable<(owner: AccountId32 | string | Uint8Array, location: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, metadata: PalletForeignAssetsModuleAssetMetadata | { name?: any; symbol?: any; decimals?: any; minimalBalance?: any } | string | Uint8Array) => SubmittableExtrinsic, [AccountId32, XcmVersionedMultiLocation, PalletForeignAssetsModuleAssetMetadata]>; updateForeignAsset: AugmentedSubmittable<(foreignAssetId: u32 | AnyNumber | Uint8Array, location: XcmVersionedMultiLocation | { V2: any } | { V3: any } | string | Uint8Array, metadata: PalletForeignAssetsModuleAssetMetadata | { name?: any; symbol?: any; decimals?: any; minimalBalance?: any } | string | Uint8Array) => SubmittableExtrinsic, [u32, XcmVersionedMultiLocation, PalletForeignAssetsModuleAssetMetadata]>; @@ -390,6 +1001,36 @@ declare module '@polkadot/api-base/types/submittable' { **/ [key: string]: SubmittableExtrinsicFunction; }; + govScheduler: { + /** + * Cancel an anonymously scheduled task. + **/ + cancel: AugmentedSubmittable<(when: u32 | AnyNumber | Uint8Array, index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [u32, u32]>; + /** + * Cancel a named scheduled task. + **/ + cancelNamed: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array) => SubmittableExtrinsic, [U8aFixed]>; + /** + * Anonymously schedule a task. + **/ + schedule: AugmentedSubmittable<(when: u32 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [u32, Option>, u8, Call]>; + /** + * Anonymously schedule a task after a delay. + **/ + scheduleAfter: AugmentedSubmittable<(after: u32 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [u32, Option>, u8, Call]>; + /** + * Schedule a named task. + **/ + scheduleNamed: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, when: u32 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [U8aFixed, u32, Option>, u8, Call]>; + /** + * Schedule a named task after a delay. + **/ + scheduleNamedAfter: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, after: u32 | AnyNumber | Uint8Array, maybePeriodic: Option> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic, [U8aFixed, u32, Option>, u8, Call]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction; + }; identity: { /** * Add a registrar to the system. @@ -966,7 +1607,7 @@ declare module '@polkadot/api-base/types/submittable' { * - `O(1)`. Actual cost depends on the number of length of `T::Keys::key_ids()` which is * fixed. **/ - setKeys: AugmentedSubmittable<(keys: OpalRuntimeRuntimeCommonSessionKeys | { aura?: any } | string | Uint8Array, proof: Bytes | string | Uint8Array) => SubmittableExtrinsic, [OpalRuntimeRuntimeCommonSessionKeys, Bytes]>; + setKeys: AugmentedSubmittable<(keys: QuartzRuntimeRuntimeCommonSessionKeys | { aura?: any } | string | Uint8Array, proof: Bytes | string | Uint8Array) => SubmittableExtrinsic, [QuartzRuntimeRuntimeCommonSessionKeys, Bytes]>; /** * Generic tx **/ @@ -1135,6 +1776,173 @@ declare module '@polkadot/api-base/types/submittable' { **/ [key: string]: SubmittableExtrinsicFunction; }; + technicalCommittee: { + /** + * Close a vote that is either approved, disapproved or whose voting period has ended. + * + * May be called by any signed account in order to finish voting and close the proposal. + * + * If called before the end of the voting period it will only close the vote if it is + * has enough votes to be approved or disapproved. + * + * If called after the end of the voting period abstentions are counted as rejections + * unless there is a prime member set and the prime member cast an approval. + * + * If the close operation completes successfully with disapproval, the transaction fee will + * be waived. Otherwise execution of the approved operation will be charged to the caller. + * + * + `proposal_weight_bound`: The maximum amount of weight consumed by executing the closed + * proposal. + * + `length_bound`: The upper bound for the length of the proposal in storage. Checked via + * `storage::read` so it is `size_of::() == 4` larger than the pure length. + * + * ## Complexity + * - `O(B + M + P1 + P2)` where: + * - `B` is `proposal` size in bytes (length-fee-bounded) + * - `M` is members-count (code- and governance-bounded) + * - `P1` is the complexity of `proposal` preimage. + * - `P2` is proposal-count (code-bounded) + **/ + close: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, proposalWeightBound: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [H256, Compact, SpWeightsWeightV2Weight, Compact]>; + /** + * Disapprove a proposal, close, and remove it from the system, regardless of its current + * state. + * + * Must be called by the Root origin. + * + * Parameters: + * * `proposal_hash`: The hash of the proposal that should be disapproved. + * + * ## Complexity + * O(P) where P is the number of max proposals + **/ + disapproveProposal: AugmentedSubmittable<(proposalHash: H256 | string | Uint8Array) => SubmittableExtrinsic, [H256]>; + /** + * Dispatch a proposal from a member using the `Member` origin. + * + * Origin must be a member of the collective. + * + * ## Complexity: + * - `O(B + M + P)` where: + * - `B` is `proposal` size in bytes (length-fee-bounded) + * - `M` members-count (code-bounded) + * - `P` complexity of dispatching `proposal` + **/ + execute: AugmentedSubmittable<(proposal: Call | IMethod | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Call, Compact]>; + /** + * Add a new proposal to either be voted on or executed directly. + * + * Requires the sender to be member. + * + * `threshold` determines whether `proposal` is executed directly (`threshold < 2`) + * or put up for voting. + * + * ## Complexity + * - `O(B + M + P1)` or `O(B + M + P2)` where: + * - `B` is `proposal` size in bytes (length-fee-bounded) + * - `M` is members-count (code- and governance-bounded) + * - branching is influenced by `threshold` where: + * - `P1` is proposal execution complexity (`threshold < 2`) + * - `P2` is proposals-count (code-bounded) (`threshold >= 2`) + **/ + propose: AugmentedSubmittable<(threshold: Compact | AnyNumber | Uint8Array, proposal: Call | IMethod | string | Uint8Array, lengthBound: Compact | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Compact, Call, Compact]>; + /** + * Set the collective's membership. + * + * - `new_members`: The new member list. Be nice to the chain and provide it sorted. + * - `prime`: The prime member whose vote sets the default. + * - `old_count`: The upper bound for the previous number of members in storage. Used for + * weight estimation. + * + * The dispatch of this call must be `SetMembersOrigin`. + * + * NOTE: Does not enforce the expected `MaxMembers` limit on the amount of members, but + * the weight estimations rely on it to estimate dispatchable weight. + * + * # WARNING: + * + * The `pallet-collective` can also be managed by logic outside of the pallet through the + * implementation of the trait [`ChangeMembers`]. + * Any call to `set_members` must be careful that the member set doesn't get out of sync + * with other logic managing the member set. + * + * ## Complexity: + * - `O(MP + N)` where: + * - `M` old-members-count (code- and governance-bounded) + * - `N` new-members-count (code- and governance-bounded) + * - `P` proposals-count (code-bounded) + **/ + setMembers: AugmentedSubmittable<(newMembers: Vec | (AccountId32 | string | Uint8Array)[], prime: Option | null | Uint8Array | AccountId32 | string, oldCount: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic, [Vec, Option, u32]>; + /** + * Add an aye or nay vote for the sender to the given proposal. + * + * Requires the sender to be a member. + * + * Transaction fees will be waived if the member is voting on any particular proposal + * for the first time and the call is successful. Subsequent vote changes will charge a + * fee. + * ## Complexity + * - `O(M)` where `M` is members-count (code- and governance-bounded) + **/ + vote: AugmentedSubmittable<(proposal: H256 | string | Uint8Array, index: Compact | AnyNumber | Uint8Array, approve: bool | boolean | Uint8Array) => SubmittableExtrinsic, [H256, Compact, bool]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction; + }; + technicalCommitteeMembership: { + /** + * Add a member `who` to the set. + * + * May only be called from `T::AddOrigin`. + **/ + addMember: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; + /** + * Swap out the sending member for some other key `new`. + * + * May only be called from `Signed` origin of a current member. + * + * Prime membership is passed from the origin account to `new`, if extant. + **/ + changeKey: AugmentedSubmittable<(updated: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; + /** + * Remove the prime member if it exists. + * + * May only be called from `T::PrimeOrigin`. + **/ + clearPrime: AugmentedSubmittable<() => SubmittableExtrinsic, []>; + /** + * Remove a member `who` from the set. + * + * May only be called from `T::RemoveOrigin`. + **/ + removeMember: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; + /** + * Change the membership to a new set, disregarding the existing membership. Be nice and + * pass `members` pre-sorted. + * + * May only be called from `T::ResetOrigin`. + **/ + resetMembers: AugmentedSubmittable<(members: Vec | (AccountId32 | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; + /** + * Set the prime member. Must be a current member. + * + * May only be called from `T::PrimeOrigin`. + **/ + setPrime: AugmentedSubmittable<(who: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress]>; + /** + * Swap out one member `remove` for another `add`. + * + * May only be called from `T::SwapOrigin`. + * + * Prime membership is *not* passed from `remove` to `add`, if extant. + **/ + swapMember: AugmentedSubmittable<(remove: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array, add: MultiAddress | { Id: any } | { Index: any } | { Raw: any } | { Address32: any } | { Address20: any } | string | Uint8Array) => SubmittableExtrinsic, [MultiAddress, MultiAddress]>; + /** + * Generic tx + **/ + [key: string]: SubmittableExtrinsicFunction; + }; testUtils: { batchAll: AugmentedSubmittable<(calls: Vec | (Call | IMethod | string | Uint8Array)[]) => SubmittableExtrinsic, [Vec]>; enable: AugmentedSubmittable<() => SubmittableExtrinsic, []>; diff --git a/tests/src/interfaces/augment-types.ts b/tests/src/interfaces/augment-types.ts index af71904224..be74d9eb95 100644 --- a/tests/src/interfaces/augment-types.ts +++ b/tests/src/interfaces/augment-types.ts @@ -5,7 +5,7 @@ // this is required to allow for ambient/previous definitions import '@polkadot/types/types/registry'; -import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesIdAmount, PalletBalancesReasons, PalletBalancesReserveData, PalletCollatorSelectionCall, PalletCollatorSelectionError, PalletCollatorSelectionEvent, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletConfigurationEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCodeMetadata, PalletEvmCoderSubstrateError, PalletEvmContractHelpersCall, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletIdentityBitFlags, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityIdentityField, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletRefungibleError, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletStateTrieMigrationCall, PalletStateTrieMigrationError, PalletStateTrieMigrationEvent, PalletStateTrieMigrationMigrationCompute, PalletStateTrieMigrationMigrationLimits, PalletStateTrieMigrationMigrationTask, PalletStateTrieMigrationProgress, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, ParachainInfoCall, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV4AbridgedHostConfiguration, PolkadotPrimitivesV4AbridgedHrmpChannel, PolkadotPrimitivesV4PersistedValidationData, PolkadotPrimitivesV4UpgradeRestriction, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionValidityInvalidTransaction, SpRuntimeTransactionValidityTransactionValidityError, SpRuntimeTransactionValidityUnknownTransaction, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo, UpPovEstimateRpcTrieKeyValue, XcmDoubleEncoded, XcmV2BodyId, XcmV2BodyPart, XcmV2Instruction, XcmV2Junction, XcmV2MultiAsset, XcmV2MultiLocation, XcmV2MultiassetAssetId, XcmV2MultiassetAssetInstance, XcmV2MultiassetFungibility, XcmV2MultiassetMultiAssetFilter, XcmV2MultiassetMultiAssets, XcmV2MultiassetWildFungibility, XcmV2MultiassetWildMultiAsset, XcmV2MultilocationJunctions, XcmV2NetworkId, XcmV2OriginKind, XcmV2Response, XcmV2TraitsError, XcmV2WeightLimit, XcmV2Xcm, XcmV3Instruction, XcmV3Junction, XcmV3JunctionBodyId, XcmV3JunctionBodyPart, XcmV3JunctionNetworkId, XcmV3Junctions, XcmV3MaybeErrorCode, XcmV3MultiAsset, XcmV3MultiLocation, XcmV3MultiassetAssetId, XcmV3MultiassetAssetInstance, XcmV3MultiassetFungibility, XcmV3MultiassetMultiAssetFilter, XcmV3MultiassetMultiAssets, XcmV3MultiassetWildFungibility, XcmV3MultiassetWildMultiAsset, XcmV3PalletInfo, XcmV3QueryResponseInfo, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3WeightLimit, XcmV3Xcm, XcmVersionedAssetId, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedResponse, XcmVersionedXcm } from './default'; +import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportPreimagesBounded, FrameSupportScheduleDispatchTime, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesIdAmount, PalletBalancesReasons, PalletBalancesReserveData, PalletCollatorSelectionCall, PalletCollatorSelectionError, PalletCollatorSelectionEvent, PalletCollectiveCall, PalletCollectiveError, PalletCollectiveEvent, PalletCollectiveRawOrigin, PalletCollectiveVotes, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletConfigurationEvent, PalletDemocracyCall, PalletDemocracyConviction, PalletDemocracyDelegations, PalletDemocracyError, PalletDemocracyEvent, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyReferendumStatus, PalletDemocracyTally, PalletDemocracyVoteAccountVote, PalletDemocracyVotePriorLock, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCodeMetadata, PalletEvmCoderSubstrateError, PalletEvmContractHelpersCall, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletGovOriginsOrigin, PalletIdentityBitFlags, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityIdentityField, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletMembershipCall, PalletMembershipError, PalletMembershipEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletRankedCollectiveCall, PalletRankedCollectiveError, PalletRankedCollectiveEvent, PalletRankedCollectiveMemberRecord, PalletRankedCollectiveTally, PalletRankedCollectiveVoteRecord, PalletReferendaCall, PalletReferendaCurve, PalletReferendaDecidingStatus, PalletReferendaDeposit, PalletReferendaError, PalletReferendaEvent, PalletReferendaReferendumInfo, PalletReferendaReferendumStatus, PalletReferendaTrackInfo, PalletRefungibleError, PalletSchedulerCall, PalletSchedulerError, PalletSchedulerEvent, PalletSchedulerScheduled, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletStateTrieMigrationCall, PalletStateTrieMigrationError, PalletStateTrieMigrationEvent, PalletStateTrieMigrationMigrationCompute, PalletStateTrieMigrationMigrationLimits, PalletStateTrieMigrationMigrationTask, PalletStateTrieMigrationProgress, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, ParachainInfoCall, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV4AbridgedHostConfiguration, PolkadotPrimitivesV4AbridgedHrmpChannel, PolkadotPrimitivesV4PersistedValidationData, PolkadotPrimitivesV4UpgradeRestriction, QuartzRuntimeOriginCaller, QuartzRuntimeRuntime, QuartzRuntimeRuntimeCommonIdentityDisableIdentityCalls, QuartzRuntimeRuntimeCommonMaintenanceCheckMaintenance, QuartzRuntimeRuntimeCommonSessionKeys, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionValidityInvalidTransaction, SpRuntimeTransactionValidityTransactionValidityError, SpRuntimeTransactionValidityUnknownTransaction, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo, UpPovEstimateRpcTrieKeyValue, XcmDoubleEncoded, XcmV2BodyId, XcmV2BodyPart, XcmV2Instruction, XcmV2Junction, XcmV2MultiAsset, XcmV2MultiLocation, XcmV2MultiassetAssetId, XcmV2MultiassetAssetInstance, XcmV2MultiassetFungibility, XcmV2MultiassetMultiAssetFilter, XcmV2MultiassetMultiAssets, XcmV2MultiassetWildFungibility, XcmV2MultiassetWildMultiAsset, XcmV2MultilocationJunctions, XcmV2NetworkId, XcmV2OriginKind, XcmV2Response, XcmV2TraitsError, XcmV2WeightLimit, XcmV2Xcm, XcmV3Instruction, XcmV3Junction, XcmV3JunctionBodyId, XcmV3JunctionBodyPart, XcmV3JunctionNetworkId, XcmV3Junctions, XcmV3MaybeErrorCode, XcmV3MultiAsset, XcmV3MultiLocation, XcmV3MultiassetAssetId, XcmV3MultiassetAssetInstance, XcmV3MultiassetFungibility, XcmV3MultiassetMultiAssetFilter, XcmV3MultiassetMultiAssets, XcmV3MultiassetWildFungibility, XcmV3MultiassetWildMultiAsset, XcmV3PalletInfo, XcmV3QueryResponseInfo, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3WeightLimit, XcmV3Xcm, XcmVersionedAssetId, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedResponse, XcmVersionedXcm } from './default'; import type { Data, StorageKey } from '@polkadot/types'; import type { BitVec, Bool, Bytes, F32, F64, I128, I16, I256, I32, I64, I8, ISize, Json, Null, OptionBool, Raw, Text, Type, U128, U16, U256, U32, U64, U8, USize, bool, f32, f64, i128, i16, i256, i32, i64, i8, isize, u128, u16, u256, u32, u64, u8, usize } from '@polkadot/types-codec'; import type { AssetApproval, AssetApprovalKey, AssetBalance, AssetDestroyWitness, AssetDetails, AssetMetadata, TAssetBalance, TAssetDepositBalance } from '@polkadot/types/interfaces/assets'; @@ -25,7 +25,7 @@ import type { StatementKind } from '@polkadot/types/interfaces/claims'; import type { CollectiveOrigin, MemberCount, ProposalIndex, Votes, VotesTo230 } from '@polkadot/types/interfaces/collective'; import type { AuthorityId, RawVRFOutput } from '@polkadot/types/interfaces/consensus'; import type { AliveContractInfo, CodeHash, CodeSource, CodeUploadRequest, CodeUploadResult, CodeUploadResultValue, ContractCallFlags, ContractCallRequest, ContractExecResult, ContractExecResultOk, ContractExecResultResult, ContractExecResultSuccessTo255, ContractExecResultSuccessTo260, ContractExecResultTo255, ContractExecResultTo260, ContractExecResultTo267, ContractExecResultU64, ContractInfo, ContractInstantiateResult, ContractInstantiateResultTo267, ContractInstantiateResultTo299, ContractInstantiateResultU64, ContractReturnFlags, ContractStorageKey, DeletedContract, ExecReturnValue, Gas, HostFnWeights, HostFnWeightsTo264, InstantiateRequest, InstantiateRequestV1, InstantiateRequestV2, InstantiateReturnValue, InstantiateReturnValueOk, InstantiateReturnValueTo267, InstructionWeights, Limits, LimitsTo264, PrefabWasmModule, RentProjection, Schedule, ScheduleTo212, ScheduleTo258, ScheduleTo264, SeedOf, StorageDeposit, TombstoneContractInfo, TrieId } from '@polkadot/types/interfaces/contracts'; -import type { ContractConstructorSpecLatest, ContractConstructorSpecV0, ContractConstructorSpecV1, ContractConstructorSpecV2, ContractConstructorSpecV3, ContractContractSpecV0, ContractContractSpecV1, ContractContractSpecV2, ContractContractSpecV3, ContractContractSpecV4, ContractCryptoHasher, ContractDiscriminant, ContractDisplayName, ContractEventParamSpecLatest, ContractEventParamSpecV0, ContractEventParamSpecV2, ContractEventSpecLatest, ContractEventSpecV0, ContractEventSpecV1, ContractEventSpecV2, ContractLayoutArray, ContractLayoutCell, ContractLayoutEnum, ContractLayoutHash, ContractLayoutHashingStrategy, ContractLayoutKey, ContractLayoutStruct, ContractLayoutStructField, ContractMessageParamSpecLatest, ContractMessageParamSpecV0, ContractMessageParamSpecV2, ContractMessageSpecLatest, ContractMessageSpecV0, ContractMessageSpecV1, ContractMessageSpecV2, ContractMetadata, ContractMetadataLatest, ContractMetadataV0, ContractMetadataV1, ContractMetadataV2, ContractMetadataV3, ContractMetadataV4, ContractProject, ContractProjectContract, ContractProjectInfo, ContractProjectSource, ContractProjectV0, ContractSelector, ContractStorageLayout, ContractTypeSpec } from '@polkadot/types/interfaces/contractsAbi'; +import type { ContractConstructorSpecLatest, ContractConstructorSpecV0, ContractConstructorSpecV1, ContractConstructorSpecV2, ContractConstructorSpecV3, ContractConstructorSpecV4, ContractContractSpecV0, ContractContractSpecV1, ContractContractSpecV2, ContractContractSpecV3, ContractContractSpecV4, ContractCryptoHasher, ContractDiscriminant, ContractDisplayName, ContractEnvironmentV4, ContractEventParamSpecLatest, ContractEventParamSpecV0, ContractEventParamSpecV2, ContractEventSpecLatest, ContractEventSpecV0, ContractEventSpecV1, ContractEventSpecV2, ContractLayoutArray, ContractLayoutCell, ContractLayoutEnum, ContractLayoutHash, ContractLayoutHashingStrategy, ContractLayoutKey, ContractLayoutStruct, ContractLayoutStructField, ContractMessageParamSpecLatest, ContractMessageParamSpecV0, ContractMessageParamSpecV2, ContractMessageSpecLatest, ContractMessageSpecV0, ContractMessageSpecV1, ContractMessageSpecV2, ContractMessageSpecV3, ContractMetadata, ContractMetadataLatest, ContractMetadataV0, ContractMetadataV1, ContractMetadataV2, ContractMetadataV3, ContractMetadataV4, ContractProject, ContractProjectContract, ContractProjectInfo, ContractProjectSource, ContractProjectV0, ContractSelector, ContractStorageLayout, ContractTypeSpec } from '@polkadot/types/interfaces/contractsAbi'; import type { FundIndex, FundInfo, LastContribution, TrieIndex } from '@polkadot/types/interfaces/crowdloan'; import type { CollationInfo, CollationInfoV1, ConfigData, MessageId, OverweightIndex, PageCounter, PageIndexData } from '@polkadot/types/interfaces/cumulus'; import type { AccountVote, AccountVoteSplit, AccountVoteStandard, Conviction, Delegations, PreimageStatus, PreimageStatusAvailable, PriorLock, PropIndex, Proposal, ProxyState, ReferendumIndex, ReferendumInfo, ReferendumInfoFinished, ReferendumInfoTo239, ReferendumStatus, Tally, Voting, VotingDelegating, VotingDirect, VotingDirectVote } from '@polkadot/types/interfaces/democracy'; @@ -254,6 +254,7 @@ declare module '@polkadot/types/types/registry' { ContractConstructorSpecV1: ContractConstructorSpecV1; ContractConstructorSpecV2: ContractConstructorSpecV2; ContractConstructorSpecV3: ContractConstructorSpecV3; + ContractConstructorSpecV4: ContractConstructorSpecV4; ContractContractSpecV0: ContractContractSpecV0; ContractContractSpecV1: ContractContractSpecV1; ContractContractSpecV2: ContractContractSpecV2; @@ -262,6 +263,7 @@ declare module '@polkadot/types/types/registry' { ContractCryptoHasher: ContractCryptoHasher; ContractDiscriminant: ContractDiscriminant; ContractDisplayName: ContractDisplayName; + ContractEnvironmentV4: ContractEnvironmentV4; ContractEventParamSpecLatest: ContractEventParamSpecLatest; ContractEventParamSpecV0: ContractEventParamSpecV0; ContractEventParamSpecV2: ContractEventParamSpecV2; @@ -298,6 +300,7 @@ declare module '@polkadot/types/types/registry' { ContractMessageSpecV0: ContractMessageSpecV0; ContractMessageSpecV1: ContractMessageSpecV1; ContractMessageSpecV2: ContractMessageSpecV2; + ContractMessageSpecV3: ContractMessageSpecV3; ContractMetadata: ContractMetadata; ContractMetadataLatest: ContractMetadataLatest; ContractMetadataV0: ContractMetadataV0; @@ -336,6 +339,7 @@ declare module '@polkadot/types/types/registry' { CumulusPalletXcmCall: CumulusPalletXcmCall; CumulusPalletXcmError: CumulusPalletXcmError; CumulusPalletXcmEvent: CumulusPalletXcmEvent; + CumulusPalletXcmOrigin: CumulusPalletXcmOrigin; CumulusPalletXcmpQueueCall: CumulusPalletXcmpQueueCall; CumulusPalletXcmpQueueError: CumulusPalletXcmpQueueError; CumulusPalletXcmpQueueEvent: CumulusPalletXcmpQueueEvent; @@ -534,7 +538,10 @@ declare module '@polkadot/types/types/registry' { FrameSupportDispatchPerDispatchClassU32: FrameSupportDispatchPerDispatchClassU32; FrameSupportDispatchPerDispatchClassWeight: FrameSupportDispatchPerDispatchClassWeight; FrameSupportDispatchPerDispatchClassWeightsPerClass: FrameSupportDispatchPerDispatchClassWeightsPerClass; + FrameSupportDispatchRawOrigin: FrameSupportDispatchRawOrigin; FrameSupportPalletId: FrameSupportPalletId; + FrameSupportPreimagesBounded: FrameSupportPreimagesBounded; + FrameSupportScheduleDispatchTime: FrameSupportScheduleDispatchTime; FrameSupportTokensMiscBalanceStatus: FrameSupportTokensMiscBalanceStatus; FrameSystemAccountInfo: FrameSystemAccountInfo; FrameSystemCall: FrameSystemCall; @@ -788,10 +795,6 @@ declare module '@polkadot/types/types/registry' { OffenceDetails: OffenceDetails; Offender: Offender; OldV1SessionInfo: OldV1SessionInfo; - OpalRuntimeRuntime: OpalRuntimeRuntime; - OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls: OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls; - OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance; - OpalRuntimeRuntimeCommonSessionKeys: OpalRuntimeRuntimeCommonSessionKeys; OpaqueCall: OpaqueCall; OpaqueKeyOwnershipProof: OpaqueKeyOwnershipProof; OpaqueMetadata: OpaqueMetadata; @@ -849,6 +852,11 @@ declare module '@polkadot/types/types/registry' { PalletCollatorSelectionCall: PalletCollatorSelectionCall; PalletCollatorSelectionError: PalletCollatorSelectionError; PalletCollatorSelectionEvent: PalletCollatorSelectionEvent; + PalletCollectiveCall: PalletCollectiveCall; + PalletCollectiveError: PalletCollectiveError; + PalletCollectiveEvent: PalletCollectiveEvent; + PalletCollectiveRawOrigin: PalletCollectiveRawOrigin; + PalletCollectiveVotes: PalletCollectiveVotes; PalletCommonError: PalletCommonError; PalletCommonEvent: PalletCommonEvent; PalletConfigurationAppPromotionConfiguration: PalletConfigurationAppPromotionConfiguration; @@ -857,12 +865,26 @@ declare module '@polkadot/types/types/registry' { PalletConfigurationEvent: PalletConfigurationEvent; PalletConstantMetadataLatest: PalletConstantMetadataLatest; PalletConstantMetadataV14: PalletConstantMetadataV14; + PalletDemocracyCall: PalletDemocracyCall; + PalletDemocracyConviction: PalletDemocracyConviction; + PalletDemocracyDelegations: PalletDemocracyDelegations; + PalletDemocracyError: PalletDemocracyError; + PalletDemocracyEvent: PalletDemocracyEvent; + PalletDemocracyMetadataOwner: PalletDemocracyMetadataOwner; + PalletDemocracyReferendumInfo: PalletDemocracyReferendumInfo; + PalletDemocracyReferendumStatus: PalletDemocracyReferendumStatus; + PalletDemocracyTally: PalletDemocracyTally; + PalletDemocracyVoteAccountVote: PalletDemocracyVoteAccountVote; + PalletDemocracyVotePriorLock: PalletDemocracyVotePriorLock; + PalletDemocracyVoteThreshold: PalletDemocracyVoteThreshold; + PalletDemocracyVoteVoting: PalletDemocracyVoteVoting; PalletErrorMetadataLatest: PalletErrorMetadataLatest; PalletErrorMetadataV14: PalletErrorMetadataV14; PalletEthereumCall: PalletEthereumCall; PalletEthereumError: PalletEthereumError; PalletEthereumEvent: PalletEthereumEvent; PalletEthereumFakeTransactionFinalizer: PalletEthereumFakeTransactionFinalizer; + PalletEthereumRawOrigin: PalletEthereumRawOrigin; PalletEventMetadataLatest: PalletEventMetadataLatest; PalletEventMetadataV14: PalletEventMetadataV14; PalletEvmAccountBasicCrossAccountIdRepr: PalletEvmAccountBasicCrossAccountIdRepr; @@ -885,6 +907,7 @@ declare module '@polkadot/types/types/registry' { PalletForeignAssetsModuleEvent: PalletForeignAssetsModuleEvent; PalletForeignAssetsNativeCurrency: PalletForeignAssetsNativeCurrency; PalletFungibleError: PalletFungibleError; + PalletGovOriginsOrigin: PalletGovOriginsOrigin; PalletId: PalletId; PalletIdentityBitFlags: PalletIdentityBitFlags; PalletIdentityCall: PalletIdentityCall; @@ -899,6 +922,9 @@ declare module '@polkadot/types/types/registry' { PalletMaintenanceCall: PalletMaintenanceCall; PalletMaintenanceError: PalletMaintenanceError; PalletMaintenanceEvent: PalletMaintenanceEvent; + PalletMembershipCall: PalletMembershipCall; + PalletMembershipError: PalletMembershipError; + PalletMembershipEvent: PalletMembershipEvent; PalletMetadataLatest: PalletMetadataLatest; PalletMetadataV14: PalletMetadataV14; PalletMetadataV15: PalletMetadataV15; @@ -908,7 +934,26 @@ declare module '@polkadot/types/types/registry' { PalletPreimageError: PalletPreimageError; PalletPreimageEvent: PalletPreimageEvent; PalletPreimageRequestStatus: PalletPreimageRequestStatus; + PalletRankedCollectiveCall: PalletRankedCollectiveCall; + PalletRankedCollectiveError: PalletRankedCollectiveError; + PalletRankedCollectiveEvent: PalletRankedCollectiveEvent; + PalletRankedCollectiveMemberRecord: PalletRankedCollectiveMemberRecord; + PalletRankedCollectiveTally: PalletRankedCollectiveTally; + PalletRankedCollectiveVoteRecord: PalletRankedCollectiveVoteRecord; + PalletReferendaCall: PalletReferendaCall; + PalletReferendaCurve: PalletReferendaCurve; + PalletReferendaDecidingStatus: PalletReferendaDecidingStatus; + PalletReferendaDeposit: PalletReferendaDeposit; + PalletReferendaError: PalletReferendaError; + PalletReferendaEvent: PalletReferendaEvent; + PalletReferendaReferendumInfo: PalletReferendaReferendumInfo; + PalletReferendaReferendumStatus: PalletReferendaReferendumStatus; + PalletReferendaTrackInfo: PalletReferendaTrackInfo; PalletRefungibleError: PalletRefungibleError; + PalletSchedulerCall: PalletSchedulerCall; + PalletSchedulerError: PalletSchedulerError; + PalletSchedulerEvent: PalletSchedulerEvent; + PalletSchedulerScheduled: PalletSchedulerScheduled; PalletSessionCall: PalletSessionCall; PalletSessionError: PalletSessionError; PalletSessionEvent: PalletSessionEvent; @@ -945,6 +990,7 @@ declare module '@polkadot/types/types/registry' { PalletXcmCall: PalletXcmCall; PalletXcmError: PalletXcmError; PalletXcmEvent: PalletXcmEvent; + PalletXcmOrigin: PalletXcmOrigin; PalletXcmQueryStatus: PalletXcmQueryStatus; PalletXcmRemoteLockedFungibleRecord: PalletXcmRemoteLockedFungibleRecord; PalletXcmVersionMigrationStage: PalletXcmVersionMigrationStage; @@ -1021,6 +1067,11 @@ declare module '@polkadot/types/types/registry' { PvfCheckStatement: PvfCheckStatement; PvfExecTimeoutKind: PvfExecTimeoutKind; PvfPrepTimeoutKind: PvfPrepTimeoutKind; + QuartzRuntimeOriginCaller: QuartzRuntimeOriginCaller; + QuartzRuntimeRuntime: QuartzRuntimeRuntime; + QuartzRuntimeRuntimeCommonIdentityDisableIdentityCalls: QuartzRuntimeRuntimeCommonIdentityDisableIdentityCalls; + QuartzRuntimeRuntimeCommonMaintenanceCheckMaintenance: QuartzRuntimeRuntimeCommonMaintenanceCheckMaintenance; + QuartzRuntimeRuntimeCommonSessionKeys: QuartzRuntimeRuntimeCommonSessionKeys; QueryId: QueryId; QueryStatus: QueryStatus; QueueConfigData: QueueConfigData; @@ -1218,6 +1269,7 @@ declare module '@polkadot/types/types/registry' { SpCoreEd25519Signature: SpCoreEd25519Signature; SpCoreSr25519Public: SpCoreSr25519Public; SpCoreSr25519Signature: SpCoreSr25519Signature; + SpCoreVoid: SpCoreVoid; SpecVersion: SpecVersion; SpRuntimeDigest: SpRuntimeDigest; SpRuntimeDigestDigestItem: SpRuntimeDigestDigestItem; diff --git a/tests/src/interfaces/default/types.ts b/tests/src/interfaces/default/types.ts index c36b59eab8..6542c53504 100644 --- a/tests/src/interfaces/default/types.ts +++ b/tests/src/interfaces/default/types.ts @@ -2,8 +2,9 @@ /* eslint-disable */ import type { Data } from '@polkadot/types'; -import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; +import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Struct, Text, U256, U8aFixed, Vec, bool, i64, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; import type { ITuple } from '@polkadot/types-codec/types'; +import type { Vote } from '@polkadot/types/interfaces/elections'; import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime'; import type { Event } from '@polkadot/types/interfaces/system'; @@ -175,6 +176,14 @@ export interface CumulusPalletXcmEvent extends Enum { readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward'; } +/** @name CumulusPalletXcmOrigin */ +export interface CumulusPalletXcmOrigin extends Enum { + readonly isRelay: boolean; + readonly isSiblingParachain: boolean; + readonly asSiblingParachain: u32; + readonly type: 'Relay' | 'SiblingParachain'; +} + /** @name CumulusPalletXcmpQueueCall */ export interface CumulusPalletXcmpQueueCall extends Enum { readonly isServiceOverweight: boolean; @@ -556,9 +565,43 @@ export interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Str readonly mandatory: FrameSystemLimitsWeightsPerClass; } +/** @name FrameSupportDispatchRawOrigin */ +export interface FrameSupportDispatchRawOrigin extends Enum { + readonly isRoot: boolean; + readonly isSigned: boolean; + readonly asSigned: AccountId32; + readonly isNone: boolean; + readonly type: 'Root' | 'Signed' | 'None'; +} + /** @name FrameSupportPalletId */ export interface FrameSupportPalletId extends U8aFixed {} +/** @name FrameSupportPreimagesBounded */ +export interface FrameSupportPreimagesBounded extends Enum { + readonly isLegacy: boolean; + readonly asLegacy: { + readonly hash_: H256; + } & Struct; + readonly isInline: boolean; + readonly asInline: Bytes; + readonly isLookup: boolean; + readonly asLookup: { + readonly hash_: H256; + readonly len: u32; + } & Struct; + readonly type: 'Legacy' | 'Inline' | 'Lookup'; +} + +/** @name FrameSupportScheduleDispatchTime */ +export interface FrameSupportScheduleDispatchTime extends Enum { + readonly isAt: boolean; + readonly asAt: u32; + readonly isAfter: boolean; + readonly asAfter: u32; + readonly type: 'At' | 'After'; +} + /** @name FrameSupportTokensMiscBalanceStatus */ export interface FrameSupportTokensMiscBalanceStatus extends Enum { readonly isFree: boolean; @@ -709,20 +752,6 @@ export interface FrameSystemPhase extends Enum { readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization'; } -/** @name OpalRuntimeRuntime */ -export interface OpalRuntimeRuntime extends Null {} - -/** @name OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls */ -export interface OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls extends Null {} - -/** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance */ -export interface OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance extends Null {} - -/** @name OpalRuntimeRuntimeCommonSessionKeys */ -export interface OpalRuntimeRuntimeCommonSessionKeys extends Struct { - readonly aura: SpConsensusAuraSr25519AppSr25519Public; -} - /** @name OrmlTokensAccountData */ export interface OrmlTokensAccountData extends Struct { readonly free: u128; @@ -1382,6 +1411,123 @@ export interface PalletCollatorSelectionEvent extends Enum { readonly type: 'InvulnerableAdded' | 'InvulnerableRemoved' | 'LicenseObtained' | 'LicenseReleased' | 'CandidateAdded' | 'CandidateRemoved'; } +/** @name PalletCollectiveCall */ +export interface PalletCollectiveCall extends Enum { + readonly isSetMembers: boolean; + readonly asSetMembers: { + readonly newMembers: Vec; + readonly prime: Option; + readonly oldCount: u32; + } & Struct; + readonly isExecute: boolean; + readonly asExecute: { + readonly proposal: Call; + readonly lengthBound: Compact; + } & Struct; + readonly isPropose: boolean; + readonly asPropose: { + readonly threshold: Compact; + readonly proposal: Call; + readonly lengthBound: Compact; + } & Struct; + readonly isVote: boolean; + readonly asVote: { + readonly proposal: H256; + readonly index: Compact; + readonly approve: bool; + } & Struct; + readonly isDisapproveProposal: boolean; + readonly asDisapproveProposal: { + readonly proposalHash: H256; + } & Struct; + readonly isClose: boolean; + readonly asClose: { + readonly proposalHash: H256; + readonly index: Compact; + readonly proposalWeightBound: SpWeightsWeightV2Weight; + readonly lengthBound: Compact; + } & Struct; + readonly type: 'SetMembers' | 'Execute' | 'Propose' | 'Vote' | 'DisapproveProposal' | 'Close'; +} + +/** @name PalletCollectiveError */ +export interface PalletCollectiveError extends Enum { + readonly isNotMember: boolean; + readonly isDuplicateProposal: boolean; + readonly isProposalMissing: boolean; + readonly isWrongIndex: boolean; + readonly isDuplicateVote: boolean; + readonly isAlreadyInitialized: boolean; + readonly isTooEarly: boolean; + readonly isTooManyProposals: boolean; + readonly isWrongProposalWeight: boolean; + readonly isWrongProposalLength: boolean; + readonly type: 'NotMember' | 'DuplicateProposal' | 'ProposalMissing' | 'WrongIndex' | 'DuplicateVote' | 'AlreadyInitialized' | 'TooEarly' | 'TooManyProposals' | 'WrongProposalWeight' | 'WrongProposalLength'; +} + +/** @name PalletCollectiveEvent */ +export interface PalletCollectiveEvent extends Enum { + readonly isProposed: boolean; + readonly asProposed: { + readonly account: AccountId32; + readonly proposalIndex: u32; + readonly proposalHash: H256; + readonly threshold: u32; + } & Struct; + readonly isVoted: boolean; + readonly asVoted: { + readonly account: AccountId32; + readonly proposalHash: H256; + readonly voted: bool; + readonly yes: u32; + readonly no: u32; + } & Struct; + readonly isApproved: boolean; + readonly asApproved: { + readonly proposalHash: H256; + } & Struct; + readonly isDisapproved: boolean; + readonly asDisapproved: { + readonly proposalHash: H256; + } & Struct; + readonly isExecuted: boolean; + readonly asExecuted: { + readonly proposalHash: H256; + readonly result: Result; + } & Struct; + readonly isMemberExecuted: boolean; + readonly asMemberExecuted: { + readonly proposalHash: H256; + readonly result: Result; + } & Struct; + readonly isClosed: boolean; + readonly asClosed: { + readonly proposalHash: H256; + readonly yes: u32; + readonly no: u32; + } & Struct; + readonly type: 'Proposed' | 'Voted' | 'Approved' | 'Disapproved' | 'Executed' | 'MemberExecuted' | 'Closed'; +} + +/** @name PalletCollectiveRawOrigin */ +export interface PalletCollectiveRawOrigin extends Enum { + readonly isMembers: boolean; + readonly asMembers: ITuple<[u32, u32]>; + readonly isMember: boolean; + readonly asMember: AccountId32; + readonly isPhantom: boolean; + readonly type: 'Members' | 'Member' | 'Phantom'; +} + +/** @name PalletCollectiveVotes */ +export interface PalletCollectiveVotes extends Struct { + readonly index: u32; + readonly threshold: u32; + readonly ayes: Vec; + readonly nays: Vec; + readonly end: u32; +} + /** @name PalletCommonError */ export interface PalletCommonError extends Enum { readonly isCollectionNotFound: boolean; @@ -1533,6 +1679,303 @@ export interface PalletConfigurationEvent extends Enum { readonly type: 'NewDesiredCollators' | 'NewCollatorLicenseBond' | 'NewCollatorKickThreshold'; } +/** @name PalletDemocracyCall */ +export interface PalletDemocracyCall extends Enum { + readonly isPropose: boolean; + readonly asPropose: { + readonly proposal: FrameSupportPreimagesBounded; + readonly value: Compact; + } & Struct; + readonly isSecond: boolean; + readonly asSecond: { + readonly proposal: Compact; + } & Struct; + readonly isVote: boolean; + readonly asVote: { + readonly refIndex: Compact; + readonly vote: PalletDemocracyVoteAccountVote; + } & Struct; + readonly isEmergencyCancel: boolean; + readonly asEmergencyCancel: { + readonly refIndex: u32; + } & Struct; + readonly isExternalPropose: boolean; + readonly asExternalPropose: { + readonly proposal: FrameSupportPreimagesBounded; + } & Struct; + readonly isExternalProposeMajority: boolean; + readonly asExternalProposeMajority: { + readonly proposal: FrameSupportPreimagesBounded; + } & Struct; + readonly isExternalProposeDefault: boolean; + readonly asExternalProposeDefault: { + readonly proposal: FrameSupportPreimagesBounded; + } & Struct; + readonly isFastTrack: boolean; + readonly asFastTrack: { + readonly proposalHash: H256; + readonly votingPeriod: u32; + readonly delay: u32; + } & Struct; + readonly isVetoExternal: boolean; + readonly asVetoExternal: { + readonly proposalHash: H256; + } & Struct; + readonly isCancelReferendum: boolean; + readonly asCancelReferendum: { + readonly refIndex: Compact; + } & Struct; + readonly isDelegate: boolean; + readonly asDelegate: { + readonly to: MultiAddress; + readonly conviction: PalletDemocracyConviction; + readonly balance: u128; + } & Struct; + readonly isUndelegate: boolean; + readonly isClearPublicProposals: boolean; + readonly isUnlock: boolean; + readonly asUnlock: { + readonly target: MultiAddress; + } & Struct; + readonly isRemoveVote: boolean; + readonly asRemoveVote: { + readonly index: u32; + } & Struct; + readonly isRemoveOtherVote: boolean; + readonly asRemoveOtherVote: { + readonly target: MultiAddress; + readonly index: u32; + } & Struct; + readonly isBlacklist: boolean; + readonly asBlacklist: { + readonly proposalHash: H256; + readonly maybeRefIndex: Option; + } & Struct; + readonly isCancelProposal: boolean; + readonly asCancelProposal: { + readonly propIndex: Compact; + } & Struct; + readonly isSetMetadata: boolean; + readonly asSetMetadata: { + readonly owner: PalletDemocracyMetadataOwner; + readonly maybeHash: Option; + } & Struct; + readonly type: 'Propose' | 'Second' | 'Vote' | 'EmergencyCancel' | 'ExternalPropose' | 'ExternalProposeMajority' | 'ExternalProposeDefault' | 'FastTrack' | 'VetoExternal' | 'CancelReferendum' | 'Delegate' | 'Undelegate' | 'ClearPublicProposals' | 'Unlock' | 'RemoveVote' | 'RemoveOtherVote' | 'Blacklist' | 'CancelProposal' | 'SetMetadata'; +} + +/** @name PalletDemocracyConviction */ +export interface PalletDemocracyConviction extends Enum { + readonly isNone: boolean; + readonly isLocked1x: boolean; + readonly isLocked2x: boolean; + readonly isLocked3x: boolean; + readonly isLocked4x: boolean; + readonly isLocked5x: boolean; + readonly isLocked6x: boolean; + readonly type: 'None' | 'Locked1x' | 'Locked2x' | 'Locked3x' | 'Locked4x' | 'Locked5x' | 'Locked6x'; +} + +/** @name PalletDemocracyDelegations */ +export interface PalletDemocracyDelegations extends Struct { + readonly votes: u128; + readonly capital: u128; +} + +/** @name PalletDemocracyError */ +export interface PalletDemocracyError extends Enum { + readonly isValueLow: boolean; + readonly isProposalMissing: boolean; + readonly isAlreadyCanceled: boolean; + readonly isDuplicateProposal: boolean; + readonly isProposalBlacklisted: boolean; + readonly isNotSimpleMajority: boolean; + readonly isInvalidHash: boolean; + readonly isNoProposal: boolean; + readonly isAlreadyVetoed: boolean; + readonly isReferendumInvalid: boolean; + readonly isNoneWaiting: boolean; + readonly isNotVoter: boolean; + readonly isNoPermission: boolean; + readonly isAlreadyDelegating: boolean; + readonly isInsufficientFunds: boolean; + readonly isNotDelegating: boolean; + readonly isVotesExist: boolean; + readonly isInstantNotAllowed: boolean; + readonly isNonsense: boolean; + readonly isWrongUpperBound: boolean; + readonly isMaxVotesReached: boolean; + readonly isTooMany: boolean; + readonly isVotingPeriodLow: boolean; + readonly isPreimageNotExist: boolean; + readonly type: 'ValueLow' | 'ProposalMissing' | 'AlreadyCanceled' | 'DuplicateProposal' | 'ProposalBlacklisted' | 'NotSimpleMajority' | 'InvalidHash' | 'NoProposal' | 'AlreadyVetoed' | 'ReferendumInvalid' | 'NoneWaiting' | 'NotVoter' | 'NoPermission' | 'AlreadyDelegating' | 'InsufficientFunds' | 'NotDelegating' | 'VotesExist' | 'InstantNotAllowed' | 'Nonsense' | 'WrongUpperBound' | 'MaxVotesReached' | 'TooMany' | 'VotingPeriodLow' | 'PreimageNotExist'; +} + +/** @name PalletDemocracyEvent */ +export interface PalletDemocracyEvent extends Enum { + readonly isProposed: boolean; + readonly asProposed: { + readonly proposalIndex: u32; + readonly deposit: u128; + } & Struct; + readonly isTabled: boolean; + readonly asTabled: { + readonly proposalIndex: u32; + readonly deposit: u128; + } & Struct; + readonly isExternalTabled: boolean; + readonly isStarted: boolean; + readonly asStarted: { + readonly refIndex: u32; + readonly threshold: PalletDemocracyVoteThreshold; + } & Struct; + readonly isPassed: boolean; + readonly asPassed: { + readonly refIndex: u32; + } & Struct; + readonly isNotPassed: boolean; + readonly asNotPassed: { + readonly refIndex: u32; + } & Struct; + readonly isCancelled: boolean; + readonly asCancelled: { + readonly refIndex: u32; + } & Struct; + readonly isDelegated: boolean; + readonly asDelegated: { + readonly who: AccountId32; + readonly target: AccountId32; + } & Struct; + readonly isUndelegated: boolean; + readonly asUndelegated: { + readonly account: AccountId32; + } & Struct; + readonly isVetoed: boolean; + readonly asVetoed: { + readonly who: AccountId32; + readonly proposalHash: H256; + readonly until: u32; + } & Struct; + readonly isBlacklisted: boolean; + readonly asBlacklisted: { + readonly proposalHash: H256; + } & Struct; + readonly isVoted: boolean; + readonly asVoted: { + readonly voter: AccountId32; + readonly refIndex: u32; + readonly vote: PalletDemocracyVoteAccountVote; + } & Struct; + readonly isSeconded: boolean; + readonly asSeconded: { + readonly seconder: AccountId32; + readonly propIndex: u32; + } & Struct; + readonly isProposalCanceled: boolean; + readonly asProposalCanceled: { + readonly propIndex: u32; + } & Struct; + readonly isMetadataSet: boolean; + readonly asMetadataSet: { + readonly owner: PalletDemocracyMetadataOwner; + readonly hash_: H256; + } & Struct; + readonly isMetadataCleared: boolean; + readonly asMetadataCleared: { + readonly owner: PalletDemocracyMetadataOwner; + readonly hash_: H256; + } & Struct; + readonly isMetadataTransferred: boolean; + readonly asMetadataTransferred: { + readonly prevOwner: PalletDemocracyMetadataOwner; + readonly owner: PalletDemocracyMetadataOwner; + readonly hash_: H256; + } & Struct; + readonly type: 'Proposed' | 'Tabled' | 'ExternalTabled' | 'Started' | 'Passed' | 'NotPassed' | 'Cancelled' | 'Delegated' | 'Undelegated' | 'Vetoed' | 'Blacklisted' | 'Voted' | 'Seconded' | 'ProposalCanceled' | 'MetadataSet' | 'MetadataCleared' | 'MetadataTransferred'; +} + +/** @name PalletDemocracyMetadataOwner */ +export interface PalletDemocracyMetadataOwner extends Enum { + readonly isExternal: boolean; + readonly isProposal: boolean; + readonly asProposal: u32; + readonly isReferendum: boolean; + readonly asReferendum: u32; + readonly type: 'External' | 'Proposal' | 'Referendum'; +} + +/** @name PalletDemocracyReferendumInfo */ +export interface PalletDemocracyReferendumInfo extends Enum { + readonly isOngoing: boolean; + readonly asOngoing: PalletDemocracyReferendumStatus; + readonly isFinished: boolean; + readonly asFinished: { + readonly approved: bool; + readonly end: u32; + } & Struct; + readonly type: 'Ongoing' | 'Finished'; +} + +/** @name PalletDemocracyReferendumStatus */ +export interface PalletDemocracyReferendumStatus extends Struct { + readonly end: u32; + readonly proposal: FrameSupportPreimagesBounded; + readonly threshold: PalletDemocracyVoteThreshold; + readonly delay: u32; + readonly tally: PalletDemocracyTally; +} + +/** @name PalletDemocracyTally */ +export interface PalletDemocracyTally extends Struct { + readonly ayes: u128; + readonly nays: u128; + readonly turnout: u128; +} + +/** @name PalletDemocracyVoteAccountVote */ +export interface PalletDemocracyVoteAccountVote extends Enum { + readonly isStandard: boolean; + readonly asStandard: { + readonly vote: Vote; + readonly balance: u128; + } & Struct; + readonly isSplit: boolean; + readonly asSplit: { + readonly aye: u128; + readonly nay: u128; + } & Struct; + readonly type: 'Standard' | 'Split'; +} + +/** @name PalletDemocracyVotePriorLock */ +export interface PalletDemocracyVotePriorLock extends ITuple<[u32, u128]> {} + +/** @name PalletDemocracyVoteThreshold */ +export interface PalletDemocracyVoteThreshold extends Enum { + readonly isSuperMajorityApprove: boolean; + readonly isSuperMajorityAgainst: boolean; + readonly isSimpleMajority: boolean; + readonly type: 'SuperMajorityApprove' | 'SuperMajorityAgainst' | 'SimpleMajority'; +} + +/** @name PalletDemocracyVoteVoting */ +export interface PalletDemocracyVoteVoting extends Enum { + readonly isDirect: boolean; + readonly asDirect: { + readonly votes: Vec>; + readonly delegations: PalletDemocracyDelegations; + readonly prior: PalletDemocracyVotePriorLock; + } & Struct; + readonly isDelegating: boolean; + readonly asDelegating: { + readonly balance: u128; + readonly target: AccountId32; + readonly conviction: PalletDemocracyConviction; + readonly delegations: PalletDemocracyDelegations; + readonly prior: PalletDemocracyVotePriorLock; + } & Struct; + readonly type: 'Direct' | 'Delegating'; +} + /** @name PalletEthereumCall */ export interface PalletEthereumCall extends Enum { readonly isTransact: boolean; @@ -1565,6 +2008,13 @@ export interface PalletEthereumEvent extends Enum { /** @name PalletEthereumFakeTransactionFinalizer */ export interface PalletEthereumFakeTransactionFinalizer extends Null {} +/** @name PalletEthereumRawOrigin */ +export interface PalletEthereumRawOrigin extends Enum { + readonly isEthereumTransaction: boolean; + readonly asEthereumTransaction: H160; + readonly type: 'EthereumTransaction'; +} + /** @name PalletEvmAccountBasicCrossAccountIdRepr */ export interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum { readonly isSubstrate: boolean; @@ -1840,6 +2290,12 @@ export interface PalletFungibleError extends Enum { readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed' | 'SettingAllowanceForAllNotAllowed' | 'FungibleTokensAreAlwaysValid'; } +/** @name PalletGovOriginsOrigin */ +export interface PalletGovOriginsOrigin extends Enum { + readonly isFellowshipProposition: boolean; + readonly type: 'FellowshipProposition'; +} + /** @name PalletIdentityBitFlags */ export interface PalletIdentityBitFlags extends Struct { readonly _bitLength: 64; @@ -2108,6 +2564,56 @@ export interface PalletMaintenanceEvent extends Enum { readonly type: 'MaintenanceEnabled' | 'MaintenanceDisabled'; } +/** @name PalletMembershipCall */ +export interface PalletMembershipCall extends Enum { + readonly isAddMember: boolean; + readonly asAddMember: { + readonly who: MultiAddress; + } & Struct; + readonly isRemoveMember: boolean; + readonly asRemoveMember: { + readonly who: MultiAddress; + } & Struct; + readonly isSwapMember: boolean; + readonly asSwapMember: { + readonly remove: MultiAddress; + readonly add: MultiAddress; + } & Struct; + readonly isResetMembers: boolean; + readonly asResetMembers: { + readonly members: Vec; + } & Struct; + readonly isChangeKey: boolean; + readonly asChangeKey: { + readonly new_: MultiAddress; + } & Struct; + readonly isSetPrime: boolean; + readonly asSetPrime: { + readonly who: MultiAddress; + } & Struct; + readonly isClearPrime: boolean; + readonly type: 'AddMember' | 'RemoveMember' | 'SwapMember' | 'ResetMembers' | 'ChangeKey' | 'SetPrime' | 'ClearPrime'; +} + +/** @name PalletMembershipError */ +export interface PalletMembershipError extends Enum { + readonly isAlreadyMember: boolean; + readonly isNotMember: boolean; + readonly isTooManyMembers: boolean; + readonly type: 'AlreadyMember' | 'NotMember' | 'TooManyMembers'; +} + +/** @name PalletMembershipEvent */ +export interface PalletMembershipEvent extends Enum { + readonly isMemberAdded: boolean; + readonly isMemberRemoved: boolean; + readonly isMembersSwapped: boolean; + readonly isMembersReset: boolean; + readonly isKeyChanged: boolean; + readonly isDummy: boolean; + readonly type: 'MemberAdded' | 'MemberRemoved' | 'MembersSwapped' | 'MembersReset' | 'KeyChanged' | 'Dummy'; +} + /** @name PalletNonfungibleError */ export interface PalletNonfungibleError extends Enum { readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean; @@ -2186,6 +2692,330 @@ export interface PalletPreimageRequestStatus extends Enum { readonly type: 'Unrequested' | 'Requested'; } +/** @name PalletRankedCollectiveCall */ +export interface PalletRankedCollectiveCall extends Enum { + readonly isAddMember: boolean; + readonly asAddMember: { + readonly who: MultiAddress; + } & Struct; + readonly isPromoteMember: boolean; + readonly asPromoteMember: { + readonly who: MultiAddress; + } & Struct; + readonly isDemoteMember: boolean; + readonly asDemoteMember: { + readonly who: MultiAddress; + } & Struct; + readonly isRemoveMember: boolean; + readonly asRemoveMember: { + readonly who: MultiAddress; + readonly minRank: u16; + } & Struct; + readonly isVote: boolean; + readonly asVote: { + readonly poll: u32; + readonly aye: bool; + } & Struct; + readonly isCleanupPoll: boolean; + readonly asCleanupPoll: { + readonly pollIndex: u32; + readonly max: u32; + } & Struct; + readonly type: 'AddMember' | 'PromoteMember' | 'DemoteMember' | 'RemoveMember' | 'Vote' | 'CleanupPoll'; +} + +/** @name PalletRankedCollectiveError */ +export interface PalletRankedCollectiveError extends Enum { + readonly isAlreadyMember: boolean; + readonly isNotMember: boolean; + readonly isNotPolling: boolean; + readonly isOngoing: boolean; + readonly isNoneRemaining: boolean; + readonly isCorruption: boolean; + readonly isRankTooLow: boolean; + readonly isInvalidWitness: boolean; + readonly isNoPermission: boolean; + readonly type: 'AlreadyMember' | 'NotMember' | 'NotPolling' | 'Ongoing' | 'NoneRemaining' | 'Corruption' | 'RankTooLow' | 'InvalidWitness' | 'NoPermission'; +} + +/** @name PalletRankedCollectiveEvent */ +export interface PalletRankedCollectiveEvent extends Enum { + readonly isMemberAdded: boolean; + readonly asMemberAdded: { + readonly who: AccountId32; + } & Struct; + readonly isRankChanged: boolean; + readonly asRankChanged: { + readonly who: AccountId32; + readonly rank: u16; + } & Struct; + readonly isMemberRemoved: boolean; + readonly asMemberRemoved: { + readonly who: AccountId32; + readonly rank: u16; + } & Struct; + readonly isVoted: boolean; + readonly asVoted: { + readonly who: AccountId32; + readonly poll: u32; + readonly vote: PalletRankedCollectiveVoteRecord; + readonly tally: PalletRankedCollectiveTally; + } & Struct; + readonly type: 'MemberAdded' | 'RankChanged' | 'MemberRemoved' | 'Voted'; +} + +/** @name PalletRankedCollectiveMemberRecord */ +export interface PalletRankedCollectiveMemberRecord extends Struct { + readonly rank: u16; +} + +/** @name PalletRankedCollectiveTally */ +export interface PalletRankedCollectiveTally extends Struct { + readonly bareAyes: u32; + readonly ayes: u32; + readonly nays: u32; +} + +/** @name PalletRankedCollectiveVoteRecord */ +export interface PalletRankedCollectiveVoteRecord extends Enum { + readonly isAye: boolean; + readonly asAye: u32; + readonly isNay: boolean; + readonly asNay: u32; + readonly type: 'Aye' | 'Nay'; +} + +/** @name PalletReferendaCall */ +export interface PalletReferendaCall extends Enum { + readonly isSubmit: boolean; + readonly asSubmit: { + readonly proposalOrigin: QuartzRuntimeOriginCaller; + readonly proposal: FrameSupportPreimagesBounded; + readonly enactmentMoment: FrameSupportScheduleDispatchTime; + } & Struct; + readonly isPlaceDecisionDeposit: boolean; + readonly asPlaceDecisionDeposit: { + readonly index: u32; + } & Struct; + readonly isRefundDecisionDeposit: boolean; + readonly asRefundDecisionDeposit: { + readonly index: u32; + } & Struct; + readonly isCancel: boolean; + readonly asCancel: { + readonly index: u32; + } & Struct; + readonly isKill: boolean; + readonly asKill: { + readonly index: u32; + } & Struct; + readonly isNudgeReferendum: boolean; + readonly asNudgeReferendum: { + readonly index: u32; + } & Struct; + readonly isOneFewerDeciding: boolean; + readonly asOneFewerDeciding: { + readonly track: u16; + } & Struct; + readonly isRefundSubmissionDeposit: boolean; + readonly asRefundSubmissionDeposit: { + readonly index: u32; + } & Struct; + readonly isSetMetadata: boolean; + readonly asSetMetadata: { + readonly index: u32; + readonly maybeHash: Option; + } & Struct; + readonly type: 'Submit' | 'PlaceDecisionDeposit' | 'RefundDecisionDeposit' | 'Cancel' | 'Kill' | 'NudgeReferendum' | 'OneFewerDeciding' | 'RefundSubmissionDeposit' | 'SetMetadata'; +} + +/** @name PalletReferendaCurve */ +export interface PalletReferendaCurve extends Enum { + readonly isLinearDecreasing: boolean; + readonly asLinearDecreasing: { + readonly length: Perbill; + readonly floor: Perbill; + readonly ceil: Perbill; + } & Struct; + readonly isSteppedDecreasing: boolean; + readonly asSteppedDecreasing: { + readonly begin: Perbill; + readonly end: Perbill; + readonly step: Perbill; + readonly period: Perbill; + } & Struct; + readonly isReciprocal: boolean; + readonly asReciprocal: { + readonly factor: i64; + readonly xOffset: i64; + readonly yOffset: i64; + } & Struct; + readonly type: 'LinearDecreasing' | 'SteppedDecreasing' | 'Reciprocal'; +} + +/** @name PalletReferendaDecidingStatus */ +export interface PalletReferendaDecidingStatus extends Struct { + readonly since: u32; + readonly confirming: Option; +} + +/** @name PalletReferendaDeposit */ +export interface PalletReferendaDeposit extends Struct { + readonly who: AccountId32; + readonly amount: u128; +} + +/** @name PalletReferendaError */ +export interface PalletReferendaError extends Enum { + readonly isNotOngoing: boolean; + readonly isHasDeposit: boolean; + readonly isBadTrack: boolean; + readonly isFull: boolean; + readonly isQueueEmpty: boolean; + readonly isBadReferendum: boolean; + readonly isNothingToDo: boolean; + readonly isNoTrack: boolean; + readonly isUnfinished: boolean; + readonly isNoPermission: boolean; + readonly isNoDeposit: boolean; + readonly isBadStatus: boolean; + readonly isPreimageNotExist: boolean; + readonly type: 'NotOngoing' | 'HasDeposit' | 'BadTrack' | 'Full' | 'QueueEmpty' | 'BadReferendum' | 'NothingToDo' | 'NoTrack' | 'Unfinished' | 'NoPermission' | 'NoDeposit' | 'BadStatus' | 'PreimageNotExist'; +} + +/** @name PalletReferendaEvent */ +export interface PalletReferendaEvent extends Enum { + readonly isSubmitted: boolean; + readonly asSubmitted: { + readonly index: u32; + readonly track: u16; + readonly proposal: FrameSupportPreimagesBounded; + } & Struct; + readonly isDecisionDepositPlaced: boolean; + readonly asDecisionDepositPlaced: { + readonly index: u32; + readonly who: AccountId32; + readonly amount: u128; + } & Struct; + readonly isDecisionDepositRefunded: boolean; + readonly asDecisionDepositRefunded: { + readonly index: u32; + readonly who: AccountId32; + readonly amount: u128; + } & Struct; + readonly isDepositSlashed: boolean; + readonly asDepositSlashed: { + readonly who: AccountId32; + readonly amount: u128; + } & Struct; + readonly isDecisionStarted: boolean; + readonly asDecisionStarted: { + readonly index: u32; + readonly track: u16; + readonly proposal: FrameSupportPreimagesBounded; + readonly tally: PalletRankedCollectiveTally; + } & Struct; + readonly isConfirmStarted: boolean; + readonly asConfirmStarted: { + readonly index: u32; + } & Struct; + readonly isConfirmAborted: boolean; + readonly asConfirmAborted: { + readonly index: u32; + } & Struct; + readonly isConfirmed: boolean; + readonly asConfirmed: { + readonly index: u32; + readonly tally: PalletRankedCollectiveTally; + } & Struct; + readonly isApproved: boolean; + readonly asApproved: { + readonly index: u32; + } & Struct; + readonly isRejected: boolean; + readonly asRejected: { + readonly index: u32; + readonly tally: PalletRankedCollectiveTally; + } & Struct; + readonly isTimedOut: boolean; + readonly asTimedOut: { + readonly index: u32; + readonly tally: PalletRankedCollectiveTally; + } & Struct; + readonly isCancelled: boolean; + readonly asCancelled: { + readonly index: u32; + readonly tally: PalletRankedCollectiveTally; + } & Struct; + readonly isKilled: boolean; + readonly asKilled: { + readonly index: u32; + readonly tally: PalletRankedCollectiveTally; + } & Struct; + readonly isSubmissionDepositRefunded: boolean; + readonly asSubmissionDepositRefunded: { + readonly index: u32; + readonly who: AccountId32; + readonly amount: u128; + } & Struct; + readonly isMetadataSet: boolean; + readonly asMetadataSet: { + readonly index: u32; + readonly hash_: H256; + } & Struct; + readonly isMetadataCleared: boolean; + readonly asMetadataCleared: { + readonly index: u32; + readonly hash_: H256; + } & Struct; + readonly type: 'Submitted' | 'DecisionDepositPlaced' | 'DecisionDepositRefunded' | 'DepositSlashed' | 'DecisionStarted' | 'ConfirmStarted' | 'ConfirmAborted' | 'Confirmed' | 'Approved' | 'Rejected' | 'TimedOut' | 'Cancelled' | 'Killed' | 'SubmissionDepositRefunded' | 'MetadataSet' | 'MetadataCleared'; +} + +/** @name PalletReferendaReferendumInfo */ +export interface PalletReferendaReferendumInfo extends Enum { + readonly isOngoing: boolean; + readonly asOngoing: PalletReferendaReferendumStatus; + readonly isApproved: boolean; + readonly asApproved: ITuple<[u32, Option, Option]>; + readonly isRejected: boolean; + readonly asRejected: ITuple<[u32, Option, Option]>; + readonly isCancelled: boolean; + readonly asCancelled: ITuple<[u32, Option, Option]>; + readonly isTimedOut: boolean; + readonly asTimedOut: ITuple<[u32, Option, Option]>; + readonly isKilled: boolean; + readonly asKilled: u32; + readonly type: 'Ongoing' | 'Approved' | 'Rejected' | 'Cancelled' | 'TimedOut' | 'Killed'; +} + +/** @name PalletReferendaReferendumStatus */ +export interface PalletReferendaReferendumStatus extends Struct { + readonly track: u16; + readonly origin: QuartzRuntimeOriginCaller; + readonly proposal: FrameSupportPreimagesBounded; + readonly enactment: FrameSupportScheduleDispatchTime; + readonly submitted: u32; + readonly submissionDeposit: PalletReferendaDeposit; + readonly decisionDeposit: Option; + readonly deciding: Option; + readonly tally: PalletRankedCollectiveTally; + readonly inQueue: bool; + readonly alarm: Option]>>; +} + +/** @name PalletReferendaTrackInfo */ +export interface PalletReferendaTrackInfo extends Struct { + readonly name: Text; + readonly maxDeciding: u32; + readonly decisionDeposit: u128; + readonly preparePeriod: u32; + readonly decisionPeriod: u32; + readonly confirmPeriod: u32; + readonly minEnactmentPeriod: u32; + readonly minApproval: PalletReferendaCurve; + readonly minSupport: PalletReferendaCurve; +} + /** @name PalletRefungibleError */ export interface PalletRefungibleError extends Enum { readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean; @@ -2196,11 +3026,110 @@ export interface PalletRefungibleError extends Enum { readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed'; } +/** @name PalletSchedulerCall */ +export interface PalletSchedulerCall extends Enum { + readonly isSchedule: boolean; + readonly asSchedule: { + readonly when: u32; + readonly maybePeriodic: Option>; + readonly priority: u8; + readonly call: Call; + } & Struct; + readonly isCancel: boolean; + readonly asCancel: { + readonly when: u32; + readonly index: u32; + } & Struct; + readonly isScheduleNamed: boolean; + readonly asScheduleNamed: { + readonly id: U8aFixed; + readonly when: u32; + readonly maybePeriodic: Option>; + readonly priority: u8; + readonly call: Call; + } & Struct; + readonly isCancelNamed: boolean; + readonly asCancelNamed: { + readonly id: U8aFixed; + } & Struct; + readonly isScheduleAfter: boolean; + readonly asScheduleAfter: { + readonly after: u32; + readonly maybePeriodic: Option>; + readonly priority: u8; + readonly call: Call; + } & Struct; + readonly isScheduleNamedAfter: boolean; + readonly asScheduleNamedAfter: { + readonly id: U8aFixed; + readonly after: u32; + readonly maybePeriodic: Option>; + readonly priority: u8; + readonly call: Call; + } & Struct; + readonly type: 'Schedule' | 'Cancel' | 'ScheduleNamed' | 'CancelNamed' | 'ScheduleAfter' | 'ScheduleNamedAfter'; +} + +/** @name PalletSchedulerError */ +export interface PalletSchedulerError extends Enum { + readonly isFailedToSchedule: boolean; + readonly isNotFound: boolean; + readonly isTargetBlockNumberInPast: boolean; + readonly isRescheduleNoChange: boolean; + readonly isNamed: boolean; + readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange' | 'Named'; +} + +/** @name PalletSchedulerEvent */ +export interface PalletSchedulerEvent extends Enum { + readonly isScheduled: boolean; + readonly asScheduled: { + readonly when: u32; + readonly index: u32; + } & Struct; + readonly isCanceled: boolean; + readonly asCanceled: { + readonly when: u32; + readonly index: u32; + } & Struct; + readonly isDispatched: boolean; + readonly asDispatched: { + readonly task: ITuple<[u32, u32]>; + readonly id: Option; + readonly result: Result; + } & Struct; + readonly isCallUnavailable: boolean; + readonly asCallUnavailable: { + readonly task: ITuple<[u32, u32]>; + readonly id: Option; + } & Struct; + readonly isPeriodicFailed: boolean; + readonly asPeriodicFailed: { + readonly task: ITuple<[u32, u32]>; + readonly id: Option; + } & Struct; + readonly isPermanentlyOverweight: boolean; + readonly asPermanentlyOverweight: { + readonly task: ITuple<[u32, u32]>; + readonly id: Option; + } & Struct; + readonly type: 'Scheduled' | 'Canceled' | 'Dispatched' | 'CallUnavailable' | 'PeriodicFailed' | 'PermanentlyOverweight'; +} + +/** @name PalletSchedulerScheduled */ +export interface PalletSchedulerScheduled extends Struct { + readonly maybeId: Option; + readonly priority: u8; + readonly call: FrameSupportPreimagesBounded; + readonly maybePeriodic: Option>; + readonly origin: QuartzRuntimeOriginCaller; +} + /** @name PalletSessionCall */ export interface PalletSessionCall extends Enum { readonly isSetKeys: boolean; readonly asSetKeys: { - readonly keys_: OpalRuntimeRuntimeCommonSessionKeys; + readonly keys_: QuartzRuntimeRuntimeCommonSessionKeys; readonly proof: Bytes; } & Struct; readonly isPurgeKeys: boolean; @@ -2878,6 +3807,15 @@ export interface PalletXcmEvent extends Enum { readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail' | 'InvalidQuerierVersion' | 'InvalidQuerier' | 'VersionNotifyStarted' | 'VersionNotifyRequested' | 'VersionNotifyUnrequested' | 'FeesPaid' | 'AssetsClaimed'; } +/** @name PalletXcmOrigin */ +export interface PalletXcmOrigin extends Enum { + readonly isXcm: boolean; + readonly asXcm: XcmV3MultiLocation; + readonly isResponse: boolean; + readonly asResponse: XcmV3MultiLocation; + readonly type: 'Xcm' | 'Response'; +} + /** @name PalletXcmQueryStatus */ export interface PalletXcmQueryStatus extends Enum { readonly isPending: boolean; @@ -2987,6 +3925,41 @@ export interface PolkadotPrimitivesV4UpgradeRestriction extends Enum { readonly type: 'Present'; } +/** @name QuartzRuntimeOriginCaller */ +export interface QuartzRuntimeOriginCaller extends Enum { + readonly isSystem: boolean; + readonly asSystem: FrameSupportDispatchRawOrigin; + readonly isVoid: boolean; + readonly asVoid: SpCoreVoid; + readonly isCouncil: boolean; + readonly asCouncil: PalletCollectiveRawOrigin; + readonly isTechnicalCommittee: boolean; + readonly asTechnicalCommittee: PalletCollectiveRawOrigin; + readonly isPolkadotXcm: boolean; + readonly asPolkadotXcm: PalletXcmOrigin; + readonly isCumulusXcm: boolean; + readonly asCumulusXcm: CumulusPalletXcmOrigin; + readonly isOrigins: boolean; + readonly asOrigins: PalletGovOriginsOrigin; + readonly isEthereum: boolean; + readonly asEthereum: PalletEthereumRawOrigin; + readonly type: 'System' | 'Void' | 'Council' | 'TechnicalCommittee' | 'PolkadotXcm' | 'CumulusXcm' | 'Origins' | 'Ethereum'; +} + +/** @name QuartzRuntimeRuntime */ +export interface QuartzRuntimeRuntime extends Null {} + +/** @name QuartzRuntimeRuntimeCommonIdentityDisableIdentityCalls */ +export interface QuartzRuntimeRuntimeCommonIdentityDisableIdentityCalls extends Null {} + +/** @name QuartzRuntimeRuntimeCommonMaintenanceCheckMaintenance */ +export interface QuartzRuntimeRuntimeCommonMaintenanceCheckMaintenance extends Null {} + +/** @name QuartzRuntimeRuntimeCommonSessionKeys */ +export interface QuartzRuntimeRuntimeCommonSessionKeys extends Struct { + readonly aura: SpConsensusAuraSr25519AppSr25519Public; +} + /** @name SpArithmeticArithmeticError */ export interface SpArithmeticArithmeticError extends Enum { readonly isUnderflow: boolean; @@ -3013,6 +3986,9 @@ export interface SpCoreSr25519Public extends U8aFixed {} /** @name SpCoreSr25519Signature */ export interface SpCoreSr25519Signature extends U8aFixed {} +/** @name SpCoreVoid */ +export interface SpCoreVoid extends Null {} + /** @name SpRuntimeDigest */ export interface SpRuntimeDigest extends Struct { readonly logs: Vec; diff --git a/tests/src/interfaces/lookup.ts b/tests/src/interfaces/lookup.ts index 1cb61a0d2f..057fe1fc89 100644 --- a/tests/src/interfaces/lookup.ts +++ b/tests/src/interfaces/lookup.ts @@ -61,7 +61,7 @@ export default { } }, /** - * Lookup19: frame_system::EventRecord + * Lookup19: frame_system::EventRecord **/ FrameSystemEventRecord: { phase: 'FrameSystemPhase', @@ -806,429 +806,721 @@ export default { } }, /** - * Lookup71: cumulus_pallet_xcmp_queue::pallet::Event + * Lookup71: pallet_democracy::pallet::Event **/ - CumulusPalletXcmpQueueEvent: { + PalletDemocracyEvent: { _enum: { - Success: { - messageHash: 'Option<[u8;32]>', - weight: 'SpWeightsWeightV2Weight', + Proposed: { + proposalIndex: 'u32', + deposit: 'u128', }, - Fail: { - messageHash: 'Option<[u8;32]>', - error: 'XcmV3TraitsError', - weight: 'SpWeightsWeightV2Weight', + Tabled: { + proposalIndex: 'u32', + deposit: 'u128', }, - BadVersion: { - messageHash: 'Option<[u8;32]>', + ExternalTabled: 'Null', + Started: { + refIndex: 'u32', + threshold: 'PalletDemocracyVoteThreshold', }, - BadFormat: { - messageHash: 'Option<[u8;32]>', + Passed: { + refIndex: 'u32', }, - XcmpMessageSent: { - messageHash: 'Option<[u8;32]>', + NotPassed: { + refIndex: 'u32', }, - OverweightEnqueued: { - sender: 'u32', - sentAt: 'u32', - index: 'u64', - required: 'SpWeightsWeightV2Weight', + Cancelled: { + refIndex: 'u32', }, - OverweightServiced: { - index: 'u64', - used: 'SpWeightsWeightV2Weight' + Delegated: { + who: 'AccountId32', + target: 'AccountId32', + }, + Undelegated: { + account: 'AccountId32', + }, + Vetoed: { + who: 'AccountId32', + proposalHash: 'H256', + until: 'u32', + }, + Blacklisted: { + proposalHash: 'H256', + }, + Voted: { + voter: 'AccountId32', + refIndex: 'u32', + vote: 'PalletDemocracyVoteAccountVote', + }, + Seconded: { + seconder: 'AccountId32', + propIndex: 'u32', + }, + ProposalCanceled: { + propIndex: 'u32', + }, + MetadataSet: { + _alias: { + hash_: 'hash', + }, + owner: 'PalletDemocracyMetadataOwner', + hash_: 'H256', + }, + MetadataCleared: { + _alias: { + hash_: 'hash', + }, + owner: 'PalletDemocracyMetadataOwner', + hash_: 'H256', + }, + MetadataTransferred: { + _alias: { + hash_: 'hash', + }, + prevOwner: 'PalletDemocracyMetadataOwner', + owner: 'PalletDemocracyMetadataOwner', + hash_: 'H256' } } }, /** - * Lookup72: xcm::v3::traits::Error + * Lookup72: pallet_democracy::vote_threshold::VoteThreshold **/ - XcmV3TraitsError: { + PalletDemocracyVoteThreshold: { + _enum: ['SuperMajorityApprove', 'SuperMajorityAgainst', 'SimpleMajority'] + }, + /** + * Lookup73: pallet_democracy::vote::AccountVote + **/ + PalletDemocracyVoteAccountVote: { _enum: { - Overflow: 'Null', - Unimplemented: 'Null', - UntrustedReserveLocation: 'Null', - UntrustedTeleportLocation: 'Null', - LocationFull: 'Null', - LocationNotInvertible: 'Null', - BadOrigin: 'Null', - InvalidLocation: 'Null', - AssetNotFound: 'Null', - FailedToTransactAsset: 'Null', - NotWithdrawable: 'Null', - LocationCannotHold: 'Null', - ExceedsMaxMessageSize: 'Null', - DestinationUnsupported: 'Null', - Transport: 'Null', - Unroutable: 'Null', - UnknownClaim: 'Null', - FailedToDecode: 'Null', - MaxWeightInvalid: 'Null', - NotHoldingFees: 'Null', - TooExpensive: 'Null', - Trap: 'u64', - ExpectationFalse: 'Null', - PalletNotFound: 'Null', - NameMismatch: 'Null', - VersionIncompatible: 'Null', - HoldingWouldOverflow: 'Null', - ExportError: 'Null', - ReanchorFailed: 'Null', - NoDeal: 'Null', - FeesNotMet: 'Null', - LockError: 'Null', - NoPermission: 'Null', - Unanchored: 'Null', - NotDepositable: 'Null', - UnhandledXcmVersion: 'Null', - WeightLimitReached: 'SpWeightsWeightV2Weight', - Barrier: 'Null', - WeightNotComputable: 'Null', - ExceedsStackLimit: 'Null' + Standard: { + vote: 'Vote', + balance: 'u128', + }, + Split: { + aye: 'u128', + nay: 'u128' + } } }, /** - * Lookup74: pallet_xcm::pallet::Event + * Lookup75: pallet_democracy::types::MetadataOwner **/ - PalletXcmEvent: { + PalletDemocracyMetadataOwner: { _enum: { - Attempted: 'XcmV3TraitsOutcome', - Sent: '(XcmV3MultiLocation,XcmV3MultiLocation,XcmV3Xcm)', - UnexpectedResponse: '(XcmV3MultiLocation,u64)', - ResponseReady: '(u64,XcmV3Response)', - Notified: '(u64,u8,u8)', - NotifyOverweight: '(u64,u8,u8,SpWeightsWeightV2Weight,SpWeightsWeightV2Weight)', - NotifyDispatchError: '(u64,u8,u8)', - NotifyDecodeFailed: '(u64,u8,u8)', - InvalidResponder: '(XcmV3MultiLocation,u64,Option)', - InvalidResponderVersion: '(XcmV3MultiLocation,u64)', - ResponseTaken: 'u64', - AssetsTrapped: '(H256,XcmV3MultiLocation,XcmVersionedMultiAssets)', - VersionChangeNotified: '(XcmV3MultiLocation,u32,XcmV3MultiassetMultiAssets)', - SupportedVersionChanged: '(XcmV3MultiLocation,u32)', - NotifyTargetSendFail: '(XcmV3MultiLocation,u64,XcmV3TraitsError)', - NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)', - InvalidQuerierVersion: '(XcmV3MultiLocation,u64)', - InvalidQuerier: '(XcmV3MultiLocation,u64,XcmV3MultiLocation,Option)', - VersionNotifyStarted: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)', - VersionNotifyRequested: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)', - VersionNotifyUnrequested: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)', - FeesPaid: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)', - AssetsClaimed: '(H256,XcmV3MultiLocation,XcmVersionedMultiAssets)' + External: 'Null', + Proposal: 'u32', + Referendum: 'u32' } }, /** - * Lookup75: xcm::v3::traits::Outcome + * Lookup76: pallet_collective::pallet::Event **/ - XcmV3TraitsOutcome: { + PalletCollectiveEvent: { _enum: { - Complete: 'SpWeightsWeightV2Weight', - Incomplete: '(SpWeightsWeightV2Weight,XcmV3TraitsError)', - Error: 'XcmV3TraitsError' + Proposed: { + account: 'AccountId32', + proposalIndex: 'u32', + proposalHash: 'H256', + threshold: 'u32', + }, + Voted: { + account: 'AccountId32', + proposalHash: 'H256', + voted: 'bool', + yes: 'u32', + no: 'u32', + }, + Approved: { + proposalHash: 'H256', + }, + Disapproved: { + proposalHash: 'H256', + }, + Executed: { + proposalHash: 'H256', + result: 'Result', + }, + MemberExecuted: { + proposalHash: 'H256', + result: 'Result', + }, + Closed: { + proposalHash: 'H256', + yes: 'u32', + no: 'u32' + } } }, /** - * Lookup76: xcm::v3::Xcm + * Lookup79: pallet_membership::pallet::Event **/ - XcmV3Xcm: 'Vec', + PalletMembershipEvent: { + _enum: ['MemberAdded', 'MemberRemoved', 'MembersSwapped', 'MembersReset', 'KeyChanged', 'Dummy'] + }, /** - * Lookup78: xcm::v3::Instruction + * Lookup81: pallet_ranked_collective::pallet::Event **/ - XcmV3Instruction: { + PalletRankedCollectiveEvent: { _enum: { - WithdrawAsset: 'XcmV3MultiassetMultiAssets', - ReserveAssetDeposited: 'XcmV3MultiassetMultiAssets', - ReceiveTeleportedAsset: 'XcmV3MultiassetMultiAssets', - QueryResponse: { - queryId: 'Compact', - response: 'XcmV3Response', - maxWeight: 'SpWeightsWeightV2Weight', - querier: 'Option', + MemberAdded: { + who: 'AccountId32', }, - TransferAsset: { - assets: 'XcmV3MultiassetMultiAssets', - beneficiary: 'XcmV3MultiLocation', + RankChanged: { + who: 'AccountId32', + rank: 'u16', }, - TransferReserveAsset: { - assets: 'XcmV3MultiassetMultiAssets', - dest: 'XcmV3MultiLocation', - xcm: 'XcmV3Xcm', + MemberRemoved: { + who: 'AccountId32', + rank: 'u16', }, - Transact: { - originKind: 'XcmV2OriginKind', - requireWeightAtMost: 'SpWeightsWeightV2Weight', - call: 'XcmDoubleEncoded', + Voted: { + who: 'AccountId32', + poll: 'u32', + vote: 'PalletRankedCollectiveVoteRecord', + tally: 'PalletRankedCollectiveTally' + } + } + }, + /** + * Lookup83: pallet_ranked_collective::VoteRecord + **/ + PalletRankedCollectiveVoteRecord: { + _enum: { + Aye: 'u32', + Nay: 'u32' + } + }, + /** + * Lookup84: pallet_ranked_collective::Tally + **/ + PalletRankedCollectiveTally: { + bareAyes: 'u32', + ayes: 'u32', + nays: 'u32' + }, + /** + * Lookup85: pallet_referenda::pallet::Event + **/ + PalletReferendaEvent: { + _enum: { + Submitted: { + index: 'u32', + track: 'u16', + proposal: 'FrameSupportPreimagesBounded', }, - HrmpNewChannelOpenRequest: { - sender: 'Compact', - maxMessageSize: 'Compact', - maxCapacity: 'Compact', + DecisionDepositPlaced: { + index: 'u32', + who: 'AccountId32', + amount: 'u128', }, - HrmpChannelAccepted: { - recipient: 'Compact', + DecisionDepositRefunded: { + index: 'u32', + who: 'AccountId32', + amount: 'u128', }, - HrmpChannelClosing: { - initiator: 'Compact', - sender: 'Compact', - recipient: 'Compact', + DepositSlashed: { + who: 'AccountId32', + amount: 'u128', }, - ClearOrigin: 'Null', - DescendOrigin: 'XcmV3Junctions', - ReportError: 'XcmV3QueryResponseInfo', - DepositAsset: { - assets: 'XcmV3MultiassetMultiAssetFilter', - beneficiary: 'XcmV3MultiLocation', + DecisionStarted: { + index: 'u32', + track: 'u16', + proposal: 'FrameSupportPreimagesBounded', + tally: 'PalletRankedCollectiveTally', }, - DepositReserveAsset: { - assets: 'XcmV3MultiassetMultiAssetFilter', - dest: 'XcmV3MultiLocation', - xcm: 'XcmV3Xcm', + ConfirmStarted: { + index: 'u32', }, - ExchangeAsset: { - give: 'XcmV3MultiassetMultiAssetFilter', - want: 'XcmV3MultiassetMultiAssets', - maximal: 'bool', + ConfirmAborted: { + index: 'u32', }, - InitiateReserveWithdraw: { - assets: 'XcmV3MultiassetMultiAssetFilter', - reserve: 'XcmV3MultiLocation', - xcm: 'XcmV3Xcm', + Confirmed: { + index: 'u32', + tally: 'PalletRankedCollectiveTally', }, - InitiateTeleport: { - assets: 'XcmV3MultiassetMultiAssetFilter', - dest: 'XcmV3MultiLocation', - xcm: 'XcmV3Xcm', + Approved: { + index: 'u32', }, - ReportHolding: { - responseInfo: 'XcmV3QueryResponseInfo', - assets: 'XcmV3MultiassetMultiAssetFilter', + Rejected: { + index: 'u32', + tally: 'PalletRankedCollectiveTally', }, - BuyExecution: { - fees: 'XcmV3MultiAsset', - weightLimit: 'XcmV3WeightLimit', + TimedOut: { + index: 'u32', + tally: 'PalletRankedCollectiveTally', }, - RefundSurplus: 'Null', - SetErrorHandler: 'XcmV3Xcm', - SetAppendix: 'XcmV3Xcm', - ClearError: 'Null', - ClaimAsset: { - assets: 'XcmV3MultiassetMultiAssets', - ticket: 'XcmV3MultiLocation', + Cancelled: { + index: 'u32', + tally: 'PalletRankedCollectiveTally', }, - Trap: 'Compact', - SubscribeVersion: { - queryId: 'Compact', - maxResponseWeight: 'SpWeightsWeightV2Weight', + Killed: { + index: 'u32', + tally: 'PalletRankedCollectiveTally', }, - UnsubscribeVersion: 'Null', - BurnAsset: 'XcmV3MultiassetMultiAssets', - ExpectAsset: 'XcmV3MultiassetMultiAssets', - ExpectOrigin: 'Option', - ExpectError: 'Option<(u32,XcmV3TraitsError)>', - ExpectTransactStatus: 'XcmV3MaybeErrorCode', - QueryPallet: { - moduleName: 'Bytes', - responseInfo: 'XcmV3QueryResponseInfo', + SubmissionDepositRefunded: { + index: 'u32', + who: 'AccountId32', + amount: 'u128', }, - ExpectPallet: { - index: 'Compact', - name: 'Bytes', - moduleName: 'Bytes', - crateMajor: 'Compact', - minCrateMinor: 'Compact', + MetadataSet: { + _alias: { + hash_: 'hash', + }, + index: 'u32', + hash_: 'H256', }, - ReportTransactStatus: 'XcmV3QueryResponseInfo', - ClearTransactStatus: 'Null', - UniversalOrigin: 'XcmV3Junction', - ExportMessage: { - network: 'XcmV3JunctionNetworkId', - destination: 'XcmV3Junctions', - xcm: 'XcmV3Xcm', - }, - LockAsset: { - asset: 'XcmV3MultiAsset', - unlocker: 'XcmV3MultiLocation', - }, - UnlockAsset: { - asset: 'XcmV3MultiAsset', - target: 'XcmV3MultiLocation', - }, - NoteUnlockable: { - asset: 'XcmV3MultiAsset', - owner: 'XcmV3MultiLocation', - }, - RequestUnlock: { - asset: 'XcmV3MultiAsset', - locker: 'XcmV3MultiLocation', - }, - SetFeesMode: { - jitWithdraw: 'bool', - }, - SetTopic: '[u8;32]', - ClearTopic: 'Null', - AliasOrigin: 'XcmV3MultiLocation', - UnpaidExecution: { - weightLimit: 'XcmV3WeightLimit', - checkOrigin: 'Option' + MetadataCleared: { + _alias: { + hash_: 'hash', + }, + index: 'u32', + hash_: 'H256' } } }, /** - * Lookup79: xcm::v3::Response + * Lookup86: frame_support::traits::preimages::Bounded **/ - XcmV3Response: { + FrameSupportPreimagesBounded: { _enum: { - Null: 'Null', - Assets: 'XcmV3MultiassetMultiAssets', - ExecutionResult: 'Option<(u32,XcmV3TraitsError)>', - Version: 'u32', - PalletsInfo: 'Vec', - DispatchResult: 'XcmV3MaybeErrorCode' + Legacy: { + _alias: { + hash_: 'hash', + }, + hash_: 'H256', + }, + Inline: 'Bytes', + Lookup: { + _alias: { + hash_: 'hash', + }, + hash_: 'H256', + len: 'u32' + } } }, /** - * Lookup83: xcm::v3::PalletInfo - **/ - XcmV3PalletInfo: { - index: 'Compact', - name: 'Bytes', - moduleName: 'Bytes', - major: 'Compact', - minor: 'Compact', - patch: 'Compact' - }, - /** - * Lookup86: xcm::v3::MaybeErrorCode + * Lookup88: frame_system::pallet::Call **/ - XcmV3MaybeErrorCode: { + FrameSystemCall: { _enum: { - Success: 'Null', - Error: 'Bytes', - TruncatedError: 'Bytes' + remark: { + remark: 'Bytes', + }, + set_heap_pages: { + pages: 'u64', + }, + set_code: { + code: 'Bytes', + }, + set_code_without_checks: { + code: 'Bytes', + }, + set_storage: { + items: 'Vec<(Bytes,Bytes)>', + }, + kill_storage: { + _alias: { + keys_: 'keys', + }, + keys_: 'Vec', + }, + kill_prefix: { + prefix: 'Bytes', + subkeys: 'u32', + }, + remark_with_event: { + remark: 'Bytes' + } } }, /** - * Lookup89: xcm::v2::OriginKind + * Lookup92: pallet_state_trie_migration::pallet::Call **/ - XcmV2OriginKind: { - _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm'] + PalletStateTrieMigrationCall: { + _enum: { + control_auto_migration: { + maybeConfig: 'Option', + }, + continue_migrate: { + limits: 'PalletStateTrieMigrationMigrationLimits', + realSizeUpper: 'u32', + witnessTask: 'PalletStateTrieMigrationMigrationTask', + }, + migrate_custom_top: { + _alias: { + keys_: 'keys', + }, + keys_: 'Vec', + witnessSize: 'u32', + }, + migrate_custom_child: { + root: 'Bytes', + childKeys: 'Vec', + totalSize: 'u32', + }, + set_signed_max_limits: { + limits: 'PalletStateTrieMigrationMigrationLimits', + }, + force_set_progress: { + progressTop: 'PalletStateTrieMigrationProgress', + progressChild: 'PalletStateTrieMigrationProgress' + } + } }, /** - * Lookup90: xcm::double_encoded::DoubleEncoded + * Lookup94: pallet_state_trie_migration::pallet::MigrationLimits **/ - XcmDoubleEncoded: { - encoded: 'Bytes' + PalletStateTrieMigrationMigrationLimits: { + _alias: { + size_: 'size' + }, + size_: 'u32', + item: 'u32' }, /** - * Lookup91: xcm::v3::QueryResponseInfo + * Lookup95: pallet_state_trie_migration::pallet::MigrationTask **/ - XcmV3QueryResponseInfo: { - destination: 'XcmV3MultiLocation', - queryId: 'Compact', - maxWeight: 'SpWeightsWeightV2Weight' + PalletStateTrieMigrationMigrationTask: { + _alias: { + size_: 'size' + }, + progressTop: 'PalletStateTrieMigrationProgress', + progressChild: 'PalletStateTrieMigrationProgress', + size_: 'u32', + topItems: 'u32', + childItems: 'u32' }, /** - * Lookup92: xcm::v3::multiasset::MultiAssetFilter + * Lookup96: pallet_state_trie_migration::pallet::Progress **/ - XcmV3MultiassetMultiAssetFilter: { + PalletStateTrieMigrationProgress: { _enum: { - Definite: 'XcmV3MultiassetMultiAssets', - Wild: 'XcmV3MultiassetWildMultiAsset' + ToStart: 'Null', + LastKey: 'Bytes', + Complete: 'Null' } }, /** - * Lookup93: xcm::v3::multiasset::WildMultiAsset + * Lookup98: cumulus_pallet_parachain_system::pallet::Call **/ - XcmV3MultiassetWildMultiAsset: { + CumulusPalletParachainSystemCall: { _enum: { - All: 'Null', - AllOf: { - id: 'XcmV3MultiassetAssetId', - fun: 'XcmV3MultiassetWildFungibility', + set_validation_data: { + data: 'CumulusPrimitivesParachainInherentParachainInherentData', }, - AllCounted: 'Compact', - AllOfCounted: { - id: 'XcmV3MultiassetAssetId', - fun: 'XcmV3MultiassetWildFungibility', - count: 'Compact' + sudo_send_upward_message: { + message: 'Bytes', + }, + authorize_upgrade: { + codeHash: 'H256', + checkVersion: 'bool', + }, + enact_authorized_upgrade: { + code: 'Bytes' } } }, /** - * Lookup94: xcm::v3::multiasset::WildFungibility + * Lookup99: cumulus_primitives_parachain_inherent::ParachainInherentData **/ - XcmV3MultiassetWildFungibility: { - _enum: ['Fungible', 'NonFungible'] + CumulusPrimitivesParachainInherentParachainInherentData: { + validationData: 'PolkadotPrimitivesV4PersistedValidationData', + relayChainState: 'SpTrieStorageProof', + downwardMessages: 'Vec', + horizontalMessages: 'BTreeMap>' }, /** - * Lookup96: xcm::v3::WeightLimit + * Lookup100: polkadot_primitives::v4::PersistedValidationData **/ - XcmV3WeightLimit: { - _enum: { - Unlimited: 'Null', - Limited: 'SpWeightsWeightV2Weight' - } + PolkadotPrimitivesV4PersistedValidationData: { + parentHead: 'Bytes', + relayParentNumber: 'u32', + relayParentStorageRoot: 'H256', + maxPovSize: 'u32' }, /** - * Lookup97: xcm::VersionedMultiAssets + * Lookup102: sp_trie::storage_proof::StorageProof **/ - XcmVersionedMultiAssets: { - _enum: { - __Unused0: 'Null', - V2: 'XcmV2MultiassetMultiAssets', - __Unused2: 'Null', - V3: 'XcmV3MultiassetMultiAssets' - } + SpTrieStorageProof: { + trieNodes: 'BTreeSet' }, /** - * Lookup98: xcm::v2::multiasset::MultiAssets + * Lookup105: polkadot_core_primitives::InboundDownwardMessage **/ - XcmV2MultiassetMultiAssets: 'Vec', - /** - * Lookup100: xcm::v2::multiasset::MultiAsset - **/ - XcmV2MultiAsset: { - id: 'XcmV2MultiassetAssetId', - fun: 'XcmV2MultiassetFungibility' + PolkadotCorePrimitivesInboundDownwardMessage: { + sentAt: 'u32', + msg: 'Bytes' }, /** - * Lookup101: xcm::v2::multiasset::AssetId + * Lookup109: polkadot_core_primitives::InboundHrmpMessage **/ - XcmV2MultiassetAssetId: { - _enum: { - Concrete: 'XcmV2MultiLocation', - Abstract: 'Bytes' - } + PolkadotCorePrimitivesInboundHrmpMessage: { + sentAt: 'u32', + data: 'Bytes' }, /** - * Lookup102: xcm::v2::multilocation::MultiLocation + * Lookup112: parachain_info::pallet::Call **/ - XcmV2MultiLocation: { - parents: 'u8', - interior: 'XcmV2MultilocationJunctions' - }, + ParachainInfoCall: 'Null', /** - * Lookup103: xcm::v2::multilocation::Junctions + * Lookup113: pallet_collator_selection::pallet::Call **/ - XcmV2MultilocationJunctions: { + PalletCollatorSelectionCall: { _enum: { - Here: 'Null', - X1: 'XcmV2Junction', - X2: '(XcmV2Junction,XcmV2Junction)', - X3: '(XcmV2Junction,XcmV2Junction,XcmV2Junction)', - X4: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)', - X5: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)', - X6: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)', - X7: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)', - X8: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)' + add_invulnerable: { + _alias: { + new_: 'new', + }, + new_: 'AccountId32', + }, + remove_invulnerable: { + who: 'AccountId32', + }, + get_license: 'Null', + onboard: 'Null', + offboard: 'Null', + release_license: 'Null', + force_release_license: { + who: 'AccountId32' + } } }, /** - * Lookup104: xcm::v2::junction::Junction + * Lookup114: pallet_session::pallet::Call **/ - XcmV2Junction: { + PalletSessionCall: { _enum: { - Parachain: 'Compact', + set_keys: { + _alias: { + keys_: 'keys', + }, + keys_: 'QuartzRuntimeRuntimeCommonSessionKeys', + proof: 'Bytes', + }, + purge_keys: 'Null' + } + }, + /** + * Lookup115: quartz_runtime::runtime_common::SessionKeys + **/ + QuartzRuntimeRuntimeCommonSessionKeys: { + aura: 'SpConsensusAuraSr25519AppSr25519Public' + }, + /** + * Lookup116: sp_consensus_aura::sr25519::app_sr25519::Public + **/ + SpConsensusAuraSr25519AppSr25519Public: 'SpCoreSr25519Public', + /** + * Lookup117: sp_core::sr25519::Public + **/ + SpCoreSr25519Public: '[u8;32]', + /** + * Lookup118: pallet_balances::pallet::Call + **/ + PalletBalancesCall: { + _enum: { + transfer_allow_death: { + dest: 'MultiAddress', + value: 'Compact', + }, + set_balance_deprecated: { + who: 'MultiAddress', + newFree: 'Compact', + oldReserved: 'Compact', + }, + force_transfer: { + source: 'MultiAddress', + dest: 'MultiAddress', + value: 'Compact', + }, + transfer_keep_alive: { + dest: 'MultiAddress', + value: 'Compact', + }, + transfer_all: { + dest: 'MultiAddress', + keepAlive: 'bool', + }, + force_unreserve: { + who: 'MultiAddress', + amount: 'u128', + }, + upgrade_accounts: { + who: 'Vec', + }, + transfer: { + dest: 'MultiAddress', + value: 'Compact', + }, + force_set_balance: { + who: 'MultiAddress', + newFree: 'Compact' + } + } + }, + /** + * Lookup122: pallet_timestamp::pallet::Call + **/ + PalletTimestampCall: { + _enum: { + set: { + now: 'Compact' + } + } + }, + /** + * Lookup123: pallet_treasury::pallet::Call + **/ + PalletTreasuryCall: { + _enum: { + propose_spend: { + value: 'Compact', + beneficiary: 'MultiAddress', + }, + reject_proposal: { + proposalId: 'Compact', + }, + approve_proposal: { + proposalId: 'Compact', + }, + spend: { + amount: 'Compact', + beneficiary: 'MultiAddress', + }, + remove_approval: { + proposalId: 'Compact' + } + } + }, + /** + * Lookup124: pallet_sudo::pallet::Call + **/ + PalletSudoCall: { + _enum: { + sudo: { + call: 'Call', + }, + sudo_unchecked_weight: { + call: 'Call', + weight: 'SpWeightsWeightV2Weight', + }, + set_key: { + _alias: { + new_: 'new', + }, + new_: 'MultiAddress', + }, + sudo_as: { + who: 'MultiAddress', + call: 'Call' + } + } + }, + /** + * Lookup125: orml_vesting::module::Call + **/ + OrmlVestingModuleCall: { + _enum: { + claim: 'Null', + vested_transfer: { + dest: 'MultiAddress', + schedule: 'OrmlVestingVestingSchedule', + }, + update_vesting_schedules: { + who: 'MultiAddress', + vestingSchedules: 'Vec', + }, + claim_for: { + dest: 'MultiAddress' + } + } + }, + /** + * Lookup127: orml_xtokens::module::Call + **/ + OrmlXtokensModuleCall: { + _enum: { + transfer: { + currencyId: 'PalletForeignAssetsAssetIds', + amount: 'u128', + dest: 'XcmVersionedMultiLocation', + destWeightLimit: 'XcmV3WeightLimit', + }, + transfer_multiasset: { + asset: 'XcmVersionedMultiAsset', + dest: 'XcmVersionedMultiLocation', + destWeightLimit: 'XcmV3WeightLimit', + }, + transfer_with_fee: { + currencyId: 'PalletForeignAssetsAssetIds', + amount: 'u128', + fee: 'u128', + dest: 'XcmVersionedMultiLocation', + destWeightLimit: 'XcmV3WeightLimit', + }, + transfer_multiasset_with_fee: { + asset: 'XcmVersionedMultiAsset', + fee: 'XcmVersionedMultiAsset', + dest: 'XcmVersionedMultiLocation', + destWeightLimit: 'XcmV3WeightLimit', + }, + transfer_multicurrencies: { + currencies: 'Vec<(PalletForeignAssetsAssetIds,u128)>', + feeItem: 'u32', + dest: 'XcmVersionedMultiLocation', + destWeightLimit: 'XcmV3WeightLimit', + }, + transfer_multiassets: { + assets: 'XcmVersionedMultiAssets', + feeItem: 'u32', + dest: 'XcmVersionedMultiLocation', + destWeightLimit: 'XcmV3WeightLimit' + } + } + }, + /** + * Lookup128: xcm::VersionedMultiLocation + **/ + XcmVersionedMultiLocation: { + _enum: { + __Unused0: 'Null', + V2: 'XcmV2MultiLocation', + __Unused2: 'Null', + V3: 'XcmV3MultiLocation' + } + }, + /** + * Lookup129: xcm::v2::multilocation::MultiLocation + **/ + XcmV2MultiLocation: { + parents: 'u8', + interior: 'XcmV2MultilocationJunctions' + }, + /** + * Lookup130: xcm::v2::multilocation::Junctions + **/ + XcmV2MultilocationJunctions: { + _enum: { + Here: 'Null', + X1: 'XcmV2Junction', + X2: '(XcmV2Junction,XcmV2Junction)', + X3: '(XcmV2Junction,XcmV2Junction,XcmV2Junction)', + X4: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)', + X5: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)', + X6: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)', + X7: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)', + X8: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)' + } + }, + /** + * Lookup131: xcm::v2::junction::Junction + **/ + XcmV2Junction: { + _enum: { + Parachain: 'Compact', AccountId32: { network: 'XcmV2NetworkId', id: '[u8;32]', @@ -1252,7 +1544,7 @@ export default { } }, /** - * Lookup105: xcm::v2::NetworkId + * Lookup132: xcm::v2::NetworkId **/ XcmV2NetworkId: { _enum: { @@ -1263,7 +1555,7 @@ export default { } }, /** - * Lookup107: xcm::v2::BodyId + * Lookup134: xcm::v2::BodyId **/ XcmV2BodyId: { _enum: { @@ -1280,7 +1572,7 @@ export default { } }, /** - * Lookup108: xcm::v2::BodyPart + * Lookup135: xcm::v2::BodyPart **/ XcmV2BodyPart: { _enum: { @@ -1303,7 +1595,43 @@ export default { } }, /** - * Lookup109: xcm::v2::multiasset::Fungibility + * Lookup136: xcm::v3::WeightLimit + **/ + XcmV3WeightLimit: { + _enum: { + Unlimited: 'Null', + Limited: 'SpWeightsWeightV2Weight' + } + }, + /** + * Lookup137: xcm::VersionedMultiAsset + **/ + XcmVersionedMultiAsset: { + _enum: { + __Unused0: 'Null', + V2: 'XcmV2MultiAsset', + __Unused2: 'Null', + V3: 'XcmV3MultiAsset' + } + }, + /** + * Lookup138: xcm::v2::multiasset::MultiAsset + **/ + XcmV2MultiAsset: { + id: 'XcmV2MultiassetAssetId', + fun: 'XcmV2MultiassetFungibility' + }, + /** + * Lookup139: xcm::v2::multiasset::AssetId + **/ + XcmV2MultiassetAssetId: { + _enum: { + Concrete: 'XcmV2MultiLocation', + Abstract: 'Bytes' + } + }, + /** + * Lookup140: xcm::v2::multiasset::Fungibility **/ XcmV2MultiassetFungibility: { _enum: { @@ -1312,7 +1640,7 @@ export default { } }, /** - * Lookup110: xcm::v2::multiasset::AssetInstance + * Lookup141: xcm::v2::multiasset::AssetInstance **/ XcmV2MultiassetAssetInstance: { _enum: { @@ -1326,2053 +1654,2473 @@ export default { } }, /** - * Lookup111: xcm::VersionedMultiLocation + * Lookup144: xcm::VersionedMultiAssets **/ - XcmVersionedMultiLocation: { + XcmVersionedMultiAssets: { _enum: { __Unused0: 'Null', - V2: 'XcmV2MultiLocation', + V2: 'XcmV2MultiassetMultiAssets', __Unused2: 'Null', - V3: 'XcmV3MultiLocation' + V3: 'XcmV3MultiassetMultiAssets' } }, /** - * Lookup112: cumulus_pallet_xcm::pallet::Event + * Lookup145: xcm::v2::multiasset::MultiAssets **/ - CumulusPalletXcmEvent: { + XcmV2MultiassetMultiAssets: 'Vec', + /** + * Lookup147: orml_tokens::module::Call + **/ + OrmlTokensModuleCall: { _enum: { - InvalidFormat: '[u8;32]', - UnsupportedVersion: '[u8;32]', - ExecutedDownward: '([u8;32],XcmV3TraitsOutcome)' + transfer: { + dest: 'MultiAddress', + currencyId: 'PalletForeignAssetsAssetIds', + amount: 'Compact', + }, + transfer_all: { + dest: 'MultiAddress', + currencyId: 'PalletForeignAssetsAssetIds', + keepAlive: 'bool', + }, + transfer_keep_alive: { + dest: 'MultiAddress', + currencyId: 'PalletForeignAssetsAssetIds', + amount: 'Compact', + }, + force_transfer: { + source: 'MultiAddress', + dest: 'MultiAddress', + currencyId: 'PalletForeignAssetsAssetIds', + amount: 'Compact', + }, + set_balance: { + who: 'MultiAddress', + currencyId: 'PalletForeignAssetsAssetIds', + newFree: 'Compact', + newReserved: 'Compact' + } } }, /** - * Lookup113: cumulus_pallet_dmp_queue::pallet::Event + * Lookup148: pallet_identity::pallet::Call **/ - CumulusPalletDmpQueueEvent: { + PalletIdentityCall: { _enum: { - InvalidFormat: { - messageId: '[u8;32]', + add_registrar: { + account: 'MultiAddress', }, - UnsupportedVersion: { - messageId: '[u8;32]', + set_identity: { + info: 'PalletIdentityIdentityInfo', }, - ExecutedDownward: { - messageId: '[u8;32]', - outcome: 'XcmV3TraitsOutcome', + set_subs: { + subs: 'Vec<(AccountId32,Data)>', }, - WeightExhausted: { - messageId: '[u8;32]', - remainingWeight: 'SpWeightsWeightV2Weight', - requiredWeight: 'SpWeightsWeightV2Weight', + clear_identity: 'Null', + request_judgement: { + regIndex: 'Compact', + maxFee: 'Compact', }, - OverweightEnqueued: { - messageId: '[u8;32]', - overweightIndex: 'u64', - requiredWeight: 'SpWeightsWeightV2Weight', + cancel_request: { + regIndex: 'u32', }, - OverweightServiced: { - overweightIndex: 'u64', - weightUsed: 'SpWeightsWeightV2Weight', + set_fee: { + index: 'Compact', + fee: 'Compact', }, - MaxMessagesExhausted: { - messageId: '[u8;32]' + set_account_id: { + _alias: { + new_: 'new', + }, + index: 'Compact', + new_: 'MultiAddress', + }, + set_fields: { + index: 'Compact', + fields: 'PalletIdentityBitFlags', + }, + provide_judgement: { + regIndex: 'Compact', + target: 'MultiAddress', + judgement: 'PalletIdentityJudgement', + identity: 'H256', + }, + kill_identity: { + target: 'MultiAddress', + }, + add_sub: { + sub: 'MultiAddress', + data: 'Data', + }, + rename_sub: { + sub: 'MultiAddress', + data: 'Data', + }, + remove_sub: { + sub: 'MultiAddress', + }, + quit_sub: 'Null', + force_insert_identities: { + identities: 'Vec<(AccountId32,PalletIdentityRegistration)>', + }, + force_remove_identities: { + identities: 'Vec', + }, + force_set_subs: { + subs: 'Vec<(AccountId32,(u128,Vec<(AccountId32,Data)>))>' } } }, /** - * Lookup114: pallet_configuration::pallet::Event + * Lookup149: pallet_identity::types::IdentityInfo **/ - PalletConfigurationEvent: { - _enum: { - NewDesiredCollators: { - desiredCollators: 'Option', - }, - NewCollatorLicenseBond: { - bondCost: 'Option', - }, - NewCollatorKickThreshold: { - lengthInBlocks: 'Option' - } - } + PalletIdentityIdentityInfo: { + additional: 'Vec<(Data,Data)>', + display: 'Data', + legal: 'Data', + web: 'Data', + riot: 'Data', + email: 'Data', + pgpFingerprint: 'Option<[u8;20]>', + image: 'Data', + twitter: 'Data' }, /** - * Lookup117: pallet_common::pallet::Event + * Lookup185: pallet_identity::types::BitFlags **/ - PalletCommonEvent: { - _enum: { - CollectionCreated: '(u32,u8,AccountId32)', - CollectionDestroyed: 'u32', - ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)', - ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)', - Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)', - Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)', - ApprovedForAll: '(u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,bool)', - CollectionPropertySet: '(u32,Bytes)', - CollectionPropertyDeleted: '(u32,Bytes)', - TokenPropertySet: '(u32,u32,Bytes)', - TokenPropertyDeleted: '(u32,u32,Bytes)', - PropertyPermissionSet: '(u32,Bytes)', - AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)', - AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)', - CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)', - CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)', - CollectionLimitSet: 'u32', - CollectionOwnerChanged: '(u32,AccountId32)', - CollectionPermissionSet: 'u32', - CollectionSponsorSet: '(u32,AccountId32)', - SponsorshipConfirmed: '(u32,AccountId32)', - CollectionSponsorRemoved: 'u32' - } + PalletIdentityBitFlags: { + _bitLength: 64, + Display: 1, + Legal: 2, + Web: 4, + Riot: 8, + Email: 16, + PgpFingerprint: 32, + Image: 64, + Twitter: 128 }, /** - * Lookup120: pallet_evm::account::BasicCrossAccountIdRepr + * Lookup186: pallet_identity::types::IdentityField **/ - PalletEvmAccountBasicCrossAccountIdRepr: { - _enum: { - Substrate: 'AccountId32', - Ethereum: 'H160' - } + PalletIdentityIdentityField: { + _enum: ['__Unused0', 'Display', 'Legal', '__Unused3', 'Web', '__Unused5', '__Unused6', '__Unused7', 'Riot', '__Unused9', '__Unused10', '__Unused11', '__Unused12', '__Unused13', '__Unused14', '__Unused15', 'Email', '__Unused17', '__Unused18', '__Unused19', '__Unused20', '__Unused21', '__Unused22', '__Unused23', '__Unused24', '__Unused25', '__Unused26', '__Unused27', '__Unused28', '__Unused29', '__Unused30', '__Unused31', 'PgpFingerprint', '__Unused33', '__Unused34', '__Unused35', '__Unused36', '__Unused37', '__Unused38', '__Unused39', '__Unused40', '__Unused41', '__Unused42', '__Unused43', '__Unused44', '__Unused45', '__Unused46', '__Unused47', '__Unused48', '__Unused49', '__Unused50', '__Unused51', '__Unused52', '__Unused53', '__Unused54', '__Unused55', '__Unused56', '__Unused57', '__Unused58', '__Unused59', '__Unused60', '__Unused61', '__Unused62', '__Unused63', 'Image', '__Unused65', '__Unused66', '__Unused67', '__Unused68', '__Unused69', '__Unused70', '__Unused71', '__Unused72', '__Unused73', '__Unused74', '__Unused75', '__Unused76', '__Unused77', '__Unused78', '__Unused79', '__Unused80', '__Unused81', '__Unused82', '__Unused83', '__Unused84', '__Unused85', '__Unused86', '__Unused87', '__Unused88', '__Unused89', '__Unused90', '__Unused91', '__Unused92', '__Unused93', '__Unused94', '__Unused95', '__Unused96', '__Unused97', '__Unused98', '__Unused99', '__Unused100', '__Unused101', '__Unused102', '__Unused103', '__Unused104', '__Unused105', '__Unused106', '__Unused107', '__Unused108', '__Unused109', '__Unused110', '__Unused111', '__Unused112', '__Unused113', '__Unused114', '__Unused115', '__Unused116', '__Unused117', '__Unused118', '__Unused119', '__Unused120', '__Unused121', '__Unused122', '__Unused123', '__Unused124', '__Unused125', '__Unused126', '__Unused127', 'Twitter'] }, /** - * Lookup123: pallet_structure::pallet::Event + * Lookup187: pallet_identity::types::Judgement **/ - PalletStructureEvent: { + PalletIdentityJudgement: { _enum: { - Executed: 'Result' + Unknown: 'Null', + FeePaid: 'u128', + Reasonable: 'Null', + KnownGood: 'Null', + OutOfDate: 'Null', + LowQuality: 'Null', + Erroneous: 'Null' } }, /** - * Lookup124: pallet_app_promotion::pallet::Event + * Lookup190: pallet_identity::types::Registration **/ - PalletAppPromotionEvent: { + PalletIdentityRegistration: { + judgements: 'Vec<(u32,PalletIdentityJudgement)>', + deposit: 'u128', + info: 'PalletIdentityIdentityInfo' + }, + /** + * Lookup198: pallet_preimage::pallet::Call + **/ + PalletPreimageCall: { _enum: { - StakingRecalculation: '(AccountId32,u128,u128)', - Stake: '(AccountId32,u128)', - Unstake: '(AccountId32,u128)', - SetAdmin: 'AccountId32' + note_preimage: { + bytes: 'Bytes', + }, + unnote_preimage: { + _alias: { + hash_: 'hash', + }, + hash_: 'H256', + }, + request_preimage: { + _alias: { + hash_: 'hash', + }, + hash_: 'H256', + }, + unrequest_preimage: { + _alias: { + hash_: 'hash', + }, + hash_: 'H256' + } } }, /** - * Lookup125: pallet_foreign_assets::module::Event + * Lookup199: pallet_democracy::pallet::Call **/ - PalletForeignAssetsModuleEvent: { + PalletDemocracyCall: { _enum: { - ForeignAssetRegistered: { - assetId: 'u32', - assetAddress: 'XcmV3MultiLocation', - metadata: 'PalletForeignAssetsModuleAssetMetadata', + propose: { + proposal: 'FrameSupportPreimagesBounded', + value: 'Compact', }, - ForeignAssetUpdated: { - assetId: 'u32', - assetAddress: 'XcmV3MultiLocation', - metadata: 'PalletForeignAssetsModuleAssetMetadata', + second: { + proposal: 'Compact', }, - AssetRegistered: { - assetId: 'PalletForeignAssetsAssetIds', - metadata: 'PalletForeignAssetsModuleAssetMetadata', + vote: { + refIndex: 'Compact', + vote: 'PalletDemocracyVoteAccountVote', }, - AssetUpdated: { - assetId: 'PalletForeignAssetsAssetIds', - metadata: 'PalletForeignAssetsModuleAssetMetadata' + emergency_cancel: { + refIndex: 'u32', + }, + external_propose: { + proposal: 'FrameSupportPreimagesBounded', + }, + external_propose_majority: { + proposal: 'FrameSupportPreimagesBounded', + }, + external_propose_default: { + proposal: 'FrameSupportPreimagesBounded', + }, + fast_track: { + proposalHash: 'H256', + votingPeriod: 'u32', + delay: 'u32', + }, + veto_external: { + proposalHash: 'H256', + }, + cancel_referendum: { + refIndex: 'Compact', + }, + delegate: { + to: 'MultiAddress', + conviction: 'PalletDemocracyConviction', + balance: 'u128', + }, + undelegate: 'Null', + clear_public_proposals: 'Null', + unlock: { + target: 'MultiAddress', + }, + remove_vote: { + index: 'u32', + }, + remove_other_vote: { + target: 'MultiAddress', + index: 'u32', + }, + blacklist: { + proposalHash: 'H256', + maybeRefIndex: 'Option', + }, + cancel_proposal: { + propIndex: 'Compact', + }, + set_metadata: { + owner: 'PalletDemocracyMetadataOwner', + maybeHash: 'Option' } } }, /** - * Lookup126: pallet_foreign_assets::module::AssetMetadata + * Lookup200: pallet_democracy::conviction::Conviction **/ - PalletForeignAssetsModuleAssetMetadata: { - name: 'Bytes', - symbol: 'Bytes', - decimals: 'u8', - minimalBalance: 'u128' + PalletDemocracyConviction: { + _enum: ['None', 'Locked1x', 'Locked2x', 'Locked3x', 'Locked4x', 'Locked5x', 'Locked6x'] }, /** - * Lookup129: pallet_evm::pallet::Event + * Lookup203: pallet_collective::pallet::Call **/ - PalletEvmEvent: { + PalletCollectiveCall: { _enum: { - Log: { - log: 'EthereumLog', + set_members: { + newMembers: 'Vec', + prime: 'Option', + oldCount: 'u32', }, - Created: { - address: 'H160', + execute: { + proposal: 'Call', + lengthBound: 'Compact', }, - CreatedFailed: { - address: 'H160', + propose: { + threshold: 'Compact', + proposal: 'Call', + lengthBound: 'Compact', }, - Executed: { - address: 'H160', + vote: { + proposal: 'H256', + index: 'Compact', + approve: 'bool', }, - ExecutedFailed: { - address: 'H160' + __Unused4: 'Null', + disapprove_proposal: { + proposalHash: 'H256', + }, + close: { + proposalHash: 'H256', + index: 'Compact', + proposalWeightBound: 'SpWeightsWeightV2Weight', + lengthBound: 'Compact' } } }, /** - * Lookup130: ethereum::log::Log + * Lookup205: pallet_membership::pallet::Call **/ - EthereumLog: { - address: 'H160', - topics: 'Vec', - data: 'Bytes' + PalletMembershipCall: { + _enum: { + add_member: { + who: 'MultiAddress', + }, + remove_member: { + who: 'MultiAddress', + }, + swap_member: { + remove: 'MultiAddress', + add: 'MultiAddress', + }, + reset_members: { + members: 'Vec', + }, + change_key: { + _alias: { + new_: 'new', + }, + new_: 'MultiAddress', + }, + set_prime: { + who: 'MultiAddress', + }, + clear_prime: 'Null' + } }, /** - * Lookup132: pallet_ethereum::pallet::Event + * Lookup207: pallet_ranked_collective::pallet::Call **/ - PalletEthereumEvent: { + PalletRankedCollectiveCall: { _enum: { - Executed: { - from: 'H160', - to: 'H160', - transactionHash: 'H256', - exitReason: 'EvmCoreErrorExitReason', - extraData: 'Bytes' + add_member: { + who: 'MultiAddress', + }, + promote_member: { + who: 'MultiAddress', + }, + demote_member: { + who: 'MultiAddress', + }, + remove_member: { + who: 'MultiAddress', + minRank: 'u16', + }, + vote: { + poll: 'u32', + aye: 'bool', + }, + cleanup_poll: { + pollIndex: 'u32', + max: 'u32' } } }, /** - * Lookup133: evm_core::error::ExitReason + * Lookup208: pallet_referenda::pallet::Call **/ - EvmCoreErrorExitReason: { + PalletReferendaCall: { _enum: { - Succeed: 'EvmCoreErrorExitSucceed', - Error: 'EvmCoreErrorExitError', - Revert: 'EvmCoreErrorExitRevert', - Fatal: 'EvmCoreErrorExitFatal' + submit: { + proposalOrigin: 'QuartzRuntimeOriginCaller', + proposal: 'FrameSupportPreimagesBounded', + enactmentMoment: 'FrameSupportScheduleDispatchTime', + }, + place_decision_deposit: { + index: 'u32', + }, + refund_decision_deposit: { + index: 'u32', + }, + cancel: { + index: 'u32', + }, + kill: { + index: 'u32', + }, + nudge_referendum: { + index: 'u32', + }, + one_fewer_deciding: { + track: 'u16', + }, + refund_submission_deposit: { + index: 'u32', + }, + set_metadata: { + index: 'u32', + maybeHash: 'Option' + } } }, /** - * Lookup134: evm_core::error::ExitSucceed + * Lookup209: quartz_runtime::OriginCaller **/ - EvmCoreErrorExitSucceed: { - _enum: ['Stopped', 'Returned', 'Suicided'] + QuartzRuntimeOriginCaller: { + _enum: { + system: 'FrameSupportDispatchRawOrigin', + __Unused1: 'Null', + __Unused2: 'Null', + __Unused3: 'Null', + __Unused4: 'Null', + __Unused5: 'Null', + __Unused6: 'Null', + Void: 'SpCoreVoid', + __Unused8: 'Null', + __Unused9: 'Null', + __Unused10: 'Null', + __Unused11: 'Null', + __Unused12: 'Null', + __Unused13: 'Null', + __Unused14: 'Null', + __Unused15: 'Null', + __Unused16: 'Null', + __Unused17: 'Null', + __Unused18: 'Null', + __Unused19: 'Null', + __Unused20: 'Null', + __Unused21: 'Null', + __Unused22: 'Null', + __Unused23: 'Null', + __Unused24: 'Null', + __Unused25: 'Null', + __Unused26: 'Null', + __Unused27: 'Null', + __Unused28: 'Null', + __Unused29: 'Null', + __Unused30: 'Null', + __Unused31: 'Null', + __Unused32: 'Null', + __Unused33: 'Null', + __Unused34: 'Null', + __Unused35: 'Null', + __Unused36: 'Null', + __Unused37: 'Null', + __Unused38: 'Null', + __Unused39: 'Null', + __Unused40: 'Null', + __Unused41: 'Null', + __Unused42: 'Null', + Council: 'PalletCollectiveRawOrigin', + TechnicalCommittee: 'PalletCollectiveRawOrigin', + __Unused45: 'Null', + __Unused46: 'Null', + __Unused47: 'Null', + __Unused48: 'Null', + __Unused49: 'Null', + __Unused50: 'Null', + PolkadotXcm: 'PalletXcmOrigin', + CumulusXcm: 'CumulusPalletXcmOrigin', + __Unused53: 'Null', + __Unused54: 'Null', + __Unused55: 'Null', + __Unused56: 'Null', + __Unused57: 'Null', + __Unused58: 'Null', + __Unused59: 'Null', + __Unused60: 'Null', + __Unused61: 'Null', + __Unused62: 'Null', + __Unused63: 'Null', + __Unused64: 'Null', + __Unused65: 'Null', + __Unused66: 'Null', + __Unused67: 'Null', + __Unused68: 'Null', + __Unused69: 'Null', + __Unused70: 'Null', + __Unused71: 'Null', + __Unused72: 'Null', + __Unused73: 'Null', + __Unused74: 'Null', + __Unused75: 'Null', + __Unused76: 'Null', + __Unused77: 'Null', + __Unused78: 'Null', + __Unused79: 'Null', + __Unused80: 'Null', + __Unused81: 'Null', + __Unused82: 'Null', + __Unused83: 'Null', + __Unused84: 'Null', + __Unused85: 'Null', + __Unused86: 'Null', + __Unused87: 'Null', + __Unused88: 'Null', + __Unused89: 'Null', + __Unused90: 'Null', + __Unused91: 'Null', + __Unused92: 'Null', + __Unused93: 'Null', + __Unused94: 'Null', + __Unused95: 'Null', + __Unused96: 'Null', + __Unused97: 'Null', + __Unused98: 'Null', + Origins: 'PalletGovOriginsOrigin', + __Unused100: 'Null', + Ethereum: 'PalletEthereumRawOrigin' + } }, /** - * Lookup135: evm_core::error::ExitError + * Lookup210: frame_support::dispatch::RawOrigin **/ - EvmCoreErrorExitError: { + FrameSupportDispatchRawOrigin: { _enum: { - StackUnderflow: 'Null', - StackOverflow: 'Null', - InvalidJump: 'Null', - InvalidRange: 'Null', - DesignatedInvalid: 'Null', - CallTooDeep: 'Null', - CreateCollision: 'Null', - CreateContractLimit: 'Null', - OutOfOffset: 'Null', - OutOfGas: 'Null', - OutOfFund: 'Null', - PCUnderflow: 'Null', - CreateEmpty: 'Null', - Other: 'Text', - MaxNonce: 'Null', - InvalidCode: 'u8' + Root: 'Null', + Signed: 'AccountId32', + None: 'Null' } }, /** - * Lookup139: evm_core::error::ExitRevert + * Lookup211: pallet_collective::RawOrigin **/ - EvmCoreErrorExitRevert: { - _enum: ['Reverted'] + PalletCollectiveRawOrigin: { + _enum: { + Members: '(u32,u32)', + Member: 'AccountId32', + _Phantom: 'Null' + } }, /** - * Lookup140: evm_core::error::ExitFatal + * Lookup213: pallet_gov_origins::pallet::Origin **/ - EvmCoreErrorExitFatal: { - _enum: { - NotSupported: 'Null', - UnhandledInterrupt: 'Null', - CallErrorAsFatal: 'EvmCoreErrorExitError', - Other: 'Text' - } + PalletGovOriginsOrigin: { + _enum: ['FellowshipProposition'] }, /** - * Lookup141: pallet_evm_contract_helpers::pallet::Event + * Lookup214: pallet_xcm::pallet::Origin **/ - PalletEvmContractHelpersEvent: { + PalletXcmOrigin: { _enum: { - ContractSponsorSet: '(H160,AccountId32)', - ContractSponsorshipConfirmed: '(H160,AccountId32)', - ContractSponsorRemoved: 'H160' + Xcm: 'XcmV3MultiLocation', + Response: 'XcmV3MultiLocation' } }, /** - * Lookup142: pallet_evm_migration::pallet::Event + * Lookup215: cumulus_pallet_xcm::pallet::Origin **/ - PalletEvmMigrationEvent: { - _enum: ['TestEvent'] + CumulusPalletXcmOrigin: { + _enum: { + Relay: 'Null', + SiblingParachain: 'u32' + } }, /** - * Lookup143: pallet_maintenance::pallet::Event + * Lookup216: pallet_ethereum::RawOrigin **/ - PalletMaintenanceEvent: { - _enum: ['MaintenanceEnabled', 'MaintenanceDisabled'] + PalletEthereumRawOrigin: { + _enum: { + EthereumTransaction: 'H160' + } }, /** - * Lookup144: pallet_test_utils::pallet::Event + * Lookup218: sp_core::Void **/ - PalletTestUtilsEvent: { - _enum: ['ValueIsSet', 'ShouldRollback', 'BatchCompleted'] - }, + SpCoreVoid: 'Null', /** - * Lookup145: frame_system::Phase + * Lookup219: frame_support::traits::schedule::DispatchTime **/ - FrameSystemPhase: { + FrameSupportScheduleDispatchTime: { _enum: { - ApplyExtrinsic: 'u32', - Finalization: 'Null', - Initialization: 'Null' + At: 'u32', + After: 'u32' } }, /** - * Lookup148: frame_system::LastRuntimeUpgradeInfo + * Lookup220: pallet_scheduler::pallet::Call **/ - FrameSystemLastRuntimeUpgradeInfo: { - specVersion: 'Compact', - specName: 'Text' + PalletSchedulerCall: { + _enum: { + schedule: { + when: 'u32', + maybePeriodic: 'Option<(u32,u32)>', + priority: 'u8', + call: 'Call', + }, + cancel: { + when: 'u32', + index: 'u32', + }, + schedule_named: { + id: '[u8;32]', + when: 'u32', + maybePeriodic: 'Option<(u32,u32)>', + priority: 'u8', + call: 'Call', + }, + cancel_named: { + id: '[u8;32]', + }, + schedule_after: { + after: 'u32', + maybePeriodic: 'Option<(u32,u32)>', + priority: 'u8', + call: 'Call', + }, + schedule_named_after: { + id: '[u8;32]', + after: 'u32', + maybePeriodic: 'Option<(u32,u32)>', + priority: 'u8', + call: 'Call' + } + } }, /** - * Lookup149: frame_system::pallet::Call + * Lookup223: cumulus_pallet_xcmp_queue::pallet::Call **/ - FrameSystemCall: { + CumulusPalletXcmpQueueCall: { _enum: { - remark: { - remark: 'Bytes', - }, - set_heap_pages: { - pages: 'u64', + service_overweight: { + index: 'u64', + weightLimit: 'SpWeightsWeightV2Weight', }, - set_code: { - code: 'Bytes', + suspend_xcm_execution: 'Null', + resume_xcm_execution: 'Null', + update_suspend_threshold: { + _alias: { + new_: 'new', + }, + new_: 'u32', }, - set_code_without_checks: { - code: 'Bytes', + update_drop_threshold: { + _alias: { + new_: 'new', + }, + new_: 'u32', }, - set_storage: { - items: 'Vec<(Bytes,Bytes)>', + update_resume_threshold: { + _alias: { + new_: 'new', + }, + new_: 'u32', }, - kill_storage: { + update_threshold_weight: { _alias: { - keys_: 'keys', + new_: 'new', }, - keys_: 'Vec', + new_: 'SpWeightsWeightV2Weight', }, - kill_prefix: { - prefix: 'Bytes', - subkeys: 'u32', + update_weight_restrict_decay: { + _alias: { + new_: 'new', + }, + new_: 'SpWeightsWeightV2Weight', }, - remark_with_event: { - remark: 'Bytes' + update_xcmp_max_individual_weight: { + _alias: { + new_: 'new', + }, + new_: 'SpWeightsWeightV2Weight' } } }, /** - * Lookup153: frame_system::limits::BlockWeights + * Lookup224: pallet_xcm::pallet::Call **/ - FrameSystemLimitsBlockWeights: { - baseBlock: 'SpWeightsWeightV2Weight', - maxBlock: 'SpWeightsWeightV2Weight', - perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass' + PalletXcmCall: { + _enum: { + send: { + dest: 'XcmVersionedMultiLocation', + message: 'XcmVersionedXcm', + }, + teleport_assets: { + dest: 'XcmVersionedMultiLocation', + beneficiary: 'XcmVersionedMultiLocation', + assets: 'XcmVersionedMultiAssets', + feeAssetItem: 'u32', + }, + reserve_transfer_assets: { + dest: 'XcmVersionedMultiLocation', + beneficiary: 'XcmVersionedMultiLocation', + assets: 'XcmVersionedMultiAssets', + feeAssetItem: 'u32', + }, + execute: { + message: 'XcmVersionedXcm', + maxWeight: 'SpWeightsWeightV2Weight', + }, + force_xcm_version: { + location: 'XcmV3MultiLocation', + xcmVersion: 'u32', + }, + force_default_xcm_version: { + maybeXcmVersion: 'Option', + }, + force_subscribe_version_notify: { + location: 'XcmVersionedMultiLocation', + }, + force_unsubscribe_version_notify: { + location: 'XcmVersionedMultiLocation', + }, + limited_reserve_transfer_assets: { + dest: 'XcmVersionedMultiLocation', + beneficiary: 'XcmVersionedMultiLocation', + assets: 'XcmVersionedMultiAssets', + feeAssetItem: 'u32', + weightLimit: 'XcmV3WeightLimit', + }, + limited_teleport_assets: { + dest: 'XcmVersionedMultiLocation', + beneficiary: 'XcmVersionedMultiLocation', + assets: 'XcmVersionedMultiAssets', + feeAssetItem: 'u32', + weightLimit: 'XcmV3WeightLimit', + }, + force_suspension: { + suspended: 'bool' + } + } }, /** - * Lookup154: frame_support::dispatch::PerDispatchClass + * Lookup225: xcm::VersionedXcm **/ - FrameSupportDispatchPerDispatchClassWeightsPerClass: { - normal: 'FrameSystemLimitsWeightsPerClass', - operational: 'FrameSystemLimitsWeightsPerClass', - mandatory: 'FrameSystemLimitsWeightsPerClass' + XcmVersionedXcm: { + _enum: { + __Unused0: 'Null', + __Unused1: 'Null', + V2: 'XcmV2Xcm', + V3: 'XcmV3Xcm' + } }, /** - * Lookup155: frame_system::limits::WeightsPerClass + * Lookup226: xcm::v2::Xcm **/ - FrameSystemLimitsWeightsPerClass: { - baseExtrinsic: 'SpWeightsWeightV2Weight', - maxExtrinsic: 'Option', - maxTotal: 'Option', - reserved: 'Option' - }, - /** - * Lookup157: frame_system::limits::BlockLength - **/ - FrameSystemLimitsBlockLength: { - max: 'FrameSupportDispatchPerDispatchClassU32' - }, + XcmV2Xcm: 'Vec', /** - * Lookup158: frame_support::dispatch::PerDispatchClass + * Lookup228: xcm::v2::Instruction **/ - FrameSupportDispatchPerDispatchClassU32: { - normal: 'u32', - operational: 'u32', - mandatory: 'u32' + XcmV2Instruction: { + _enum: { + WithdrawAsset: 'XcmV2MultiassetMultiAssets', + ReserveAssetDeposited: 'XcmV2MultiassetMultiAssets', + ReceiveTeleportedAsset: 'XcmV2MultiassetMultiAssets', + QueryResponse: { + queryId: 'Compact', + response: 'XcmV2Response', + maxWeight: 'Compact', + }, + TransferAsset: { + assets: 'XcmV2MultiassetMultiAssets', + beneficiary: 'XcmV2MultiLocation', + }, + TransferReserveAsset: { + assets: 'XcmV2MultiassetMultiAssets', + dest: 'XcmV2MultiLocation', + xcm: 'XcmV2Xcm', + }, + Transact: { + originType: 'XcmV2OriginKind', + requireWeightAtMost: 'Compact', + call: 'XcmDoubleEncoded', + }, + HrmpNewChannelOpenRequest: { + sender: 'Compact', + maxMessageSize: 'Compact', + maxCapacity: 'Compact', + }, + HrmpChannelAccepted: { + recipient: 'Compact', + }, + HrmpChannelClosing: { + initiator: 'Compact', + sender: 'Compact', + recipient: 'Compact', + }, + ClearOrigin: 'Null', + DescendOrigin: 'XcmV2MultilocationJunctions', + ReportError: { + queryId: 'Compact', + dest: 'XcmV2MultiLocation', + maxResponseWeight: 'Compact', + }, + DepositAsset: { + assets: 'XcmV2MultiassetMultiAssetFilter', + maxAssets: 'Compact', + beneficiary: 'XcmV2MultiLocation', + }, + DepositReserveAsset: { + assets: 'XcmV2MultiassetMultiAssetFilter', + maxAssets: 'Compact', + dest: 'XcmV2MultiLocation', + xcm: 'XcmV2Xcm', + }, + ExchangeAsset: { + give: 'XcmV2MultiassetMultiAssetFilter', + receive: 'XcmV2MultiassetMultiAssets', + }, + InitiateReserveWithdraw: { + assets: 'XcmV2MultiassetMultiAssetFilter', + reserve: 'XcmV2MultiLocation', + xcm: 'XcmV2Xcm', + }, + InitiateTeleport: { + assets: 'XcmV2MultiassetMultiAssetFilter', + dest: 'XcmV2MultiLocation', + xcm: 'XcmV2Xcm', + }, + QueryHolding: { + queryId: 'Compact', + dest: 'XcmV2MultiLocation', + assets: 'XcmV2MultiassetMultiAssetFilter', + maxResponseWeight: 'Compact', + }, + BuyExecution: { + fees: 'XcmV2MultiAsset', + weightLimit: 'XcmV2WeightLimit', + }, + RefundSurplus: 'Null', + SetErrorHandler: 'XcmV2Xcm', + SetAppendix: 'XcmV2Xcm', + ClearError: 'Null', + ClaimAsset: { + assets: 'XcmV2MultiassetMultiAssets', + ticket: 'XcmV2MultiLocation', + }, + Trap: 'Compact', + SubscribeVersion: { + queryId: 'Compact', + maxResponseWeight: 'Compact', + }, + UnsubscribeVersion: 'Null' + } }, /** - * Lookup159: sp_weights::RuntimeDbWeight + * Lookup229: xcm::v2::Response **/ - SpWeightsRuntimeDbWeight: { - read: 'u64', - write: 'u64' + XcmV2Response: { + _enum: { + Null: 'Null', + Assets: 'XcmV2MultiassetMultiAssets', + ExecutionResult: 'Option<(u32,XcmV2TraitsError)>', + Version: 'u32' + } }, /** - * Lookup160: sp_version::RuntimeVersion + * Lookup232: xcm::v2::traits::Error **/ - SpVersionRuntimeVersion: { - specName: 'Text', - implName: 'Text', - authoringVersion: 'u32', - specVersion: 'u32', - implVersion: 'u32', - apis: 'Vec<([u8;8],u32)>', - transactionVersion: 'u32', - stateVersion: 'u8' + XcmV2TraitsError: { + _enum: { + Overflow: 'Null', + Unimplemented: 'Null', + UntrustedReserveLocation: 'Null', + UntrustedTeleportLocation: 'Null', + MultiLocationFull: 'Null', + MultiLocationNotInvertible: 'Null', + BadOrigin: 'Null', + InvalidLocation: 'Null', + AssetNotFound: 'Null', + FailedToTransactAsset: 'Null', + NotWithdrawable: 'Null', + LocationCannotHold: 'Null', + ExceedsMaxMessageSize: 'Null', + DestinationUnsupported: 'Null', + Transport: 'Null', + Unroutable: 'Null', + UnknownClaim: 'Null', + FailedToDecode: 'Null', + MaxWeightInvalid: 'Null', + NotHoldingFees: 'Null', + TooExpensive: 'Null', + Trap: 'u64', + UnhandledXcmVersion: 'Null', + WeightLimitReached: 'u64', + Barrier: 'Null', + WeightNotComputable: 'Null' + } }, /** - * Lookup165: frame_system::pallet::Error + * Lookup233: xcm::v2::OriginKind **/ - FrameSystemError: { - _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered'] + XcmV2OriginKind: { + _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm'] }, /** - * Lookup166: pallet_state_trie_migration::pallet::MigrationTask + * Lookup234: xcm::double_encoded::DoubleEncoded **/ - PalletStateTrieMigrationMigrationTask: { - _alias: { - size_: 'size' - }, - progressTop: 'PalletStateTrieMigrationProgress', - progressChild: 'PalletStateTrieMigrationProgress', - size_: 'u32', - topItems: 'u32', - childItems: 'u32' + XcmDoubleEncoded: { + encoded: 'Bytes' }, /** - * Lookup167: pallet_state_trie_migration::pallet::Progress + * Lookup235: xcm::v2::multiasset::MultiAssetFilter **/ - PalletStateTrieMigrationProgress: { + XcmV2MultiassetMultiAssetFilter: { _enum: { - ToStart: 'Null', - LastKey: 'Bytes', - Complete: 'Null' + Definite: 'XcmV2MultiassetMultiAssets', + Wild: 'XcmV2MultiassetWildMultiAsset' } }, /** - * Lookup170: pallet_state_trie_migration::pallet::MigrationLimits - **/ - PalletStateTrieMigrationMigrationLimits: { - _alias: { - size_: 'size' - }, - size_: 'u32', - item: 'u32' - }, - /** - * Lookup171: pallet_state_trie_migration::pallet::Call + * Lookup236: xcm::v2::multiasset::WildMultiAsset **/ - PalletStateTrieMigrationCall: { + XcmV2MultiassetWildMultiAsset: { _enum: { - control_auto_migration: { - maybeConfig: 'Option', - }, - continue_migrate: { - limits: 'PalletStateTrieMigrationMigrationLimits', - realSizeUpper: 'u32', - witnessTask: 'PalletStateTrieMigrationMigrationTask', - }, - migrate_custom_top: { - _alias: { - keys_: 'keys', - }, - keys_: 'Vec', - witnessSize: 'u32', - }, - migrate_custom_child: { - root: 'Bytes', - childKeys: 'Vec', - totalSize: 'u32', - }, - set_signed_max_limits: { - limits: 'PalletStateTrieMigrationMigrationLimits', - }, - force_set_progress: { - progressTop: 'PalletStateTrieMigrationProgress', - progressChild: 'PalletStateTrieMigrationProgress' + All: 'Null', + AllOf: { + id: 'XcmV2MultiassetAssetId', + fun: 'XcmV2MultiassetWildFungibility' } } }, /** - * Lookup172: polkadot_primitives::v4::PersistedValidationData - **/ - PolkadotPrimitivesV4PersistedValidationData: { - parentHead: 'Bytes', - relayParentNumber: 'u32', - relayParentStorageRoot: 'H256', - maxPovSize: 'u32' - }, - /** - * Lookup175: polkadot_primitives::v4::UpgradeRestriction - **/ - PolkadotPrimitivesV4UpgradeRestriction: { - _enum: ['Present'] - }, - /** - * Lookup176: sp_trie::storage_proof::StorageProof + * Lookup237: xcm::v2::multiasset::WildFungibility **/ - SpTrieStorageProof: { - trieNodes: 'BTreeSet' + XcmV2MultiassetWildFungibility: { + _enum: ['Fungible', 'NonFungible'] }, /** - * Lookup178: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot + * Lookup238: xcm::v2::WeightLimit **/ - CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: { - dmqMqcHead: 'H256', - relayDispatchQueueSize: 'CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize', - ingressChannels: 'Vec<(u32,PolkadotPrimitivesV4AbridgedHrmpChannel)>', - egressChannels: 'Vec<(u32,PolkadotPrimitivesV4AbridgedHrmpChannel)>' + XcmV2WeightLimit: { + _enum: { + Unlimited: 'Null', + Limited: 'Compact' + } }, /** - * Lookup179: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispachQueueSize + * Lookup239: xcm::v3::Xcm **/ - CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize: { - remainingCount: 'u32', - remainingSize: 'u32' - }, + XcmV3Xcm: 'Vec', /** - * Lookup182: polkadot_primitives::v4::AbridgedHrmpChannel + * Lookup241: xcm::v3::Instruction **/ - PolkadotPrimitivesV4AbridgedHrmpChannel: { - maxCapacity: 'u32', - maxTotalSize: 'u32', - maxMessageSize: 'u32', - msgCount: 'u32', - totalSize: 'u32', - mqcHead: 'Option' + XcmV3Instruction: { + _enum: { + WithdrawAsset: 'XcmV3MultiassetMultiAssets', + ReserveAssetDeposited: 'XcmV3MultiassetMultiAssets', + ReceiveTeleportedAsset: 'XcmV3MultiassetMultiAssets', + QueryResponse: { + queryId: 'Compact', + response: 'XcmV3Response', + maxWeight: 'SpWeightsWeightV2Weight', + querier: 'Option', + }, + TransferAsset: { + assets: 'XcmV3MultiassetMultiAssets', + beneficiary: 'XcmV3MultiLocation', + }, + TransferReserveAsset: { + assets: 'XcmV3MultiassetMultiAssets', + dest: 'XcmV3MultiLocation', + xcm: 'XcmV3Xcm', + }, + Transact: { + originKind: 'XcmV2OriginKind', + requireWeightAtMost: 'SpWeightsWeightV2Weight', + call: 'XcmDoubleEncoded', + }, + HrmpNewChannelOpenRequest: { + sender: 'Compact', + maxMessageSize: 'Compact', + maxCapacity: 'Compact', + }, + HrmpChannelAccepted: { + recipient: 'Compact', + }, + HrmpChannelClosing: { + initiator: 'Compact', + sender: 'Compact', + recipient: 'Compact', + }, + ClearOrigin: 'Null', + DescendOrigin: 'XcmV3Junctions', + ReportError: 'XcmV3QueryResponseInfo', + DepositAsset: { + assets: 'XcmV3MultiassetMultiAssetFilter', + beneficiary: 'XcmV3MultiLocation', + }, + DepositReserveAsset: { + assets: 'XcmV3MultiassetMultiAssetFilter', + dest: 'XcmV3MultiLocation', + xcm: 'XcmV3Xcm', + }, + ExchangeAsset: { + give: 'XcmV3MultiassetMultiAssetFilter', + want: 'XcmV3MultiassetMultiAssets', + maximal: 'bool', + }, + InitiateReserveWithdraw: { + assets: 'XcmV3MultiassetMultiAssetFilter', + reserve: 'XcmV3MultiLocation', + xcm: 'XcmV3Xcm', + }, + InitiateTeleport: { + assets: 'XcmV3MultiassetMultiAssetFilter', + dest: 'XcmV3MultiLocation', + xcm: 'XcmV3Xcm', + }, + ReportHolding: { + responseInfo: 'XcmV3QueryResponseInfo', + assets: 'XcmV3MultiassetMultiAssetFilter', + }, + BuyExecution: { + fees: 'XcmV3MultiAsset', + weightLimit: 'XcmV3WeightLimit', + }, + RefundSurplus: 'Null', + SetErrorHandler: 'XcmV3Xcm', + SetAppendix: 'XcmV3Xcm', + ClearError: 'Null', + ClaimAsset: { + assets: 'XcmV3MultiassetMultiAssets', + ticket: 'XcmV3MultiLocation', + }, + Trap: 'Compact', + SubscribeVersion: { + queryId: 'Compact', + maxResponseWeight: 'SpWeightsWeightV2Weight', + }, + UnsubscribeVersion: 'Null', + BurnAsset: 'XcmV3MultiassetMultiAssets', + ExpectAsset: 'XcmV3MultiassetMultiAssets', + ExpectOrigin: 'Option', + ExpectError: 'Option<(u32,XcmV3TraitsError)>', + ExpectTransactStatus: 'XcmV3MaybeErrorCode', + QueryPallet: { + moduleName: 'Bytes', + responseInfo: 'XcmV3QueryResponseInfo', + }, + ExpectPallet: { + index: 'Compact', + name: 'Bytes', + moduleName: 'Bytes', + crateMajor: 'Compact', + minCrateMinor: 'Compact', + }, + ReportTransactStatus: 'XcmV3QueryResponseInfo', + ClearTransactStatus: 'Null', + UniversalOrigin: 'XcmV3Junction', + ExportMessage: { + network: 'XcmV3JunctionNetworkId', + destination: 'XcmV3Junctions', + xcm: 'XcmV3Xcm', + }, + LockAsset: { + asset: 'XcmV3MultiAsset', + unlocker: 'XcmV3MultiLocation', + }, + UnlockAsset: { + asset: 'XcmV3MultiAsset', + target: 'XcmV3MultiLocation', + }, + NoteUnlockable: { + asset: 'XcmV3MultiAsset', + owner: 'XcmV3MultiLocation', + }, + RequestUnlock: { + asset: 'XcmV3MultiAsset', + locker: 'XcmV3MultiLocation', + }, + SetFeesMode: { + jitWithdraw: 'bool', + }, + SetTopic: '[u8;32]', + ClearTopic: 'Null', + AliasOrigin: 'XcmV3MultiLocation', + UnpaidExecution: { + weightLimit: 'XcmV3WeightLimit', + checkOrigin: 'Option' + } + } }, /** - * Lookup184: polkadot_primitives::v4::AbridgedHostConfiguration + * Lookup242: xcm::v3::Response **/ - PolkadotPrimitivesV4AbridgedHostConfiguration: { - maxCodeSize: 'u32', - maxHeadDataSize: 'u32', - maxUpwardQueueCount: 'u32', - maxUpwardQueueSize: 'u32', - maxUpwardMessageSize: 'u32', - maxUpwardMessageNumPerCandidate: 'u32', - hrmpMaxMessageNumPerCandidate: 'u32', - validationUpgradeCooldown: 'u32', - validationUpgradeDelay: 'u32' + XcmV3Response: { + _enum: { + Null: 'Null', + Assets: 'XcmV3MultiassetMultiAssets', + ExecutionResult: 'Option<(u32,XcmV3TraitsError)>', + Version: 'u32', + PalletsInfo: 'Vec', + DispatchResult: 'XcmV3MaybeErrorCode' + } }, /** - * Lookup190: polkadot_core_primitives::OutboundHrmpMessage + * Lookup245: xcm::v3::traits::Error **/ - PolkadotCorePrimitivesOutboundHrmpMessage: { - recipient: 'u32', - data: 'Bytes' + XcmV3TraitsError: { + _enum: { + Overflow: 'Null', + Unimplemented: 'Null', + UntrustedReserveLocation: 'Null', + UntrustedTeleportLocation: 'Null', + LocationFull: 'Null', + LocationNotInvertible: 'Null', + BadOrigin: 'Null', + InvalidLocation: 'Null', + AssetNotFound: 'Null', + FailedToTransactAsset: 'Null', + NotWithdrawable: 'Null', + LocationCannotHold: 'Null', + ExceedsMaxMessageSize: 'Null', + DestinationUnsupported: 'Null', + Transport: 'Null', + Unroutable: 'Null', + UnknownClaim: 'Null', + FailedToDecode: 'Null', + MaxWeightInvalid: 'Null', + NotHoldingFees: 'Null', + TooExpensive: 'Null', + Trap: 'u64', + ExpectationFalse: 'Null', + PalletNotFound: 'Null', + NameMismatch: 'Null', + VersionIncompatible: 'Null', + HoldingWouldOverflow: 'Null', + ExportError: 'Null', + ReanchorFailed: 'Null', + NoDeal: 'Null', + FeesNotMet: 'Null', + LockError: 'Null', + NoPermission: 'Null', + Unanchored: 'Null', + NotDepositable: 'Null', + UnhandledXcmVersion: 'Null', + WeightLimitReached: 'SpWeightsWeightV2Weight', + Barrier: 'Null', + WeightNotComputable: 'Null', + ExceedsStackLimit: 'Null' + } }, /** - * Lookup191: cumulus_pallet_parachain_system::CodeUpgradeAuthorization + * Lookup247: xcm::v3::PalletInfo **/ - CumulusPalletParachainSystemCodeUpgradeAuthorization: { - codeHash: 'H256', - checkVersion: 'bool' + XcmV3PalletInfo: { + index: 'Compact', + name: 'Bytes', + moduleName: 'Bytes', + major: 'Compact', + minor: 'Compact', + patch: 'Compact' }, /** - * Lookup192: cumulus_pallet_parachain_system::pallet::Call + * Lookup250: xcm::v3::MaybeErrorCode **/ - CumulusPalletParachainSystemCall: { + XcmV3MaybeErrorCode: { _enum: { - set_validation_data: { - data: 'CumulusPrimitivesParachainInherentParachainInherentData', + Success: 'Null', + Error: 'Bytes', + TruncatedError: 'Bytes' + } + }, + /** + * Lookup253: xcm::v3::QueryResponseInfo + **/ + XcmV3QueryResponseInfo: { + destination: 'XcmV3MultiLocation', + queryId: 'Compact', + maxWeight: 'SpWeightsWeightV2Weight' + }, + /** + * Lookup254: xcm::v3::multiasset::MultiAssetFilter + **/ + XcmV3MultiassetMultiAssetFilter: { + _enum: { + Definite: 'XcmV3MultiassetMultiAssets', + Wild: 'XcmV3MultiassetWildMultiAsset' + } + }, + /** + * Lookup255: xcm::v3::multiasset::WildMultiAsset + **/ + XcmV3MultiassetWildMultiAsset: { + _enum: { + All: 'Null', + AllOf: { + id: 'XcmV3MultiassetAssetId', + fun: 'XcmV3MultiassetWildFungibility', + }, + AllCounted: 'Compact', + AllOfCounted: { + id: 'XcmV3MultiassetAssetId', + fun: 'XcmV3MultiassetWildFungibility', + count: 'Compact' + } + } + }, + /** + * Lookup256: xcm::v3::multiasset::WildFungibility + **/ + XcmV3MultiassetWildFungibility: { + _enum: ['Fungible', 'NonFungible'] + }, + /** + * Lookup265: cumulus_pallet_xcm::pallet::Call + **/ + CumulusPalletXcmCall: 'Null', + /** + * Lookup266: cumulus_pallet_dmp_queue::pallet::Call + **/ + CumulusPalletDmpQueueCall: { + _enum: { + service_overweight: { + index: 'u64', + weightLimit: 'SpWeightsWeightV2Weight' + } + } + }, + /** + * Lookup267: pallet_inflation::pallet::Call + **/ + PalletInflationCall: { + _enum: { + start_inflation: { + inflationStartRelayBlock: 'u32' + } + } + }, + /** + * Lookup268: pallet_unique::pallet::Call + **/ + PalletUniqueCall: { + _enum: { + create_collection: { + collectionName: 'Vec', + collectionDescription: 'Vec', + tokenPrefix: 'Bytes', + mode: 'UpDataStructsCollectionMode', + }, + create_collection_ex: { + data: 'UpDataStructsCreateCollectionData', + }, + destroy_collection: { + collectionId: 'u32', + }, + add_to_allow_list: { + collectionId: 'u32', + address: 'PalletEvmAccountBasicCrossAccountIdRepr', + }, + remove_from_allow_list: { + collectionId: 'u32', + address: 'PalletEvmAccountBasicCrossAccountIdRepr', + }, + change_collection_owner: { + collectionId: 'u32', + newOwner: 'AccountId32', + }, + add_collection_admin: { + collectionId: 'u32', + newAdminId: 'PalletEvmAccountBasicCrossAccountIdRepr', + }, + remove_collection_admin: { + collectionId: 'u32', + accountId: 'PalletEvmAccountBasicCrossAccountIdRepr', + }, + set_collection_sponsor: { + collectionId: 'u32', + newSponsor: 'AccountId32', + }, + confirm_sponsorship: { + collectionId: 'u32', + }, + remove_collection_sponsor: { + collectionId: 'u32', + }, + create_item: { + collectionId: 'u32', + owner: 'PalletEvmAccountBasicCrossAccountIdRepr', + data: 'UpDataStructsCreateItemData', + }, + create_multiple_items: { + collectionId: 'u32', + owner: 'PalletEvmAccountBasicCrossAccountIdRepr', + itemsData: 'Vec', + }, + set_collection_properties: { + collectionId: 'u32', + properties: 'Vec', + }, + delete_collection_properties: { + collectionId: 'u32', + propertyKeys: 'Vec', + }, + set_token_properties: { + collectionId: 'u32', + tokenId: 'u32', + properties: 'Vec', + }, + delete_token_properties: { + collectionId: 'u32', + tokenId: 'u32', + propertyKeys: 'Vec', + }, + set_token_property_permissions: { + collectionId: 'u32', + propertyPermissions: 'Vec', + }, + create_multiple_items_ex: { + collectionId: 'u32', + data: 'UpDataStructsCreateItemExData', + }, + set_transfers_enabled_flag: { + collectionId: 'u32', + value: 'bool', + }, + burn_item: { + collectionId: 'u32', + itemId: 'u32', + value: 'u128', + }, + burn_from: { + collectionId: 'u32', + from: 'PalletEvmAccountBasicCrossAccountIdRepr', + itemId: 'u32', + value: 'u128', + }, + transfer: { + recipient: 'PalletEvmAccountBasicCrossAccountIdRepr', + collectionId: 'u32', + itemId: 'u32', + value: 'u128', + }, + approve: { + spender: 'PalletEvmAccountBasicCrossAccountIdRepr', + collectionId: 'u32', + itemId: 'u32', + amount: 'u128', + }, + approve_from: { + from: 'PalletEvmAccountBasicCrossAccountIdRepr', + to: 'PalletEvmAccountBasicCrossAccountIdRepr', + collectionId: 'u32', + itemId: 'u32', + amount: 'u128', }, - sudo_send_upward_message: { - message: 'Bytes', + transfer_from: { + from: 'PalletEvmAccountBasicCrossAccountIdRepr', + recipient: 'PalletEvmAccountBasicCrossAccountIdRepr', + collectionId: 'u32', + itemId: 'u32', + value: 'u128', }, - authorize_upgrade: { - codeHash: 'H256', - checkVersion: 'bool', + set_collection_limits: { + collectionId: 'u32', + newLimit: 'UpDataStructsCollectionLimits', }, - enact_authorized_upgrade: { - code: 'Bytes' + set_collection_permissions: { + collectionId: 'u32', + newPermission: 'UpDataStructsCollectionPermissions', + }, + repartition: { + collectionId: 'u32', + tokenId: 'u32', + amount: 'u128', + }, + set_allowance_for_all: { + collectionId: 'u32', + operator: 'PalletEvmAccountBasicCrossAccountIdRepr', + approve: 'bool', + }, + force_repair_collection: { + collectionId: 'u32', + }, + force_repair_item: { + collectionId: 'u32', + itemId: 'u32' } } }, /** - * Lookup193: cumulus_primitives_parachain_inherent::ParachainInherentData - **/ - CumulusPrimitivesParachainInherentParachainInherentData: { - validationData: 'PolkadotPrimitivesV4PersistedValidationData', - relayChainState: 'SpTrieStorageProof', - downwardMessages: 'Vec', - horizontalMessages: 'BTreeMap>' - }, - /** - * Lookup195: polkadot_core_primitives::InboundDownwardMessage - **/ - PolkadotCorePrimitivesInboundDownwardMessage: { - sentAt: 'u32', - msg: 'Bytes' - }, - /** - * Lookup198: polkadot_core_primitives::InboundHrmpMessage + * Lookup273: up_data_structs::CollectionMode **/ - PolkadotCorePrimitivesInboundHrmpMessage: { - sentAt: 'u32', - data: 'Bytes' + UpDataStructsCollectionMode: { + _enum: { + NFT: 'Null', + Fungible: 'u8', + ReFungible: 'Null' + } }, /** - * Lookup201: cumulus_pallet_parachain_system::pallet::Error + * Lookup274: up_data_structs::CreateCollectionData> **/ - CumulusPalletParachainSystemError: { - _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized'] + UpDataStructsCreateCollectionData: { + mode: 'UpDataStructsCollectionMode', + access: 'Option', + name: 'Vec', + description: 'Vec', + tokenPrefix: 'Bytes', + limits: 'Option', + permissions: 'Option', + tokenPropertyPermissions: 'Vec', + properties: 'Vec', + adminList: 'Vec', + pendingSponsor: 'Option', + flags: '[u8;1]' }, /** - * Lookup202: parachain_info::pallet::Call + * Lookup275: pallet_evm::account::BasicCrossAccountIdRepr **/ - ParachainInfoCall: 'Null', - /** - * Lookup205: pallet_collator_selection::pallet::Call - **/ - PalletCollatorSelectionCall: { + PalletEvmAccountBasicCrossAccountIdRepr: { _enum: { - add_invulnerable: { - _alias: { - new_: 'new', - }, - new_: 'AccountId32', - }, - remove_invulnerable: { - who: 'AccountId32', - }, - get_license: 'Null', - onboard: 'Null', - offboard: 'Null', - release_license: 'Null', - force_release_license: { - who: 'AccountId32' - } + Substrate: 'AccountId32', + Ethereum: 'H160' } }, /** - * Lookup206: pallet_collator_selection::pallet::Error + * Lookup277: up_data_structs::AccessMode **/ - PalletCollatorSelectionError: { - _enum: ['TooManyCandidates', 'Unknown', 'Permission', 'AlreadyHoldingLicense', 'NoLicense', 'AlreadyCandidate', 'NotCandidate', 'TooManyInvulnerables', 'TooFewInvulnerables', 'AlreadyInvulnerable', 'NotInvulnerable', 'NoAssociatedValidatorId', 'ValidatorNotRegistered'] + UpDataStructsAccessMode: { + _enum: ['Normal', 'AllowList'] }, /** - * Lookup209: opal_runtime::runtime_common::SessionKeys + * Lookup279: up_data_structs::CollectionLimits **/ - OpalRuntimeRuntimeCommonSessionKeys: { - aura: 'SpConsensusAuraSr25519AppSr25519Public' + UpDataStructsCollectionLimits: { + accountTokenOwnershipLimit: 'Option', + sponsoredDataSize: 'Option', + sponsoredDataRateLimit: 'Option', + tokenLimit: 'Option', + sponsorTransferTimeout: 'Option', + sponsorApproveTimeout: 'Option', + ownerCanTransfer: 'Option', + ownerCanDestroy: 'Option', + transfersEnabled: 'Option' }, /** - * Lookup210: sp_consensus_aura::sr25519::app_sr25519::Public - **/ - SpConsensusAuraSr25519AppSr25519Public: 'SpCoreSr25519Public', - /** - * Lookup211: sp_core::sr25519::Public - **/ - SpCoreSr25519Public: '[u8;32]', - /** - * Lookup214: sp_core::crypto::KeyTypeId + * Lookup281: up_data_structs::SponsoringRateLimit **/ - SpCoreCryptoKeyTypeId: '[u8;4]', - /** - * Lookup215: pallet_session::pallet::Call - **/ - PalletSessionCall: { + UpDataStructsSponsoringRateLimit: { _enum: { - set_keys: { - _alias: { - keys_: 'keys', - }, - keys_: 'OpalRuntimeRuntimeCommonSessionKeys', - proof: 'Bytes', - }, - purge_keys: 'Null' + SponsoringDisabled: 'Null', + Blocks: 'u32' } }, /** - * Lookup216: pallet_session::pallet::Error - **/ - PalletSessionError: { - _enum: ['InvalidProof', 'NoAssociatedValidatorId', 'DuplicatedKey', 'NoKeys', 'NoAccount'] - }, - /** - * Lookup221: pallet_balances::types::BalanceLock + * Lookup284: up_data_structs::CollectionPermissions **/ - PalletBalancesBalanceLock: { - id: '[u8;8]', - amount: 'u128', - reasons: 'PalletBalancesReasons' + UpDataStructsCollectionPermissions: { + access: 'Option', + mintMode: 'Option', + nesting: 'Option' }, /** - * Lookup222: pallet_balances::types::Reasons + * Lookup286: up_data_structs::NestingPermissions **/ - PalletBalancesReasons: { - _enum: ['Fee', 'Misc', 'All'] + UpDataStructsNestingPermissions: { + tokenOwner: 'bool', + collectionAdmin: 'bool', + restricted: 'Option' }, /** - * Lookup225: pallet_balances::types::ReserveData + * Lookup288: up_data_structs::OwnerRestrictedSet **/ - PalletBalancesReserveData: { - id: '[u8;16]', - amount: 'u128' - }, + UpDataStructsOwnerRestrictedSet: 'BTreeSet', /** - * Lookup228: pallet_balances::types::IdAmount + * Lookup294: up_data_structs::PropertyKeyPermission **/ - PalletBalancesIdAmount: { - id: '[u8;16]', - amount: 'u128' + UpDataStructsPropertyKeyPermission: { + key: 'Bytes', + permission: 'UpDataStructsPropertyPermission' }, /** - * Lookup231: pallet_balances::pallet::Call + * Lookup296: up_data_structs::PropertyPermission **/ - PalletBalancesCall: { - _enum: { - transfer_allow_death: { - dest: 'MultiAddress', - value: 'Compact', - }, - set_balance_deprecated: { - who: 'MultiAddress', - newFree: 'Compact', - oldReserved: 'Compact', - }, - force_transfer: { - source: 'MultiAddress', - dest: 'MultiAddress', - value: 'Compact', - }, - transfer_keep_alive: { - dest: 'MultiAddress', - value: 'Compact', - }, - transfer_all: { - dest: 'MultiAddress', - keepAlive: 'bool', - }, - force_unreserve: { - who: 'MultiAddress', - amount: 'u128', - }, - upgrade_accounts: { - who: 'Vec', - }, - transfer: { - dest: 'MultiAddress', - value: 'Compact', - }, - force_set_balance: { - who: 'MultiAddress', - newFree: 'Compact' - } - } + UpDataStructsPropertyPermission: { + mutable: 'bool', + collectionAdmin: 'bool', + tokenOwner: 'bool' }, /** - * Lookup234: pallet_balances::pallet::Error + * Lookup299: up_data_structs::Property **/ - PalletBalancesError: { - _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'Expendability', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves', 'TooManyHolds', 'TooManyFreezes'] + UpDataStructsProperty: { + key: 'Bytes', + value: 'Bytes' }, /** - * Lookup235: pallet_timestamp::pallet::Call + * Lookup304: up_data_structs::CreateItemData **/ - PalletTimestampCall: { + UpDataStructsCreateItemData: { _enum: { - set: { - now: 'Compact' - } + NFT: 'UpDataStructsCreateNftData', + Fungible: 'UpDataStructsCreateFungibleData', + ReFungible: 'UpDataStructsCreateReFungibleData' } }, /** - * Lookup237: pallet_transaction_payment::Releases + * Lookup305: up_data_structs::CreateNftData **/ - PalletTransactionPaymentReleases: { - _enum: ['V1Ancient', 'V2'] + UpDataStructsCreateNftData: { + properties: 'Vec' }, /** - * Lookup238: pallet_treasury::Proposal + * Lookup306: up_data_structs::CreateFungibleData **/ - PalletTreasuryProposal: { - proposer: 'AccountId32', - value: 'u128', - beneficiary: 'AccountId32', - bond: 'u128' + UpDataStructsCreateFungibleData: { + value: 'u128' }, /** - * Lookup240: pallet_treasury::pallet::Call + * Lookup307: up_data_structs::CreateReFungibleData **/ - PalletTreasuryCall: { - _enum: { - propose_spend: { - value: 'Compact', - beneficiary: 'MultiAddress', - }, - reject_proposal: { - proposalId: 'Compact', - }, - approve_proposal: { - proposalId: 'Compact', - }, - spend: { - amount: 'Compact', - beneficiary: 'MultiAddress', - }, - remove_approval: { - proposalId: 'Compact' - } + UpDataStructsCreateReFungibleData: { + pieces: 'u128', + properties: 'Vec' + }, + /** + * Lookup311: up_data_structs::CreateItemExData> + **/ + UpDataStructsCreateItemExData: { + _enum: { + NFT: 'Vec', + Fungible: 'BTreeMap', + RefungibleMultipleItems: 'Vec', + RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExMultipleOwners' } }, /** - * Lookup242: frame_support::PalletId + * Lookup313: up_data_structs::CreateNftExData> **/ - FrameSupportPalletId: '[u8;8]', + UpDataStructsCreateNftExData: { + properties: 'Vec', + owner: 'PalletEvmAccountBasicCrossAccountIdRepr' + }, /** - * Lookup243: pallet_treasury::pallet::Error + * Lookup320: up_data_structs::CreateRefungibleExSingleOwner> **/ - PalletTreasuryError: { - _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved'] + UpDataStructsCreateRefungibleExSingleOwner: { + user: 'PalletEvmAccountBasicCrossAccountIdRepr', + pieces: 'u128', + properties: 'Vec' }, /** - * Lookup244: pallet_sudo::pallet::Call + * Lookup322: up_data_structs::CreateRefungibleExMultipleOwners> **/ - PalletSudoCall: { + UpDataStructsCreateRefungibleExMultipleOwners: { + users: 'BTreeMap', + properties: 'Vec' + }, + /** + * Lookup323: pallet_configuration::pallet::Call + **/ + PalletConfigurationCall: { _enum: { - sudo: { - call: 'Call', + set_weight_to_fee_coefficient_override: { + coeff: 'Option', }, - sudo_unchecked_weight: { - call: 'Call', - weight: 'SpWeightsWeightV2Weight', + set_min_gas_price_override: { + coeff: 'Option', }, - set_key: { - _alias: { - new_: 'new', - }, - new_: 'MultiAddress', + __Unused2: 'Null', + set_app_promotion_configuration_override: { + configuration: 'PalletConfigurationAppPromotionConfiguration', }, - sudo_as: { - who: 'MultiAddress', - call: 'Call' + set_collator_selection_desired_collators: { + max: 'Option', + }, + set_collator_selection_license_bond: { + amount: 'Option', + }, + set_collator_selection_kick_threshold: { + threshold: 'Option' } } }, /** - * Lookup246: orml_vesting::module::Call + * Lookup325: pallet_configuration::AppPromotionConfiguration **/ - OrmlVestingModuleCall: { - _enum: { - claim: 'Null', - vested_transfer: { - dest: 'MultiAddress', - schedule: 'OrmlVestingVestingSchedule', - }, - update_vesting_schedules: { - who: 'MultiAddress', - vestingSchedules: 'Vec', - }, - claim_for: { - dest: 'MultiAddress' - } - } + PalletConfigurationAppPromotionConfiguration: { + recalculationInterval: 'Option', + pendingInterval: 'Option', + intervalIncome: 'Option', + maxStakersPerCalculation: 'Option' }, /** - * Lookup248: orml_xtokens::module::Call + * Lookup330: pallet_structure::pallet::Call **/ - OrmlXtokensModuleCall: { + PalletStructureCall: 'Null', + /** + * Lookup331: pallet_app_promotion::pallet::Call + **/ + PalletAppPromotionCall: { _enum: { - transfer: { - currencyId: 'PalletForeignAssetsAssetIds', + set_admin_address: { + admin: 'PalletEvmAccountBasicCrossAccountIdRepr', + }, + stake: { amount: 'u128', - dest: 'XcmVersionedMultiLocation', - destWeightLimit: 'XcmV3WeightLimit', }, - transfer_multiasset: { - asset: 'XcmVersionedMultiAsset', - dest: 'XcmVersionedMultiLocation', - destWeightLimit: 'XcmV3WeightLimit', + unstake_all: 'Null', + sponsor_collection: { + collectionId: 'u32', }, - transfer_with_fee: { - currencyId: 'PalletForeignAssetsAssetIds', - amount: 'u128', - fee: 'u128', - dest: 'XcmVersionedMultiLocation', - destWeightLimit: 'XcmV3WeightLimit', + stop_sponsoring_collection: { + collectionId: 'u32', }, - transfer_multiasset_with_fee: { - asset: 'XcmVersionedMultiAsset', - fee: 'XcmVersionedMultiAsset', - dest: 'XcmVersionedMultiLocation', - destWeightLimit: 'XcmV3WeightLimit', + sponsor_contract: { + contractId: 'H160', }, - transfer_multicurrencies: { - currencies: 'Vec<(PalletForeignAssetsAssetIds,u128)>', - feeItem: 'u32', - dest: 'XcmVersionedMultiLocation', - destWeightLimit: 'XcmV3WeightLimit', + stop_sponsoring_contract: { + contractId: 'H160', }, - transfer_multiassets: { - assets: 'XcmVersionedMultiAssets', - feeItem: 'u32', - dest: 'XcmVersionedMultiLocation', - destWeightLimit: 'XcmV3WeightLimit' + payout_stakers: { + stakersNumber: 'Option', + }, + unstake_partial: { + amount: 'u128', + }, + force_unstake: { + pendingBlocks: 'Vec' } } }, /** - * Lookup249: xcm::VersionedMultiAsset + * Lookup333: pallet_foreign_assets::module::Call **/ - XcmVersionedMultiAsset: { + PalletForeignAssetsModuleCall: { _enum: { - __Unused0: 'Null', - V2: 'XcmV2MultiAsset', - __Unused2: 'Null', - V3: 'XcmV3MultiAsset' + register_foreign_asset: { + owner: 'AccountId32', + location: 'XcmVersionedMultiLocation', + metadata: 'PalletForeignAssetsModuleAssetMetadata', + }, + update_foreign_asset: { + foreignAssetId: 'u32', + location: 'XcmVersionedMultiLocation', + metadata: 'PalletForeignAssetsModuleAssetMetadata' + } } }, /** - * Lookup252: orml_tokens::module::Call + * Lookup334: pallet_foreign_assets::module::AssetMetadata **/ - OrmlTokensModuleCall: { - _enum: { - transfer: { - dest: 'MultiAddress', - currencyId: 'PalletForeignAssetsAssetIds', - amount: 'Compact', - }, - transfer_all: { - dest: 'MultiAddress', - currencyId: 'PalletForeignAssetsAssetIds', - keepAlive: 'bool', - }, - transfer_keep_alive: { - dest: 'MultiAddress', - currencyId: 'PalletForeignAssetsAssetIds', - amount: 'Compact', - }, - force_transfer: { - source: 'MultiAddress', - dest: 'MultiAddress', - currencyId: 'PalletForeignAssetsAssetIds', - amount: 'Compact', - }, - set_balance: { - who: 'MultiAddress', - currencyId: 'PalletForeignAssetsAssetIds', - newFree: 'Compact', - newReserved: 'Compact' - } - } + PalletForeignAssetsModuleAssetMetadata: { + name: 'Bytes', + symbol: 'Bytes', + decimals: 'u8', + minimalBalance: 'u128' }, /** - * Lookup253: pallet_identity::pallet::Call + * Lookup337: pallet_evm::pallet::Call **/ - PalletIdentityCall: { + PalletEvmCall: { _enum: { - add_registrar: { - account: 'MultiAddress', - }, - set_identity: { - info: 'PalletIdentityIdentityInfo', - }, - set_subs: { - subs: 'Vec<(AccountId32,Data)>', - }, - clear_identity: 'Null', - request_judgement: { - regIndex: 'Compact', - maxFee: 'Compact', - }, - cancel_request: { - regIndex: 'u32', - }, - set_fee: { - index: 'Compact', - fee: 'Compact', - }, - set_account_id: { - _alias: { - new_: 'new', - }, - index: 'Compact', - new_: 'MultiAddress', - }, - set_fields: { - index: 'Compact', - fields: 'PalletIdentityBitFlags', - }, - provide_judgement: { - regIndex: 'Compact', - target: 'MultiAddress', - judgement: 'PalletIdentityJudgement', - identity: 'H256', - }, - kill_identity: { - target: 'MultiAddress', - }, - add_sub: { - sub: 'MultiAddress', - data: 'Data', - }, - rename_sub: { - sub: 'MultiAddress', - data: 'Data', - }, - remove_sub: { - sub: 'MultiAddress', + withdraw: { + address: 'H160', + value: 'u128', }, - quit_sub: 'Null', - force_insert_identities: { - identities: 'Vec<(AccountId32,PalletIdentityRegistration)>', + call: { + source: 'H160', + target: 'H160', + input: 'Bytes', + value: 'U256', + gasLimit: 'u64', + maxFeePerGas: 'U256', + maxPriorityFeePerGas: 'Option', + nonce: 'Option', + accessList: 'Vec<(H160,Vec)>', }, - force_remove_identities: { - identities: 'Vec', + create: { + source: 'H160', + init: 'Bytes', + value: 'U256', + gasLimit: 'u64', + maxFeePerGas: 'U256', + maxPriorityFeePerGas: 'Option', + nonce: 'Option', + accessList: 'Vec<(H160,Vec)>', }, - force_set_subs: { - subs: 'Vec<(AccountId32,(u128,Vec<(AccountId32,Data)>))>' + create2: { + source: 'H160', + init: 'Bytes', + salt: 'H256', + value: 'U256', + gasLimit: 'u64', + maxFeePerGas: 'U256', + maxPriorityFeePerGas: 'Option', + nonce: 'Option', + accessList: 'Vec<(H160,Vec)>' } } }, /** - * Lookup254: pallet_identity::types::IdentityInfo + * Lookup344: pallet_ethereum::pallet::Call **/ - PalletIdentityIdentityInfo: { - additional: 'Vec<(Data,Data)>', - display: 'Data', - legal: 'Data', - web: 'Data', - riot: 'Data', - email: 'Data', - pgpFingerprint: 'Option<[u8;20]>', - image: 'Data', - twitter: 'Data' + PalletEthereumCall: { + _enum: { + transact: { + transaction: 'EthereumTransactionTransactionV2' + } + } }, /** - * Lookup290: pallet_identity::types::BitFlags + * Lookup345: ethereum::transaction::TransactionV2 **/ - PalletIdentityBitFlags: { - _bitLength: 64, - Display: 1, - Legal: 2, - Web: 4, - Riot: 8, - Email: 16, - PgpFingerprint: 32, - Image: 64, - Twitter: 128 + EthereumTransactionTransactionV2: { + _enum: { + Legacy: 'EthereumTransactionLegacyTransaction', + EIP2930: 'EthereumTransactionEip2930Transaction', + EIP1559: 'EthereumTransactionEip1559Transaction' + } }, /** - * Lookup291: pallet_identity::types::IdentityField + * Lookup346: ethereum::transaction::LegacyTransaction **/ - PalletIdentityIdentityField: { - _enum: ['__Unused0', 'Display', 'Legal', '__Unused3', 'Web', '__Unused5', '__Unused6', '__Unused7', 'Riot', '__Unused9', '__Unused10', '__Unused11', '__Unused12', '__Unused13', '__Unused14', '__Unused15', 'Email', '__Unused17', '__Unused18', '__Unused19', '__Unused20', '__Unused21', '__Unused22', '__Unused23', '__Unused24', '__Unused25', '__Unused26', '__Unused27', '__Unused28', '__Unused29', '__Unused30', '__Unused31', 'PgpFingerprint', '__Unused33', '__Unused34', '__Unused35', '__Unused36', '__Unused37', '__Unused38', '__Unused39', '__Unused40', '__Unused41', '__Unused42', '__Unused43', '__Unused44', '__Unused45', '__Unused46', '__Unused47', '__Unused48', '__Unused49', '__Unused50', '__Unused51', '__Unused52', '__Unused53', '__Unused54', '__Unused55', '__Unused56', '__Unused57', '__Unused58', '__Unused59', '__Unused60', '__Unused61', '__Unused62', '__Unused63', 'Image', '__Unused65', '__Unused66', '__Unused67', '__Unused68', '__Unused69', '__Unused70', '__Unused71', '__Unused72', '__Unused73', '__Unused74', '__Unused75', '__Unused76', '__Unused77', '__Unused78', '__Unused79', '__Unused80', '__Unused81', '__Unused82', '__Unused83', '__Unused84', '__Unused85', '__Unused86', '__Unused87', '__Unused88', '__Unused89', '__Unused90', '__Unused91', '__Unused92', '__Unused93', '__Unused94', '__Unused95', '__Unused96', '__Unused97', '__Unused98', '__Unused99', '__Unused100', '__Unused101', '__Unused102', '__Unused103', '__Unused104', '__Unused105', '__Unused106', '__Unused107', '__Unused108', '__Unused109', '__Unused110', '__Unused111', '__Unused112', '__Unused113', '__Unused114', '__Unused115', '__Unused116', '__Unused117', '__Unused118', '__Unused119', '__Unused120', '__Unused121', '__Unused122', '__Unused123', '__Unused124', '__Unused125', '__Unused126', '__Unused127', 'Twitter'] + EthereumTransactionLegacyTransaction: { + nonce: 'U256', + gasPrice: 'U256', + gasLimit: 'U256', + action: 'EthereumTransactionTransactionAction', + value: 'U256', + input: 'Bytes', + signature: 'EthereumTransactionTransactionSignature' }, /** - * Lookup292: pallet_identity::types::Judgement + * Lookup347: ethereum::transaction::TransactionAction **/ - PalletIdentityJudgement: { + EthereumTransactionTransactionAction: { _enum: { - Unknown: 'Null', - FeePaid: 'u128', - Reasonable: 'Null', - KnownGood: 'Null', - OutOfDate: 'Null', - LowQuality: 'Null', - Erroneous: 'Null' + Call: 'H160', + Create: 'Null' } }, /** - * Lookup295: pallet_identity::types::Registration + * Lookup348: ethereum::transaction::TransactionSignature **/ - PalletIdentityRegistration: { - judgements: 'Vec<(u32,PalletIdentityJudgement)>', - deposit: 'u128', - info: 'PalletIdentityIdentityInfo' + EthereumTransactionTransactionSignature: { + v: 'u64', + r: 'H256', + s: 'H256' }, /** - * Lookup303: pallet_preimage::pallet::Call + * Lookup350: ethereum::transaction::EIP2930Transaction **/ - PalletPreimageCall: { + EthereumTransactionEip2930Transaction: { + chainId: 'u64', + nonce: 'U256', + gasPrice: 'U256', + gasLimit: 'U256', + action: 'EthereumTransactionTransactionAction', + value: 'U256', + input: 'Bytes', + accessList: 'Vec', + oddYParity: 'bool', + r: 'H256', + s: 'H256' + }, + /** + * Lookup352: ethereum::transaction::AccessListItem + **/ + EthereumTransactionAccessListItem: { + address: 'H160', + storageKeys: 'Vec' + }, + /** + * Lookup353: ethereum::transaction::EIP1559Transaction + **/ + EthereumTransactionEip1559Transaction: { + chainId: 'u64', + nonce: 'U256', + maxPriorityFeePerGas: 'U256', + maxFeePerGas: 'U256', + gasLimit: 'U256', + action: 'EthereumTransactionTransactionAction', + value: 'U256', + input: 'Bytes', + accessList: 'Vec', + oddYParity: 'bool', + r: 'H256', + s: 'H256' + }, + /** + * Lookup354: pallet_evm_contract_helpers::pallet::Call + **/ + PalletEvmContractHelpersCall: { _enum: { - note_preimage: { - bytes: 'Bytes', - }, - unnote_preimage: { - _alias: { - hash_: 'hash', - }, - hash_: 'H256', - }, - request_preimage: { - _alias: { - hash_: 'hash', - }, - hash_: 'H256', - }, - unrequest_preimage: { - _alias: { - hash_: 'hash', - }, - hash_: 'H256' + migrate_from_self_sponsoring: { + addresses: 'Vec' } } }, /** - * Lookup304: cumulus_pallet_xcmp_queue::pallet::Call + * Lookup356: pallet_evm_migration::pallet::Call **/ - CumulusPalletXcmpQueueCall: { + PalletEvmMigrationCall: { _enum: { - service_overweight: { - index: 'u64', - weightLimit: 'SpWeightsWeightV2Weight', - }, - suspend_xcm_execution: 'Null', - resume_xcm_execution: 'Null', - update_suspend_threshold: { - _alias: { - new_: 'new', - }, - new_: 'u32', + begin: { + address: 'H160', }, - update_drop_threshold: { - _alias: { - new_: 'new', - }, - new_: 'u32', + set_data: { + address: 'H160', + data: 'Vec<(H256,H256)>', }, - update_resume_threshold: { - _alias: { - new_: 'new', - }, - new_: 'u32', + finish: { + address: 'H160', + code: 'Bytes', }, - update_threshold_weight: { - _alias: { - new_: 'new', - }, - new_: 'SpWeightsWeightV2Weight', + insert_eth_logs: { + logs: 'Vec', }, - update_weight_restrict_decay: { - _alias: { - new_: 'new', - }, - new_: 'SpWeightsWeightV2Weight', + insert_events: { + events: 'Vec', }, - update_xcmp_max_individual_weight: { + remove_rmrk_data: 'Null' + } + }, + /** + * Lookup360: ethereum::log::Log + **/ + EthereumLog: { + address: 'H160', + topics: 'Vec', + data: 'Bytes' + }, + /** + * Lookup361: pallet_maintenance::pallet::Call + **/ + PalletMaintenanceCall: { + _enum: { + enable: 'Null', + disable: 'Null', + execute_preimage: { _alias: { - new_: 'new', + hash_: 'hash', }, - new_: 'SpWeightsWeightV2Weight' + hash_: 'H256', + weightBound: 'SpWeightsWeightV2Weight' } } }, /** - * Lookup305: pallet_xcm::pallet::Call + * Lookup362: pallet_test_utils::pallet::Call **/ - PalletXcmCall: { + PalletTestUtilsCall: { _enum: { - send: { - dest: 'XcmVersionedMultiLocation', - message: 'XcmVersionedXcm', - }, - teleport_assets: { - dest: 'XcmVersionedMultiLocation', - beneficiary: 'XcmVersionedMultiLocation', - assets: 'XcmVersionedMultiAssets', - feeAssetItem: 'u32', - }, - reserve_transfer_assets: { - dest: 'XcmVersionedMultiLocation', - beneficiary: 'XcmVersionedMultiLocation', - assets: 'XcmVersionedMultiAssets', - feeAssetItem: 'u32', - }, - execute: { - message: 'XcmVersionedXcm', - maxWeight: 'SpWeightsWeightV2Weight', - }, - force_xcm_version: { - location: 'XcmV3MultiLocation', - xcmVersion: 'u32', - }, - force_default_xcm_version: { - maybeXcmVersion: 'Option', - }, - force_subscribe_version_notify: { - location: 'XcmVersionedMultiLocation', - }, - force_unsubscribe_version_notify: { - location: 'XcmVersionedMultiLocation', - }, - limited_reserve_transfer_assets: { - dest: 'XcmVersionedMultiLocation', - beneficiary: 'XcmVersionedMultiLocation', - assets: 'XcmVersionedMultiAssets', - feeAssetItem: 'u32', - weightLimit: 'XcmV3WeightLimit', + enable: 'Null', + set_test_value: { + value: 'u32', }, - limited_teleport_assets: { - dest: 'XcmVersionedMultiLocation', - beneficiary: 'XcmVersionedMultiLocation', - assets: 'XcmVersionedMultiAssets', - feeAssetItem: 'u32', - weightLimit: 'XcmV3WeightLimit', + set_test_value_and_rollback: { + value: 'u32', }, - force_suspension: { - suspended: 'bool' + inc_test_value: 'Null', + just_take_fee: 'Null', + batch_all: { + calls: 'Vec' } } }, /** - * Lookup306: xcm::VersionedXcm + * Lookup365: pallet_scheduler::pallet::Event **/ - XcmVersionedXcm: { + PalletSchedulerEvent: { _enum: { - __Unused0: 'Null', - __Unused1: 'Null', - V2: 'XcmV2Xcm', - V3: 'XcmV3Xcm' + Scheduled: { + when: 'u32', + index: 'u32', + }, + Canceled: { + when: 'u32', + index: 'u32', + }, + Dispatched: { + task: '(u32,u32)', + id: 'Option<[u8;32]>', + result: 'Result', + }, + CallUnavailable: { + task: '(u32,u32)', + id: 'Option<[u8;32]>', + }, + PeriodicFailed: { + task: '(u32,u32)', + id: 'Option<[u8;32]>', + }, + PermanentlyOverweight: { + task: '(u32,u32)', + id: 'Option<[u8;32]>' + } } }, /** - * Lookup307: xcm::v2::Xcm - **/ - XcmV2Xcm: 'Vec', - /** - * Lookup309: xcm::v2::Instruction + * Lookup366: cumulus_pallet_xcmp_queue::pallet::Event **/ - XcmV2Instruction: { + CumulusPalletXcmpQueueEvent: { _enum: { - WithdrawAsset: 'XcmV2MultiassetMultiAssets', - ReserveAssetDeposited: 'XcmV2MultiassetMultiAssets', - ReceiveTeleportedAsset: 'XcmV2MultiassetMultiAssets', - QueryResponse: { - queryId: 'Compact', - response: 'XcmV2Response', - maxWeight: 'Compact', - }, - TransferAsset: { - assets: 'XcmV2MultiassetMultiAssets', - beneficiary: 'XcmV2MultiLocation', - }, - TransferReserveAsset: { - assets: 'XcmV2MultiassetMultiAssets', - dest: 'XcmV2MultiLocation', - xcm: 'XcmV2Xcm', - }, - Transact: { - originType: 'XcmV2OriginKind', - requireWeightAtMost: 'Compact', - call: 'XcmDoubleEncoded', - }, - HrmpNewChannelOpenRequest: { - sender: 'Compact', - maxMessageSize: 'Compact', - maxCapacity: 'Compact', - }, - HrmpChannelAccepted: { - recipient: 'Compact', - }, - HrmpChannelClosing: { - initiator: 'Compact', - sender: 'Compact', - recipient: 'Compact', - }, - ClearOrigin: 'Null', - DescendOrigin: 'XcmV2MultilocationJunctions', - ReportError: { - queryId: 'Compact', - dest: 'XcmV2MultiLocation', - maxResponseWeight: 'Compact', - }, - DepositAsset: { - assets: 'XcmV2MultiassetMultiAssetFilter', - maxAssets: 'Compact', - beneficiary: 'XcmV2MultiLocation', - }, - DepositReserveAsset: { - assets: 'XcmV2MultiassetMultiAssetFilter', - maxAssets: 'Compact', - dest: 'XcmV2MultiLocation', - xcm: 'XcmV2Xcm', - }, - ExchangeAsset: { - give: 'XcmV2MultiassetMultiAssetFilter', - receive: 'XcmV2MultiassetMultiAssets', - }, - InitiateReserveWithdraw: { - assets: 'XcmV2MultiassetMultiAssetFilter', - reserve: 'XcmV2MultiLocation', - xcm: 'XcmV2Xcm', + Success: { + messageHash: 'Option<[u8;32]>', + weight: 'SpWeightsWeightV2Weight', }, - InitiateTeleport: { - assets: 'XcmV2MultiassetMultiAssetFilter', - dest: 'XcmV2MultiLocation', - xcm: 'XcmV2Xcm', + Fail: { + messageHash: 'Option<[u8;32]>', + error: 'XcmV3TraitsError', + weight: 'SpWeightsWeightV2Weight', }, - QueryHolding: { - queryId: 'Compact', - dest: 'XcmV2MultiLocation', - assets: 'XcmV2MultiassetMultiAssetFilter', - maxResponseWeight: 'Compact', + BadVersion: { + messageHash: 'Option<[u8;32]>', }, - BuyExecution: { - fees: 'XcmV2MultiAsset', - weightLimit: 'XcmV2WeightLimit', + BadFormat: { + messageHash: 'Option<[u8;32]>', }, - RefundSurplus: 'Null', - SetErrorHandler: 'XcmV2Xcm', - SetAppendix: 'XcmV2Xcm', - ClearError: 'Null', - ClaimAsset: { - assets: 'XcmV2MultiassetMultiAssets', - ticket: 'XcmV2MultiLocation', + XcmpMessageSent: { + messageHash: 'Option<[u8;32]>', }, - Trap: 'Compact', - SubscribeVersion: { - queryId: 'Compact', - maxResponseWeight: 'Compact', + OverweightEnqueued: { + sender: 'u32', + sentAt: 'u32', + index: 'u64', + required: 'SpWeightsWeightV2Weight', }, - UnsubscribeVersion: 'Null' + OverweightServiced: { + index: 'u64', + used: 'SpWeightsWeightV2Weight' + } } }, /** - * Lookup310: xcm::v2::Response + * Lookup367: pallet_xcm::pallet::Event **/ - XcmV2Response: { + PalletXcmEvent: { _enum: { - Null: 'Null', - Assets: 'XcmV2MultiassetMultiAssets', - ExecutionResult: 'Option<(u32,XcmV2TraitsError)>', - Version: 'u32' + Attempted: 'XcmV3TraitsOutcome', + Sent: '(XcmV3MultiLocation,XcmV3MultiLocation,XcmV3Xcm)', + UnexpectedResponse: '(XcmV3MultiLocation,u64)', + ResponseReady: '(u64,XcmV3Response)', + Notified: '(u64,u8,u8)', + NotifyOverweight: '(u64,u8,u8,SpWeightsWeightV2Weight,SpWeightsWeightV2Weight)', + NotifyDispatchError: '(u64,u8,u8)', + NotifyDecodeFailed: '(u64,u8,u8)', + InvalidResponder: '(XcmV3MultiLocation,u64,Option)', + InvalidResponderVersion: '(XcmV3MultiLocation,u64)', + ResponseTaken: 'u64', + AssetsTrapped: '(H256,XcmV3MultiLocation,XcmVersionedMultiAssets)', + VersionChangeNotified: '(XcmV3MultiLocation,u32,XcmV3MultiassetMultiAssets)', + SupportedVersionChanged: '(XcmV3MultiLocation,u32)', + NotifyTargetSendFail: '(XcmV3MultiLocation,u64,XcmV3TraitsError)', + NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)', + InvalidQuerierVersion: '(XcmV3MultiLocation,u64)', + InvalidQuerier: '(XcmV3MultiLocation,u64,XcmV3MultiLocation,Option)', + VersionNotifyStarted: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)', + VersionNotifyRequested: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)', + VersionNotifyUnrequested: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)', + FeesPaid: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)', + AssetsClaimed: '(H256,XcmV3MultiLocation,XcmVersionedMultiAssets)' } }, /** - * Lookup313: xcm::v2::traits::Error + * Lookup368: xcm::v3::traits::Outcome **/ - XcmV2TraitsError: { + XcmV3TraitsOutcome: { _enum: { - Overflow: 'Null', - Unimplemented: 'Null', - UntrustedReserveLocation: 'Null', - UntrustedTeleportLocation: 'Null', - MultiLocationFull: 'Null', - MultiLocationNotInvertible: 'Null', - BadOrigin: 'Null', - InvalidLocation: 'Null', - AssetNotFound: 'Null', - FailedToTransactAsset: 'Null', - NotWithdrawable: 'Null', - LocationCannotHold: 'Null', - ExceedsMaxMessageSize: 'Null', - DestinationUnsupported: 'Null', - Transport: 'Null', - Unroutable: 'Null', - UnknownClaim: 'Null', - FailedToDecode: 'Null', - MaxWeightInvalid: 'Null', - NotHoldingFees: 'Null', - TooExpensive: 'Null', - Trap: 'u64', - UnhandledXcmVersion: 'Null', - WeightLimitReached: 'u64', - Barrier: 'Null', - WeightNotComputable: 'Null' + Complete: 'SpWeightsWeightV2Weight', + Incomplete: '(SpWeightsWeightV2Weight,XcmV3TraitsError)', + Error: 'XcmV3TraitsError' } }, /** - * Lookup314: xcm::v2::multiasset::MultiAssetFilter + * Lookup369: cumulus_pallet_xcm::pallet::Event **/ - XcmV2MultiassetMultiAssetFilter: { + CumulusPalletXcmEvent: { _enum: { - Definite: 'XcmV2MultiassetMultiAssets', - Wild: 'XcmV2MultiassetWildMultiAsset' + InvalidFormat: '[u8;32]', + UnsupportedVersion: '[u8;32]', + ExecutedDownward: '([u8;32],XcmV3TraitsOutcome)' } }, /** - * Lookup315: xcm::v2::multiasset::WildMultiAsset + * Lookup370: cumulus_pallet_dmp_queue::pallet::Event **/ - XcmV2MultiassetWildMultiAsset: { + CumulusPalletDmpQueueEvent: { _enum: { - All: 'Null', - AllOf: { - id: 'XcmV2MultiassetAssetId', - fun: 'XcmV2MultiassetWildFungibility' + InvalidFormat: { + messageId: '[u8;32]', + }, + UnsupportedVersion: { + messageId: '[u8;32]', + }, + ExecutedDownward: { + messageId: '[u8;32]', + outcome: 'XcmV3TraitsOutcome', + }, + WeightExhausted: { + messageId: '[u8;32]', + remainingWeight: 'SpWeightsWeightV2Weight', + requiredWeight: 'SpWeightsWeightV2Weight', + }, + OverweightEnqueued: { + messageId: '[u8;32]', + overweightIndex: 'u64', + requiredWeight: 'SpWeightsWeightV2Weight', + }, + OverweightServiced: { + overweightIndex: 'u64', + weightUsed: 'SpWeightsWeightV2Weight', + }, + MaxMessagesExhausted: { + messageId: '[u8;32]' + } + } + }, + /** + * Lookup371: pallet_configuration::pallet::Event + **/ + PalletConfigurationEvent: { + _enum: { + NewDesiredCollators: { + desiredCollators: 'Option', + }, + NewCollatorLicenseBond: { + bondCost: 'Option', + }, + NewCollatorKickThreshold: { + lengthInBlocks: 'Option' } } }, /** - * Lookup316: xcm::v2::multiasset::WildFungibility - **/ - XcmV2MultiassetWildFungibility: { - _enum: ['Fungible', 'NonFungible'] - }, - /** - * Lookup317: xcm::v2::WeightLimit + * Lookup372: pallet_common::pallet::Event + **/ + PalletCommonEvent: { + _enum: { + CollectionCreated: '(u32,u8,AccountId32)', + CollectionDestroyed: 'u32', + ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)', + ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)', + Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)', + Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)', + ApprovedForAll: '(u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,bool)', + CollectionPropertySet: '(u32,Bytes)', + CollectionPropertyDeleted: '(u32,Bytes)', + TokenPropertySet: '(u32,u32,Bytes)', + TokenPropertyDeleted: '(u32,u32,Bytes)', + PropertyPermissionSet: '(u32,Bytes)', + AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)', + AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)', + CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)', + CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)', + CollectionLimitSet: 'u32', + CollectionOwnerChanged: '(u32,AccountId32)', + CollectionPermissionSet: 'u32', + CollectionSponsorSet: '(u32,AccountId32)', + SponsorshipConfirmed: '(u32,AccountId32)', + CollectionSponsorRemoved: 'u32' + } + }, + /** + * Lookup373: pallet_structure::pallet::Event **/ - XcmV2WeightLimit: { + PalletStructureEvent: { _enum: { - Unlimited: 'Null', - Limited: 'Compact' + Executed: 'Result' } }, /** - * Lookup326: cumulus_pallet_xcm::pallet::Call - **/ - CumulusPalletXcmCall: 'Null', - /** - * Lookup327: cumulus_pallet_dmp_queue::pallet::Call + * Lookup374: pallet_app_promotion::pallet::Event **/ - CumulusPalletDmpQueueCall: { + PalletAppPromotionEvent: { _enum: { - service_overweight: { - index: 'u64', - weightLimit: 'SpWeightsWeightV2Weight' - } + StakingRecalculation: '(AccountId32,u128,u128)', + Stake: '(AccountId32,u128)', + Unstake: '(AccountId32,u128)', + SetAdmin: 'AccountId32' } }, /** - * Lookup328: pallet_inflation::pallet::Call + * Lookup375: pallet_foreign_assets::module::Event **/ - PalletInflationCall: { + PalletForeignAssetsModuleEvent: { _enum: { - start_inflation: { - inflationStartRelayBlock: 'u32' + ForeignAssetRegistered: { + assetId: 'u32', + assetAddress: 'XcmV3MultiLocation', + metadata: 'PalletForeignAssetsModuleAssetMetadata', + }, + ForeignAssetUpdated: { + assetId: 'u32', + assetAddress: 'XcmV3MultiLocation', + metadata: 'PalletForeignAssetsModuleAssetMetadata', + }, + AssetRegistered: { + assetId: 'PalletForeignAssetsAssetIds', + metadata: 'PalletForeignAssetsModuleAssetMetadata', + }, + AssetUpdated: { + assetId: 'PalletForeignAssetsAssetIds', + metadata: 'PalletForeignAssetsModuleAssetMetadata' } } }, /** - * Lookup329: pallet_unique::pallet::Call + * Lookup376: pallet_evm::pallet::Event **/ - PalletUniqueCall: { + PalletEvmEvent: { _enum: { - create_collection: { - collectionName: 'Vec', - collectionDescription: 'Vec', - tokenPrefix: 'Bytes', - mode: 'UpDataStructsCollectionMode', - }, - create_collection_ex: { - data: 'UpDataStructsCreateCollectionData', - }, - destroy_collection: { - collectionId: 'u32', - }, - add_to_allow_list: { - collectionId: 'u32', - address: 'PalletEvmAccountBasicCrossAccountIdRepr', - }, - remove_from_allow_list: { - collectionId: 'u32', - address: 'PalletEvmAccountBasicCrossAccountIdRepr', - }, - change_collection_owner: { - collectionId: 'u32', - newOwner: 'AccountId32', - }, - add_collection_admin: { - collectionId: 'u32', - newAdminId: 'PalletEvmAccountBasicCrossAccountIdRepr', - }, - remove_collection_admin: { - collectionId: 'u32', - accountId: 'PalletEvmAccountBasicCrossAccountIdRepr', - }, - set_collection_sponsor: { - collectionId: 'u32', - newSponsor: 'AccountId32', - }, - confirm_sponsorship: { - collectionId: 'u32', - }, - remove_collection_sponsor: { - collectionId: 'u32', - }, - create_item: { - collectionId: 'u32', - owner: 'PalletEvmAccountBasicCrossAccountIdRepr', - data: 'UpDataStructsCreateItemData', - }, - create_multiple_items: { - collectionId: 'u32', - owner: 'PalletEvmAccountBasicCrossAccountIdRepr', - itemsData: 'Vec', - }, - set_collection_properties: { - collectionId: 'u32', - properties: 'Vec', - }, - delete_collection_properties: { - collectionId: 'u32', - propertyKeys: 'Vec', - }, - set_token_properties: { - collectionId: 'u32', - tokenId: 'u32', - properties: 'Vec', - }, - delete_token_properties: { - collectionId: 'u32', - tokenId: 'u32', - propertyKeys: 'Vec', - }, - set_token_property_permissions: { - collectionId: 'u32', - propertyPermissions: 'Vec', - }, - create_multiple_items_ex: { - collectionId: 'u32', - data: 'UpDataStructsCreateItemExData', - }, - set_transfers_enabled_flag: { - collectionId: 'u32', - value: 'bool', - }, - burn_item: { - collectionId: 'u32', - itemId: 'u32', - value: 'u128', - }, - burn_from: { - collectionId: 'u32', - from: 'PalletEvmAccountBasicCrossAccountIdRepr', - itemId: 'u32', - value: 'u128', - }, - transfer: { - recipient: 'PalletEvmAccountBasicCrossAccountIdRepr', - collectionId: 'u32', - itemId: 'u32', - value: 'u128', - }, - approve: { - spender: 'PalletEvmAccountBasicCrossAccountIdRepr', - collectionId: 'u32', - itemId: 'u32', - amount: 'u128', - }, - approve_from: { - from: 'PalletEvmAccountBasicCrossAccountIdRepr', - to: 'PalletEvmAccountBasicCrossAccountIdRepr', - collectionId: 'u32', - itemId: 'u32', - amount: 'u128', - }, - transfer_from: { - from: 'PalletEvmAccountBasicCrossAccountIdRepr', - recipient: 'PalletEvmAccountBasicCrossAccountIdRepr', - collectionId: 'u32', - itemId: 'u32', - value: 'u128', - }, - set_collection_limits: { - collectionId: 'u32', - newLimit: 'UpDataStructsCollectionLimits', - }, - set_collection_permissions: { - collectionId: 'u32', - newPermission: 'UpDataStructsCollectionPermissions', + Log: { + log: 'EthereumLog', }, - repartition: { - collectionId: 'u32', - tokenId: 'u32', - amount: 'u128', + Created: { + address: 'H160', }, - set_allowance_for_all: { - collectionId: 'u32', - operator: 'PalletEvmAccountBasicCrossAccountIdRepr', - approve: 'bool', + CreatedFailed: { + address: 'H160', }, - force_repair_collection: { - collectionId: 'u32', + Executed: { + address: 'H160', }, - force_repair_item: { - collectionId: 'u32', - itemId: 'u32' + ExecutedFailed: { + address: 'H160' } } }, /** - * Lookup334: up_data_structs::CollectionMode + * Lookup377: pallet_ethereum::pallet::Event **/ - UpDataStructsCollectionMode: { + PalletEthereumEvent: { _enum: { - NFT: 'Null', - Fungible: 'u8', - ReFungible: 'Null' + Executed: { + from: 'H160', + to: 'H160', + transactionHash: 'H256', + exitReason: 'EvmCoreErrorExitReason', + extraData: 'Bytes' + } } }, /** - * Lookup335: up_data_structs::CreateCollectionData> - **/ - UpDataStructsCreateCollectionData: { - mode: 'UpDataStructsCollectionMode', - access: 'Option', - name: 'Vec', - description: 'Vec', - tokenPrefix: 'Bytes', - limits: 'Option', - permissions: 'Option', - tokenPropertyPermissions: 'Vec', - properties: 'Vec', - adminList: 'Vec', - pendingSponsor: 'Option', - flags: '[u8;1]' - }, - /** - * Lookup337: up_data_structs::AccessMode - **/ - UpDataStructsAccessMode: { - _enum: ['Normal', 'AllowList'] - }, - /** - * Lookup339: up_data_structs::CollectionLimits + * Lookup378: evm_core::error::ExitReason **/ - UpDataStructsCollectionLimits: { - accountTokenOwnershipLimit: 'Option', - sponsoredDataSize: 'Option', - sponsoredDataRateLimit: 'Option', - tokenLimit: 'Option', - sponsorTransferTimeout: 'Option', - sponsorApproveTimeout: 'Option', - ownerCanTransfer: 'Option', - ownerCanDestroy: 'Option', - transfersEnabled: 'Option' + EvmCoreErrorExitReason: { + _enum: { + Succeed: 'EvmCoreErrorExitSucceed', + Error: 'EvmCoreErrorExitError', + Revert: 'EvmCoreErrorExitRevert', + Fatal: 'EvmCoreErrorExitFatal' + } }, /** - * Lookup341: up_data_structs::SponsoringRateLimit + * Lookup379: evm_core::error::ExitSucceed **/ - UpDataStructsSponsoringRateLimit: { + EvmCoreErrorExitSucceed: { + _enum: ['Stopped', 'Returned', 'Suicided'] + }, + /** + * Lookup380: evm_core::error::ExitError + **/ + EvmCoreErrorExitError: { _enum: { - SponsoringDisabled: 'Null', - Blocks: 'u32' + StackUnderflow: 'Null', + StackOverflow: 'Null', + InvalidJump: 'Null', + InvalidRange: 'Null', + DesignatedInvalid: 'Null', + CallTooDeep: 'Null', + CreateCollision: 'Null', + CreateContractLimit: 'Null', + OutOfOffset: 'Null', + OutOfGas: 'Null', + OutOfFund: 'Null', + PCUnderflow: 'Null', + CreateEmpty: 'Null', + Other: 'Text', + MaxNonce: 'Null', + InvalidCode: 'u8' } }, /** - * Lookup344: up_data_structs::CollectionPermissions + * Lookup384: evm_core::error::ExitRevert **/ - UpDataStructsCollectionPermissions: { - access: 'Option', - mintMode: 'Option', - nesting: 'Option' + EvmCoreErrorExitRevert: { + _enum: ['Reverted'] }, /** - * Lookup346: up_data_structs::NestingPermissions + * Lookup385: evm_core::error::ExitFatal **/ - UpDataStructsNestingPermissions: { - tokenOwner: 'bool', - collectionAdmin: 'bool', - restricted: 'Option' + EvmCoreErrorExitFatal: { + _enum: { + NotSupported: 'Null', + UnhandledInterrupt: 'Null', + CallErrorAsFatal: 'EvmCoreErrorExitError', + Other: 'Text' + } }, /** - * Lookup348: up_data_structs::OwnerRestrictedSet + * Lookup386: pallet_evm_contract_helpers::pallet::Event **/ - UpDataStructsOwnerRestrictedSet: 'BTreeSet', + PalletEvmContractHelpersEvent: { + _enum: { + ContractSponsorSet: '(H160,AccountId32)', + ContractSponsorshipConfirmed: '(H160,AccountId32)', + ContractSponsorRemoved: 'H160' + } + }, /** - * Lookup353: up_data_structs::PropertyKeyPermission + * Lookup387: pallet_evm_migration::pallet::Event **/ - UpDataStructsPropertyKeyPermission: { - key: 'Bytes', - permission: 'UpDataStructsPropertyPermission' + PalletEvmMigrationEvent: { + _enum: ['TestEvent'] }, /** - * Lookup354: up_data_structs::PropertyPermission + * Lookup388: pallet_maintenance::pallet::Event **/ - UpDataStructsPropertyPermission: { - mutable: 'bool', - collectionAdmin: 'bool', - tokenOwner: 'bool' + PalletMaintenanceEvent: { + _enum: ['MaintenanceEnabled', 'MaintenanceDisabled'] }, /** - * Lookup357: up_data_structs::Property + * Lookup389: pallet_test_utils::pallet::Event **/ - UpDataStructsProperty: { - key: 'Bytes', - value: 'Bytes' + PalletTestUtilsEvent: { + _enum: ['ValueIsSet', 'ShouldRollback', 'BatchCompleted'] }, /** - * Lookup362: up_data_structs::CreateItemData + * Lookup390: frame_system::Phase **/ - UpDataStructsCreateItemData: { + FrameSystemPhase: { _enum: { - NFT: 'UpDataStructsCreateNftData', - Fungible: 'UpDataStructsCreateFungibleData', - ReFungible: 'UpDataStructsCreateReFungibleData' + ApplyExtrinsic: 'u32', + Finalization: 'Null', + Initialization: 'Null' } }, /** - * Lookup363: up_data_structs::CreateNftData + * Lookup392: frame_system::LastRuntimeUpgradeInfo **/ - UpDataStructsCreateNftData: { - properties: 'Vec' + FrameSystemLastRuntimeUpgradeInfo: { + specVersion: 'Compact', + specName: 'Text' }, /** - * Lookup364: up_data_structs::CreateFungibleData + * Lookup393: frame_system::limits::BlockWeights **/ - UpDataStructsCreateFungibleData: { - value: 'u128' + FrameSystemLimitsBlockWeights: { + baseBlock: 'SpWeightsWeightV2Weight', + maxBlock: 'SpWeightsWeightV2Weight', + perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass' }, /** - * Lookup365: up_data_structs::CreateReFungibleData + * Lookup394: frame_support::dispatch::PerDispatchClass **/ - UpDataStructsCreateReFungibleData: { - pieces: 'u128', - properties: 'Vec' + FrameSupportDispatchPerDispatchClassWeightsPerClass: { + normal: 'FrameSystemLimitsWeightsPerClass', + operational: 'FrameSystemLimitsWeightsPerClass', + mandatory: 'FrameSystemLimitsWeightsPerClass' }, /** - * Lookup368: up_data_structs::CreateItemExData> + * Lookup395: frame_system::limits::WeightsPerClass **/ - UpDataStructsCreateItemExData: { - _enum: { - NFT: 'Vec', - Fungible: 'BTreeMap', - RefungibleMultipleItems: 'Vec', - RefungibleMultipleOwners: 'UpDataStructsCreateRefungibleExMultipleOwners' - } + FrameSystemLimitsWeightsPerClass: { + baseExtrinsic: 'SpWeightsWeightV2Weight', + maxExtrinsic: 'Option', + maxTotal: 'Option', + reserved: 'Option' }, /** - * Lookup370: up_data_structs::CreateNftExData> + * Lookup397: frame_system::limits::BlockLength **/ - UpDataStructsCreateNftExData: { - properties: 'Vec', - owner: 'PalletEvmAccountBasicCrossAccountIdRepr' + FrameSystemLimitsBlockLength: { + max: 'FrameSupportDispatchPerDispatchClassU32' }, /** - * Lookup377: up_data_structs::CreateRefungibleExSingleOwner> + * Lookup398: frame_support::dispatch::PerDispatchClass **/ - UpDataStructsCreateRefungibleExSingleOwner: { - user: 'PalletEvmAccountBasicCrossAccountIdRepr', - pieces: 'u128', - properties: 'Vec' + FrameSupportDispatchPerDispatchClassU32: { + normal: 'u32', + operational: 'u32', + mandatory: 'u32' }, /** - * Lookup379: up_data_structs::CreateRefungibleExMultipleOwners> + * Lookup399: sp_weights::RuntimeDbWeight **/ - UpDataStructsCreateRefungibleExMultipleOwners: { - users: 'BTreeMap', - properties: 'Vec' + SpWeightsRuntimeDbWeight: { + read: 'u64', + write: 'u64' }, /** - * Lookup380: pallet_configuration::pallet::Call + * Lookup400: sp_version::RuntimeVersion **/ - PalletConfigurationCall: { - _enum: { - set_weight_to_fee_coefficient_override: { - coeff: 'Option', - }, - set_min_gas_price_override: { - coeff: 'Option', - }, - __Unused2: 'Null', - set_app_promotion_configuration_override: { - configuration: 'PalletConfigurationAppPromotionConfiguration', - }, - set_collator_selection_desired_collators: { - max: 'Option', - }, - set_collator_selection_license_bond: { - amount: 'Option', - }, - set_collator_selection_kick_threshold: { - threshold: 'Option' - } - } + SpVersionRuntimeVersion: { + specName: 'Text', + implName: 'Text', + authoringVersion: 'u32', + specVersion: 'u32', + implVersion: 'u32', + apis: 'Vec<([u8;8],u32)>', + transactionVersion: 'u32', + stateVersion: 'u8' }, /** - * Lookup382: pallet_configuration::AppPromotionConfiguration + * Lookup404: frame_system::pallet::Error **/ - PalletConfigurationAppPromotionConfiguration: { - recalculationInterval: 'Option', - pendingInterval: 'Option', - intervalIncome: 'Option', - maxStakersPerCalculation: 'Option' + FrameSystemError: { + _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered'] }, /** - * Lookup386: pallet_structure::pallet::Call - **/ - PalletStructureCall: 'Null', - /** - * Lookup387: pallet_app_promotion::pallet::Call + * Lookup406: polkadot_primitives::v4::UpgradeRestriction **/ - PalletAppPromotionCall: { - _enum: { - set_admin_address: { - admin: 'PalletEvmAccountBasicCrossAccountIdRepr', - }, - stake: { - amount: 'u128', - }, - unstake_all: 'Null', - sponsor_collection: { - collectionId: 'u32', - }, - stop_sponsoring_collection: { - collectionId: 'u32', - }, - sponsor_contract: { - contractId: 'H160', - }, - stop_sponsoring_contract: { - contractId: 'H160', - }, - payout_stakers: { - stakersNumber: 'Option', - }, - unstake_partial: { - amount: 'u128', - }, - force_unstake: { - pendingBlocks: 'Vec' - } - } + PolkadotPrimitivesV4UpgradeRestriction: { + _enum: ['Present'] }, /** - * Lookup388: pallet_foreign_assets::module::Call + * Lookup407: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot **/ - PalletForeignAssetsModuleCall: { - _enum: { - register_foreign_asset: { - owner: 'AccountId32', - location: 'XcmVersionedMultiLocation', - metadata: 'PalletForeignAssetsModuleAssetMetadata', - }, - update_foreign_asset: { - foreignAssetId: 'u32', - location: 'XcmVersionedMultiLocation', - metadata: 'PalletForeignAssetsModuleAssetMetadata' - } - } + CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: { + dmqMqcHead: 'H256', + relayDispatchQueueSize: 'CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize', + ingressChannels: 'Vec<(u32,PolkadotPrimitivesV4AbridgedHrmpChannel)>', + egressChannels: 'Vec<(u32,PolkadotPrimitivesV4AbridgedHrmpChannel)>' }, /** - * Lookup389: pallet_evm::pallet::Call + * Lookup408: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispachQueueSize **/ - PalletEvmCall: { - _enum: { - withdraw: { - address: 'H160', - value: 'u128', - }, - call: { - source: 'H160', - target: 'H160', - input: 'Bytes', - value: 'U256', - gasLimit: 'u64', - maxFeePerGas: 'U256', - maxPriorityFeePerGas: 'Option', - nonce: 'Option', - accessList: 'Vec<(H160,Vec)>', - }, - create: { - source: 'H160', - init: 'Bytes', - value: 'U256', - gasLimit: 'u64', - maxFeePerGas: 'U256', - maxPriorityFeePerGas: 'Option', - nonce: 'Option', - accessList: 'Vec<(H160,Vec)>', - }, - create2: { - source: 'H160', - init: 'Bytes', - salt: 'H256', - value: 'U256', - gasLimit: 'u64', - maxFeePerGas: 'U256', - maxPriorityFeePerGas: 'Option', - nonce: 'Option', - accessList: 'Vec<(H160,Vec)>' - } - } + CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize: { + remainingCount: 'u32', + remainingSize: 'u32' }, /** - * Lookup395: pallet_ethereum::pallet::Call + * Lookup411: polkadot_primitives::v4::AbridgedHrmpChannel **/ - PalletEthereumCall: { - _enum: { - transact: { - transaction: 'EthereumTransactionTransactionV2' - } - } + PolkadotPrimitivesV4AbridgedHrmpChannel: { + maxCapacity: 'u32', + maxTotalSize: 'u32', + maxMessageSize: 'u32', + msgCount: 'u32', + totalSize: 'u32', + mqcHead: 'Option' }, /** - * Lookup396: ethereum::transaction::TransactionV2 + * Lookup412: polkadot_primitives::v4::AbridgedHostConfiguration **/ - EthereumTransactionTransactionV2: { - _enum: { - Legacy: 'EthereumTransactionLegacyTransaction', - EIP2930: 'EthereumTransactionEip2930Transaction', - EIP1559: 'EthereumTransactionEip1559Transaction' - } + PolkadotPrimitivesV4AbridgedHostConfiguration: { + maxCodeSize: 'u32', + maxHeadDataSize: 'u32', + maxUpwardQueueCount: 'u32', + maxUpwardQueueSize: 'u32', + maxUpwardMessageSize: 'u32', + maxUpwardMessageNumPerCandidate: 'u32', + hrmpMaxMessageNumPerCandidate: 'u32', + validationUpgradeCooldown: 'u32', + validationUpgradeDelay: 'u32' }, /** - * Lookup397: ethereum::transaction::LegacyTransaction + * Lookup418: polkadot_core_primitives::OutboundHrmpMessage **/ - EthereumTransactionLegacyTransaction: { - nonce: 'U256', - gasPrice: 'U256', - gasLimit: 'U256', - action: 'EthereumTransactionTransactionAction', - value: 'U256', - input: 'Bytes', - signature: 'EthereumTransactionTransactionSignature' + PolkadotCorePrimitivesOutboundHrmpMessage: { + recipient: 'u32', + data: 'Bytes' }, /** - * Lookup398: ethereum::transaction::TransactionAction + * Lookup419: cumulus_pallet_parachain_system::CodeUpgradeAuthorization **/ - EthereumTransactionTransactionAction: { - _enum: { - Call: 'H160', - Create: 'Null' - } + CumulusPalletParachainSystemCodeUpgradeAuthorization: { + codeHash: 'H256', + checkVersion: 'bool' }, /** - * Lookup399: ethereum::transaction::TransactionSignature + * Lookup420: cumulus_pallet_parachain_system::pallet::Error **/ - EthereumTransactionTransactionSignature: { - v: 'u64', - r: 'H256', - s: 'H256' + CumulusPalletParachainSystemError: { + _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized'] }, /** - * Lookup401: ethereum::transaction::EIP2930Transaction + * Lookup422: pallet_collator_selection::pallet::Error **/ - EthereumTransactionEip2930Transaction: { - chainId: 'u64', - nonce: 'U256', - gasPrice: 'U256', - gasLimit: 'U256', - action: 'EthereumTransactionTransactionAction', - value: 'U256', - input: 'Bytes', - accessList: 'Vec', - oddYParity: 'bool', - r: 'H256', - s: 'H256' + PalletCollatorSelectionError: { + _enum: ['TooManyCandidates', 'Unknown', 'Permission', 'AlreadyHoldingLicense', 'NoLicense', 'AlreadyCandidate', 'NotCandidate', 'TooManyInvulnerables', 'TooFewInvulnerables', 'AlreadyInvulnerable', 'NotInvulnerable', 'NoAssociatedValidatorId', 'ValidatorNotRegistered'] }, /** - * Lookup403: ethereum::transaction::AccessListItem + * Lookup426: sp_core::crypto::KeyTypeId **/ - EthereumTransactionAccessListItem: { - address: 'H160', - storageKeys: 'Vec' + SpCoreCryptoKeyTypeId: '[u8;4]', + /** + * Lookup427: pallet_session::pallet::Error + **/ + PalletSessionError: { + _enum: ['InvalidProof', 'NoAssociatedValidatorId', 'DuplicatedKey', 'NoKeys', 'NoAccount'] }, /** - * Lookup404: ethereum::transaction::EIP1559Transaction + * Lookup432: pallet_balances::types::BalanceLock **/ - EthereumTransactionEip1559Transaction: { - chainId: 'u64', - nonce: 'U256', - maxPriorityFeePerGas: 'U256', - maxFeePerGas: 'U256', - gasLimit: 'U256', - action: 'EthereumTransactionTransactionAction', - value: 'U256', - input: 'Bytes', - accessList: 'Vec', - oddYParity: 'bool', - r: 'H256', - s: 'H256' + PalletBalancesBalanceLock: { + id: '[u8;8]', + amount: 'u128', + reasons: 'PalletBalancesReasons' }, /** - * Lookup405: pallet_evm_contract_helpers::pallet::Call + * Lookup433: pallet_balances::types::Reasons **/ - PalletEvmContractHelpersCall: { - _enum: { - migrate_from_self_sponsoring: { - addresses: 'Vec' - } - } + PalletBalancesReasons: { + _enum: ['Fee', 'Misc', 'All'] }, /** - * Lookup407: pallet_evm_migration::pallet::Call + * Lookup436: pallet_balances::types::ReserveData **/ - PalletEvmMigrationCall: { - _enum: { - begin: { - address: 'H160', - }, - set_data: { - address: 'H160', - data: 'Vec<(H256,H256)>', - }, - finish: { - address: 'H160', - code: 'Bytes', - }, - insert_eth_logs: { - logs: 'Vec', - }, - insert_events: { - events: 'Vec', - }, - remove_rmrk_data: 'Null' - } + PalletBalancesReserveData: { + id: '[u8;16]', + amount: 'u128' }, /** - * Lookup411: pallet_maintenance::pallet::Call + * Lookup439: pallet_balances::types::IdAmount **/ - PalletMaintenanceCall: { - _enum: { - enable: 'Null', - disable: 'Null', - execute_preimage: { - _alias: { - hash_: 'hash', - }, - hash_: 'H256', - weightBound: 'SpWeightsWeightV2Weight' - } - } + PalletBalancesIdAmount: { + id: '[u8;16]', + amount: 'u128' }, /** - * Lookup412: pallet_test_utils::pallet::Call + * Lookup442: pallet_balances::pallet::Error **/ - PalletTestUtilsCall: { - _enum: { - enable: 'Null', - set_test_value: { - value: 'u32', - }, - set_test_value_and_rollback: { - value: 'u32', - }, - inc_test_value: 'Null', - just_take_fee: 'Null', - batch_all: { - calls: 'Vec' - } - } + PalletBalancesError: { + _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'Expendability', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves', 'TooManyHolds', 'TooManyFreezes'] + }, + /** + * Lookup444: pallet_transaction_payment::Releases + **/ + PalletTransactionPaymentReleases: { + _enum: ['V1Ancient', 'V2'] + }, + /** + * Lookup445: pallet_treasury::Proposal + **/ + PalletTreasuryProposal: { + proposer: 'AccountId32', + value: 'u128', + beneficiary: 'AccountId32', + bond: 'u128' + }, + /** + * Lookup448: frame_support::PalletId + **/ + FrameSupportPalletId: '[u8;8]', + /** + * Lookup449: pallet_treasury::pallet::Error + **/ + PalletTreasuryError: { + _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved'] }, /** - * Lookup414: pallet_sudo::pallet::Error + * Lookup450: pallet_sudo::pallet::Error **/ PalletSudoError: { _enum: ['RequireSudo'] }, /** - * Lookup416: orml_vesting::module::Error + * Lookup452: orml_vesting::module::Error **/ OrmlVestingModuleError: { _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded'] }, /** - * Lookup417: orml_xtokens::module::Error + * Lookup453: orml_xtokens::module::Error **/ OrmlXtokensModuleError: { _enum: ['AssetHasNoReserve', 'NotCrossChainTransfer', 'InvalidDest', 'NotCrossChainTransferableCurrency', 'UnweighableMessage', 'XcmExecutionFailed', 'CannotReanchor', 'InvalidAncestry', 'InvalidAsset', 'DestinationNotInvertible', 'BadVersion', 'DistinctReserveForAssetAndFee', 'ZeroFee', 'ZeroAmount', 'TooManyAssetsBeingSent', 'AssetIndexNonExistent', 'FeeNotEnough', 'NotSupportedMultiLocation', 'MinXcmFeeNotDefined'] }, /** - * Lookup420: orml_tokens::BalanceLock + * Lookup456: orml_tokens::BalanceLock **/ OrmlTokensBalanceLock: { id: '[u8;8]', amount: 'u128' }, /** - * Lookup422: orml_tokens::AccountData + * Lookup458: orml_tokens::AccountData **/ OrmlTokensAccountData: { free: 'u128', @@ -3380,20 +4128,20 @@ export default { frozen: 'u128' }, /** - * Lookup424: orml_tokens::ReserveData + * Lookup460: orml_tokens::ReserveData **/ OrmlTokensReserveData: { id: 'Null', amount: 'u128' }, /** - * Lookup426: orml_tokens::module::Error + * Lookup462: orml_tokens::module::Error **/ OrmlTokensModuleError: { _enum: ['BalanceTooLow', 'AmountIntoBalanceFailed', 'LiquidityRestrictions', 'MaxLocksExceeded', 'KeepAlive', 'ExistentialDeposit', 'DeadAccount', 'TooManyReserves'] }, /** - * Lookup431: pallet_identity::types::RegistrarInfo + * Lookup467: pallet_identity::types::RegistrarInfo **/ PalletIdentityRegistrarInfo: { account: 'AccountId32', @@ -3401,13 +4149,13 @@ export default { fields: 'PalletIdentityBitFlags' }, /** - * Lookup433: pallet_identity::pallet::Error + * Lookup469: pallet_identity::pallet::Error **/ PalletIdentityError: { _enum: ['TooManySubAccounts', 'NotFound', 'NotNamed', 'EmptyIndex', 'FeeChanged', 'NoIdentity', 'StickyJudgement', 'JudgementGiven', 'InvalidJudgement', 'InvalidIndex', 'InvalidTarget', 'TooManyFields', 'TooManyRegistrars', 'AlreadyClaimed', 'NotSub', 'NotOwned', 'JudgementForDifferentIdentity', 'JudgementPaymentFailed'] }, /** - * Lookup434: pallet_preimage::RequestStatus + * Lookup470: pallet_preimage::RequestStatus **/ PalletPreimageRequestStatus: { _enum: { @@ -3423,13 +4171,215 @@ export default { } }, /** - * Lookup439: pallet_preimage::pallet::Error + * Lookup475: pallet_preimage::pallet::Error **/ PalletPreimageError: { _enum: ['TooBig', 'AlreadyNoted', 'NotAuthorized', 'NotNoted', 'Requested', 'NotRequested'] }, /** - * Lookup441: cumulus_pallet_xcmp_queue::InboundChannelDetails + * Lookup481: pallet_democracy::types::ReferendumInfo, Balance> + **/ + PalletDemocracyReferendumInfo: { + _enum: { + Ongoing: 'PalletDemocracyReferendumStatus', + Finished: { + approved: 'bool', + end: 'u32' + } + } + }, + /** + * Lookup482: pallet_democracy::types::ReferendumStatus, Balance> + **/ + PalletDemocracyReferendumStatus: { + end: 'u32', + proposal: 'FrameSupportPreimagesBounded', + threshold: 'PalletDemocracyVoteThreshold', + delay: 'u32', + tally: 'PalletDemocracyTally' + }, + /** + * Lookup483: pallet_democracy::types::Tally + **/ + PalletDemocracyTally: { + ayes: 'u128', + nays: 'u128', + turnout: 'u128' + }, + /** + * Lookup484: pallet_democracy::vote::Voting + **/ + PalletDemocracyVoteVoting: { + _enum: { + Direct: { + votes: 'Vec<(u32,PalletDemocracyVoteAccountVote)>', + delegations: 'PalletDemocracyDelegations', + prior: 'PalletDemocracyVotePriorLock', + }, + Delegating: { + balance: 'u128', + target: 'AccountId32', + conviction: 'PalletDemocracyConviction', + delegations: 'PalletDemocracyDelegations', + prior: 'PalletDemocracyVotePriorLock' + } + } + }, + /** + * Lookup488: pallet_democracy::types::Delegations + **/ + PalletDemocracyDelegations: { + votes: 'u128', + capital: 'u128' + }, + /** + * Lookup489: pallet_democracy::vote::PriorLock + **/ + PalletDemocracyVotePriorLock: '(u32,u128)', + /** + * Lookup492: pallet_democracy::pallet::Error + **/ + PalletDemocracyError: { + _enum: ['ValueLow', 'ProposalMissing', 'AlreadyCanceled', 'DuplicateProposal', 'ProposalBlacklisted', 'NotSimpleMajority', 'InvalidHash', 'NoProposal', 'AlreadyVetoed', 'ReferendumInvalid', 'NoneWaiting', 'NotVoter', 'NoPermission', 'AlreadyDelegating', 'InsufficientFunds', 'NotDelegating', 'VotesExist', 'InstantNotAllowed', 'Nonsense', 'WrongUpperBound', 'MaxVotesReached', 'TooMany', 'VotingPeriodLow', 'PreimageNotExist'] + }, + /** + * Lookup494: pallet_collective::Votes + **/ + PalletCollectiveVotes: { + index: 'u32', + threshold: 'u32', + ayes: 'Vec', + nays: 'Vec', + end: 'u32' + }, + /** + * Lookup495: pallet_collective::pallet::Error + **/ + PalletCollectiveError: { + _enum: ['NotMember', 'DuplicateProposal', 'ProposalMissing', 'WrongIndex', 'DuplicateVote', 'AlreadyInitialized', 'TooEarly', 'TooManyProposals', 'WrongProposalWeight', 'WrongProposalLength'] + }, + /** + * Lookup499: pallet_membership::pallet::Error + **/ + PalletMembershipError: { + _enum: ['AlreadyMember', 'NotMember', 'TooManyMembers'] + }, + /** + * Lookup502: pallet_ranked_collective::MemberRecord + **/ + PalletRankedCollectiveMemberRecord: { + rank: 'u16' + }, + /** + * Lookup507: pallet_ranked_collective::pallet::Error + **/ + PalletRankedCollectiveError: { + _enum: ['AlreadyMember', 'NotMember', 'NotPolling', 'Ongoing', 'NoneRemaining', 'Corruption', 'RankTooLow', 'InvalidWitness', 'NoPermission'] + }, + /** + * Lookup508: pallet_referenda::types::ReferendumInfo, Balance, pallet_ranked_collective::Tally, sp_core::crypto::AccountId32, ScheduleAddress> + **/ + PalletReferendaReferendumInfo: { + _enum: { + Ongoing: 'PalletReferendaReferendumStatus', + Approved: '(u32,Option,Option)', + Rejected: '(u32,Option,Option)', + Cancelled: '(u32,Option,Option)', + TimedOut: '(u32,Option,Option)', + Killed: 'u32' + } + }, + /** + * Lookup509: pallet_referenda::types::ReferendumStatus, Balance, pallet_ranked_collective::Tally, sp_core::crypto::AccountId32, ScheduleAddress> + **/ + PalletReferendaReferendumStatus: { + track: 'u16', + origin: 'QuartzRuntimeOriginCaller', + proposal: 'FrameSupportPreimagesBounded', + enactment: 'FrameSupportScheduleDispatchTime', + submitted: 'u32', + submissionDeposit: 'PalletReferendaDeposit', + decisionDeposit: 'Option', + deciding: 'Option', + tally: 'PalletRankedCollectiveTally', + inQueue: 'bool', + alarm: 'Option<(u32,(u32,u32))>' + }, + /** + * Lookup510: pallet_referenda::types::Deposit + **/ + PalletReferendaDeposit: { + who: 'AccountId32', + amount: 'u128' + }, + /** + * Lookup513: pallet_referenda::types::DecidingStatus + **/ + PalletReferendaDecidingStatus: { + since: 'u32', + confirming: 'Option' + }, + /** + * Lookup519: pallet_referenda::types::TrackInfo + **/ + PalletReferendaTrackInfo: { + name: 'Text', + maxDeciding: 'u32', + decisionDeposit: 'u128', + preparePeriod: 'u32', + decisionPeriod: 'u32', + confirmPeriod: 'u32', + minEnactmentPeriod: 'u32', + minApproval: 'PalletReferendaCurve', + minSupport: 'PalletReferendaCurve' + }, + /** + * Lookup520: pallet_referenda::types::Curve + **/ + PalletReferendaCurve: { + _enum: { + LinearDecreasing: { + length: 'Perbill', + floor: 'Perbill', + ceil: 'Perbill', + }, + SteppedDecreasing: { + begin: 'Perbill', + end: 'Perbill', + step: 'Perbill', + period: 'Perbill', + }, + Reciprocal: { + factor: 'i64', + xOffset: 'i64', + yOffset: 'i64' + } + } + }, + /** + * Lookup523: pallet_referenda::pallet::Error + **/ + PalletReferendaError: { + _enum: ['NotOngoing', 'HasDeposit', 'BadTrack', 'Full', 'QueueEmpty', 'BadReferendum', 'NothingToDo', 'NoTrack', 'Unfinished', 'NoPermission', 'NoDeposit', 'BadStatus', 'PreimageNotExist'] + }, + /** + * Lookup526: pallet_scheduler::Scheduled, BlockNumber, quartz_runtime::OriginCaller, sp_core::crypto::AccountId32> + **/ + PalletSchedulerScheduled: { + maybeId: 'Option<[u8;32]>', + priority: 'u8', + call: 'FrameSupportPreimagesBounded', + maybePeriodic: 'Option<(u32,u32)>', + origin: 'QuartzRuntimeOriginCaller' + }, + /** + * Lookup528: pallet_scheduler::pallet::Error + **/ + PalletSchedulerError: { + _enum: ['FailedToSchedule', 'NotFound', 'TargetBlockNumberInPast', 'RescheduleNoChange', 'Named'] + }, + /** + * Lookup530: cumulus_pallet_xcmp_queue::InboundChannelDetails **/ CumulusPalletXcmpQueueInboundChannelDetails: { sender: 'u32', @@ -3437,19 +4387,19 @@ export default { messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>' }, /** - * Lookup442: cumulus_pallet_xcmp_queue::InboundState + * Lookup531: cumulus_pallet_xcmp_queue::InboundState **/ CumulusPalletXcmpQueueInboundState: { _enum: ['Ok', 'Suspended'] }, /** - * Lookup445: polkadot_parachain::primitives::XcmpMessageFormat + * Lookup534: polkadot_parachain::primitives::XcmpMessageFormat **/ PolkadotParachainPrimitivesXcmpMessageFormat: { _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals'] }, /** - * Lookup448: cumulus_pallet_xcmp_queue::OutboundChannelDetails + * Lookup537: cumulus_pallet_xcmp_queue::OutboundChannelDetails **/ CumulusPalletXcmpQueueOutboundChannelDetails: { recipient: 'u32', @@ -3459,13 +4409,13 @@ export default { lastIndex: 'u16' }, /** - * Lookup449: cumulus_pallet_xcmp_queue::OutboundState + * Lookup538: cumulus_pallet_xcmp_queue::OutboundState **/ CumulusPalletXcmpQueueOutboundState: { _enum: ['Ok', 'Suspended'] }, /** - * Lookup451: cumulus_pallet_xcmp_queue::QueueConfigData + * Lookup540: cumulus_pallet_xcmp_queue::QueueConfigData **/ CumulusPalletXcmpQueueQueueConfigData: { suspendThreshold: 'u32', @@ -3476,13 +4426,13 @@ export default { xcmpMaxIndividualWeight: 'SpWeightsWeightV2Weight' }, /** - * Lookup453: cumulus_pallet_xcmp_queue::pallet::Error + * Lookup542: cumulus_pallet_xcmp_queue::pallet::Error **/ CumulusPalletXcmpQueueError: { _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit'] }, /** - * Lookup454: pallet_xcm::pallet::QueryStatus + * Lookup543: pallet_xcm::pallet::QueryStatus **/ PalletXcmQueryStatus: { _enum: { @@ -3503,7 +4453,7 @@ export default { } }, /** - * Lookup458: xcm::VersionedResponse + * Lookup547: xcm::VersionedResponse **/ XcmVersionedResponse: { _enum: { @@ -3514,7 +4464,7 @@ export default { } }, /** - * Lookup464: pallet_xcm::pallet::VersionMigrationStage + * Lookup553: pallet_xcm::pallet::VersionMigrationStage **/ PalletXcmVersionMigrationStage: { _enum: { @@ -3525,7 +4475,7 @@ export default { } }, /** - * Lookup467: xcm::VersionedAssetId + * Lookup556: xcm::VersionedAssetId **/ XcmVersionedAssetId: { _enum: { @@ -3536,7 +4486,7 @@ export default { } }, /** - * Lookup468: pallet_xcm::pallet::RemoteLockedFungibleRecord + * Lookup557: pallet_xcm::pallet::RemoteLockedFungibleRecord **/ PalletXcmRemoteLockedFungibleRecord: { amount: 'u128', @@ -3545,23 +4495,23 @@ export default { consumers: 'Vec<(Null,u128)>' }, /** - * Lookup475: pallet_xcm::pallet::Error + * Lookup564: pallet_xcm::pallet::Error **/ PalletXcmError: { _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed', 'InvalidAsset', 'LowBalance', 'TooManyLocks', 'AccountNotSovereign', 'FeesNotMet', 'LockNotFound', 'InUse'] }, /** - * Lookup476: cumulus_pallet_xcm::pallet::Error + * Lookup565: cumulus_pallet_xcm::pallet::Error **/ CumulusPalletXcmError: 'Null', /** - * Lookup477: cumulus_pallet_dmp_queue::ConfigData + * Lookup566: cumulus_pallet_dmp_queue::ConfigData **/ CumulusPalletDmpQueueConfigData: { maxIndividual: 'SpWeightsWeightV2Weight' }, /** - * Lookup478: cumulus_pallet_dmp_queue::PageIndexData + * Lookup567: cumulus_pallet_dmp_queue::PageIndexData **/ CumulusPalletDmpQueuePageIndexData: { beginUsed: 'u32', @@ -3569,25 +4519,25 @@ export default { overweightCount: 'u64' }, /** - * Lookup481: cumulus_pallet_dmp_queue::pallet::Error + * Lookup570: cumulus_pallet_dmp_queue::pallet::Error **/ CumulusPalletDmpQueueError: { _enum: ['Unknown', 'OverLimit'] }, /** - * Lookup485: pallet_unique::pallet::Error + * Lookup574: pallet_unique::pallet::Error **/ PalletUniqueError: { _enum: ['CollectionDecimalPointLimitExceeded', 'EmptyArgument', 'RepartitionCalledOnNonRefungibleCollection'] }, /** - * Lookup486: pallet_configuration::pallet::Error + * Lookup575: pallet_configuration::pallet::Error **/ PalletConfigurationError: { _enum: ['InconsistentConfiguration'] }, /** - * Lookup487: up_data_structs::Collection + * Lookup576: up_data_structs::Collection **/ UpDataStructsCollection: { owner: 'AccountId32', @@ -3601,7 +4551,7 @@ export default { flags: '[u8;1]' }, /** - * Lookup488: up_data_structs::SponsorshipState + * Lookup577: up_data_structs::SponsorshipState **/ UpDataStructsSponsorshipStateAccountId32: { _enum: { @@ -3611,7 +4561,7 @@ export default { } }, /** - * Lookup489: up_data_structs::Properties + * Lookup578: up_data_structs::Properties **/ UpDataStructsProperties: { map: 'UpDataStructsPropertiesMapBoundedVec', @@ -3619,15 +4569,15 @@ export default { reserved: 'u32' }, /** - * Lookup490: up_data_structs::PropertiesMap> + * Lookup579: up_data_structs::PropertiesMap> **/ UpDataStructsPropertiesMapBoundedVec: 'BTreeMap', /** - * Lookup495: up_data_structs::PropertiesMap + * Lookup584: up_data_structs::PropertiesMap **/ UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap', /** - * Lookup502: up_data_structs::CollectionStats + * Lookup591: up_data_structs::CollectionStats **/ UpDataStructsCollectionStats: { created: 'u32', @@ -3635,18 +4585,18 @@ export default { alive: 'u32' }, /** - * Lookup503: up_data_structs::TokenChild + * Lookup592: up_data_structs::TokenChild **/ UpDataStructsTokenChild: { token: 'u32', collection: 'u32' }, /** - * Lookup504: PhantomType::up_data_structs + * Lookup593: PhantomType::up_data_structs **/ PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,UpPovEstimateRpcPovInfo);0]', /** - * Lookup506: up_data_structs::TokenData> + * Lookup595: up_data_structs::TokenData> **/ UpDataStructsTokenData: { properties: 'Vec', @@ -3654,7 +4604,7 @@ export default { pieces: 'u128' }, /** - * Lookup507: up_data_structs::RpcCollection + * Lookup596: up_data_structs::RpcCollection **/ UpDataStructsRpcCollection: { owner: 'AccountId32', @@ -3671,14 +4621,14 @@ export default { flags: 'UpDataStructsRpcCollectionFlags' }, /** - * Lookup508: up_data_structs::RpcCollectionFlags + * Lookup597: up_data_structs::RpcCollectionFlags **/ UpDataStructsRpcCollectionFlags: { foreign: 'bool', erc721metadata: 'bool' }, /** - * Lookup509: up_pov_estimate_rpc::PovInfo + * Lookup598: up_pov_estimate_rpc::PovInfo **/ UpPovEstimateRpcPovInfo: { proofSize: 'u64', @@ -3688,7 +4638,7 @@ export default { keyValues: 'Vec' }, /** - * Lookup512: sp_runtime::transaction_validity::TransactionValidityError + * Lookup601: sp_runtime::transaction_validity::TransactionValidityError **/ SpRuntimeTransactionValidityTransactionValidityError: { _enum: { @@ -3697,7 +4647,7 @@ export default { } }, /** - * Lookup513: sp_runtime::transaction_validity::InvalidTransaction + * Lookup602: sp_runtime::transaction_validity::InvalidTransaction **/ SpRuntimeTransactionValidityInvalidTransaction: { _enum: { @@ -3715,7 +4665,7 @@ export default { } }, /** - * Lookup514: sp_runtime::transaction_validity::UnknownTransaction + * Lookup603: sp_runtime::transaction_validity::UnknownTransaction **/ SpRuntimeTransactionValidityUnknownTransaction: { _enum: { @@ -3725,68 +4675,68 @@ export default { } }, /** - * Lookup516: up_pov_estimate_rpc::TrieKeyValue + * Lookup605: up_pov_estimate_rpc::TrieKeyValue **/ UpPovEstimateRpcTrieKeyValue: { key: 'Bytes', value: 'Bytes' }, /** - * Lookup518: pallet_common::pallet::Error + * Lookup607: pallet_common::pallet::Error **/ PalletCommonError: { _enum: ['CollectionNotFound', 'MustBeTokenOwner', 'NoPermission', 'CantDestroyNotEmptyCollection', 'PublicMintingNotAllowed', 'AddressNotInAllowlist', 'CollectionNameLimitExceeded', 'CollectionDescriptionLimitExceeded', 'CollectionTokenPrefixLimitExceeded', 'TotalCollectionsLimitExceeded', 'CollectionAdminCountExceeded', 'CollectionLimitBoundsExceeded', 'OwnerPermissionsCantBeReverted', 'TransferNotAllowed', 'AccountTokenLimitExceeded', 'CollectionTokenLimitExceeded', 'MetadataFlagFrozen', 'TokenNotFound', 'TokenValueTooLow', 'ApprovedValueTooLow', 'CantApproveMoreThanOwned', 'AddressIsNotEthMirror', 'AddressIsZero', 'UnsupportedOperation', 'NotSufficientFounds', 'UserIsNotAllowedToNest', 'SourceCollectionIsNotAllowedToNest', 'CollectionFieldSizeExceeded', 'NoSpaceForProperty', 'PropertyLimitReached', 'PropertyKeyIsTooLong', 'InvalidCharacterInPropertyKey', 'EmptyPropertyKey', 'CollectionIsExternal', 'CollectionIsInternal', 'ConfirmSponsorshipFail', 'UserIsNotCollectionAdmin'] }, /** - * Lookup520: pallet_fungible::pallet::Error + * Lookup609: pallet_fungible::pallet::Error **/ PalletFungibleError: { _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed', 'SettingAllowanceForAllNotAllowed', 'FungibleTokensAreAlwaysValid'] }, /** - * Lookup525: pallet_refungible::pallet::Error + * Lookup614: pallet_refungible::pallet::Error **/ PalletRefungibleError: { _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed'] }, /** - * Lookup526: pallet_nonfungible::ItemData> + * Lookup615: pallet_nonfungible::ItemData> **/ PalletNonfungibleItemData: { owner: 'PalletEvmAccountBasicCrossAccountIdRepr' }, /** - * Lookup528: up_data_structs::PropertyScope + * Lookup617: up_data_structs::PropertyScope **/ UpDataStructsPropertyScope: { _enum: ['None', 'Rmrk'] }, /** - * Lookup531: pallet_nonfungible::pallet::Error + * Lookup620: pallet_nonfungible::pallet::Error **/ PalletNonfungibleError: { _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren'] }, /** - * Lookup532: pallet_structure::pallet::Error + * Lookup621: pallet_structure::pallet::Error **/ PalletStructureError: { _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound', 'CantNestTokenUnderCollection'] }, /** - * Lookup537: pallet_app_promotion::pallet::Error + * Lookup626: pallet_app_promotion::pallet::Error **/ PalletAppPromotionError: { _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'SponsorNotSet', 'InsufficientStakedBalance', 'InconsistencyState'] }, /** - * Lookup538: pallet_foreign_assets::module::Error + * Lookup627: pallet_foreign_assets::module::Error **/ PalletForeignAssetsModuleError: { _enum: ['BadLocation', 'MultiLocationExisted', 'AssetIdNotExists', 'AssetIdExisted'] }, /** - * Lookup539: pallet_evm::CodeMetadata + * Lookup628: pallet_evm::CodeMetadata **/ PalletEvmCodeMetadata: { _alias: { @@ -3797,13 +4747,13 @@ export default { hash_: 'H256' }, /** - * Lookup541: pallet_evm::pallet::Error + * Lookup630: pallet_evm::pallet::Error **/ PalletEvmError: { _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce', 'GasLimitTooLow', 'GasLimitTooHigh', 'Undefined', 'Reentrancy', 'TransactionMustComeFromEOA'] }, /** - * Lookup544: fp_rpc::TransactionStatus + * Lookup633: fp_rpc::TransactionStatus **/ FpRpcTransactionStatus: { transactionHash: 'H256', @@ -3815,11 +4765,11 @@ export default { logsBloom: 'EthbloomBloom' }, /** - * Lookup546: ethbloom::Bloom + * Lookup635: ethbloom::Bloom **/ EthbloomBloom: '[u8;256]', /** - * Lookup548: ethereum::receipt::ReceiptV3 + * Lookup637: ethereum::receipt::ReceiptV3 **/ EthereumReceiptReceiptV3: { _enum: { @@ -3829,7 +4779,7 @@ export default { } }, /** - * Lookup549: ethereum::receipt::EIP658ReceiptData + * Lookup638: ethereum::receipt::EIP658ReceiptData **/ EthereumReceiptEip658ReceiptData: { statusCode: 'u8', @@ -3838,7 +4788,7 @@ export default { logs: 'Vec' }, /** - * Lookup550: ethereum::block::Block + * Lookup639: ethereum::block::Block **/ EthereumBlock: { header: 'EthereumHeader', @@ -3846,7 +4796,7 @@ export default { ommers: 'Vec' }, /** - * Lookup551: ethereum::header::Header + * Lookup640: ethereum::header::Header **/ EthereumHeader: { parentHash: 'H256', @@ -3866,23 +4816,23 @@ export default { nonce: 'EthereumTypesHashH64' }, /** - * Lookup552: ethereum_types::hash::H64 + * Lookup641: ethereum_types::hash::H64 **/ EthereumTypesHashH64: '[u8;8]', /** - * Lookup557: pallet_ethereum::pallet::Error + * Lookup646: pallet_ethereum::pallet::Error **/ PalletEthereumError: { _enum: ['InvalidSignature', 'PreLogExists'] }, /** - * Lookup558: pallet_evm_coder_substrate::pallet::Error + * Lookup647: pallet_evm_coder_substrate::pallet::Error **/ PalletEvmCoderSubstrateError: { _enum: ['OutOfGas', 'OutOfFund'] }, /** - * Lookup559: up_data_structs::SponsorshipState> + * Lookup648: up_data_structs::SponsorshipState> **/ UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: { _enum: { @@ -3892,35 +4842,35 @@ export default { } }, /** - * Lookup560: pallet_evm_contract_helpers::SponsoringModeT + * Lookup649: pallet_evm_contract_helpers::SponsoringModeT **/ PalletEvmContractHelpersSponsoringModeT: { _enum: ['Disabled', 'Allowlisted', 'Generous'] }, /** - * Lookup566: pallet_evm_contract_helpers::pallet::Error + * Lookup655: pallet_evm_contract_helpers::pallet::Error **/ PalletEvmContractHelpersError: { _enum: ['NoPermission', 'NoPendingSponsor', 'TooManyMethodsHaveSponsoredLimit'] }, /** - * Lookup567: pallet_evm_migration::pallet::Error + * Lookup656: pallet_evm_migration::pallet::Error **/ PalletEvmMigrationError: { _enum: ['AccountNotEmpty', 'AccountIsNotMigrating', 'BadEvent'] }, /** - * Lookup568: pallet_maintenance::pallet::Error + * Lookup657: pallet_maintenance::pallet::Error **/ PalletMaintenanceError: 'Null', /** - * Lookup569: pallet_test_utils::pallet::Error + * Lookup658: pallet_test_utils::pallet::Error **/ PalletTestUtilsError: { _enum: ['TestPalletDisabled', 'TriggerRollback'] }, /** - * Lookup571: sp_runtime::MultiSignature + * Lookup660: sp_runtime::MultiSignature **/ SpRuntimeMultiSignature: { _enum: { @@ -3930,55 +4880,55 @@ export default { } }, /** - * Lookup572: sp_core::ed25519::Signature + * Lookup661: sp_core::ed25519::Signature **/ SpCoreEd25519Signature: '[u8;64]', /** - * Lookup574: sp_core::sr25519::Signature + * Lookup663: sp_core::sr25519::Signature **/ SpCoreSr25519Signature: '[u8;64]', /** - * Lookup575: sp_core::ecdsa::Signature + * Lookup664: sp_core::ecdsa::Signature **/ SpCoreEcdsaSignature: '[u8;65]', /** - * Lookup578: frame_system::extensions::check_spec_version::CheckSpecVersion + * Lookup667: frame_system::extensions::check_spec_version::CheckSpecVersion **/ FrameSystemExtensionsCheckSpecVersion: 'Null', /** - * Lookup579: frame_system::extensions::check_tx_version::CheckTxVersion + * Lookup668: frame_system::extensions::check_tx_version::CheckTxVersion **/ FrameSystemExtensionsCheckTxVersion: 'Null', /** - * Lookup580: frame_system::extensions::check_genesis::CheckGenesis + * Lookup669: frame_system::extensions::check_genesis::CheckGenesis **/ FrameSystemExtensionsCheckGenesis: 'Null', /** - * Lookup583: frame_system::extensions::check_nonce::CheckNonce + * Lookup672: frame_system::extensions::check_nonce::CheckNonce **/ FrameSystemExtensionsCheckNonce: 'Compact', /** - * Lookup584: frame_system::extensions::check_weight::CheckWeight + * Lookup673: frame_system::extensions::check_weight::CheckWeight **/ FrameSystemExtensionsCheckWeight: 'Null', /** - * Lookup585: opal_runtime::runtime_common::maintenance::CheckMaintenance + * Lookup674: quartz_runtime::runtime_common::maintenance::CheckMaintenance **/ - OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: 'Null', + QuartzRuntimeRuntimeCommonMaintenanceCheckMaintenance: 'Null', /** - * Lookup586: opal_runtime::runtime_common::identity::DisableIdentityCalls + * Lookup675: quartz_runtime::runtime_common::identity::DisableIdentityCalls **/ - OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls: 'Null', + QuartzRuntimeRuntimeCommonIdentityDisableIdentityCalls: 'Null', /** - * Lookup587: pallet_template_transaction_payment::ChargeTransactionPayment + * Lookup676: pallet_template_transaction_payment::ChargeTransactionPayment **/ PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact', /** - * Lookup588: opal_runtime::Runtime + * Lookup677: quartz_runtime::Runtime **/ - OpalRuntimeRuntime: 'Null', + QuartzRuntimeRuntime: 'Null', /** - * Lookup589: pallet_ethereum::FakeTransactionFinalizer + * Lookup678: pallet_ethereum::FakeTransactionFinalizer **/ PalletEthereumFakeTransactionFinalizer: 'Null' }; diff --git a/tests/src/interfaces/registry.ts b/tests/src/interfaces/registry.ts index d2659d05a8..aa7b8f3763 100644 --- a/tests/src/interfaces/registry.ts +++ b/tests/src/interfaces/registry.ts @@ -5,7 +5,7 @@ // this is required to allow for ambient/previous definitions import '@polkadot/types/types/registry'; -import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportPalletId, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OpalRuntimeRuntime, OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls, OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance, OpalRuntimeRuntimeCommonSessionKeys, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesIdAmount, PalletBalancesReasons, PalletBalancesReserveData, PalletCollatorSelectionCall, PalletCollatorSelectionError, PalletCollatorSelectionEvent, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletConfigurationEvent, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCodeMetadata, PalletEvmCoderSubstrateError, PalletEvmContractHelpersCall, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletIdentityBitFlags, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityIdentityField, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletRefungibleError, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletStateTrieMigrationCall, PalletStateTrieMigrationError, PalletStateTrieMigrationEvent, PalletStateTrieMigrationMigrationCompute, PalletStateTrieMigrationMigrationLimits, PalletStateTrieMigrationMigrationTask, PalletStateTrieMigrationProgress, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, ParachainInfoCall, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV4AbridgedHostConfiguration, PolkadotPrimitivesV4AbridgedHrmpChannel, PolkadotPrimitivesV4PersistedValidationData, PolkadotPrimitivesV4UpgradeRestriction, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionValidityInvalidTransaction, SpRuntimeTransactionValidityTransactionValidityError, SpRuntimeTransactionValidityUnknownTransaction, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo, UpPovEstimateRpcTrieKeyValue, XcmDoubleEncoded, XcmV2BodyId, XcmV2BodyPart, XcmV2Instruction, XcmV2Junction, XcmV2MultiAsset, XcmV2MultiLocation, XcmV2MultiassetAssetId, XcmV2MultiassetAssetInstance, XcmV2MultiassetFungibility, XcmV2MultiassetMultiAssetFilter, XcmV2MultiassetMultiAssets, XcmV2MultiassetWildFungibility, XcmV2MultiassetWildMultiAsset, XcmV2MultilocationJunctions, XcmV2NetworkId, XcmV2OriginKind, XcmV2Response, XcmV2TraitsError, XcmV2WeightLimit, XcmV2Xcm, XcmV3Instruction, XcmV3Junction, XcmV3JunctionBodyId, XcmV3JunctionBodyPart, XcmV3JunctionNetworkId, XcmV3Junctions, XcmV3MaybeErrorCode, XcmV3MultiAsset, XcmV3MultiLocation, XcmV3MultiassetAssetId, XcmV3MultiassetAssetInstance, XcmV3MultiassetFungibility, XcmV3MultiassetMultiAssetFilter, XcmV3MultiassetMultiAssets, XcmV3MultiassetWildFungibility, XcmV3MultiassetWildMultiAsset, XcmV3PalletInfo, XcmV3QueryResponseInfo, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3WeightLimit, XcmV3Xcm, XcmVersionedAssetId, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedResponse, XcmVersionedXcm } from '@polkadot/types/lookup'; +import type { CumulusPalletDmpQueueCall, CumulusPalletDmpQueueConfigData, CumulusPalletDmpQueueError, CumulusPalletDmpQueueEvent, CumulusPalletDmpQueuePageIndexData, CumulusPalletParachainSystemCall, CumulusPalletParachainSystemCodeUpgradeAuthorization, CumulusPalletParachainSystemError, CumulusPalletParachainSystemEvent, CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot, CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize, CumulusPalletXcmCall, CumulusPalletXcmError, CumulusPalletXcmEvent, CumulusPalletXcmOrigin, CumulusPalletXcmpQueueCall, CumulusPalletXcmpQueueError, CumulusPalletXcmpQueueEvent, CumulusPalletXcmpQueueInboundChannelDetails, CumulusPalletXcmpQueueInboundState, CumulusPalletXcmpQueueOutboundChannelDetails, CumulusPalletXcmpQueueOutboundState, CumulusPalletXcmpQueueQueueConfigData, CumulusPrimitivesParachainInherentParachainInherentData, EthbloomBloom, EthereumBlock, EthereumHeader, EthereumLog, EthereumReceiptEip658ReceiptData, EthereumReceiptReceiptV3, EthereumTransactionAccessListItem, EthereumTransactionEip1559Transaction, EthereumTransactionEip2930Transaction, EthereumTransactionLegacyTransaction, EthereumTransactionTransactionAction, EthereumTransactionTransactionSignature, EthereumTransactionTransactionV2, EthereumTypesHashH64, EvmCoreErrorExitError, EvmCoreErrorExitFatal, EvmCoreErrorExitReason, EvmCoreErrorExitRevert, EvmCoreErrorExitSucceed, FpRpcTransactionStatus, FrameSupportDispatchDispatchClass, FrameSupportDispatchDispatchInfo, FrameSupportDispatchPays, FrameSupportDispatchPerDispatchClassU32, FrameSupportDispatchPerDispatchClassWeight, FrameSupportDispatchPerDispatchClassWeightsPerClass, FrameSupportDispatchRawOrigin, FrameSupportPalletId, FrameSupportPreimagesBounded, FrameSupportScheduleDispatchTime, FrameSupportTokensMiscBalanceStatus, FrameSystemAccountInfo, FrameSystemCall, FrameSystemError, FrameSystemEvent, FrameSystemEventRecord, FrameSystemExtensionsCheckGenesis, FrameSystemExtensionsCheckNonce, FrameSystemExtensionsCheckSpecVersion, FrameSystemExtensionsCheckTxVersion, FrameSystemExtensionsCheckWeight, FrameSystemLastRuntimeUpgradeInfo, FrameSystemLimitsBlockLength, FrameSystemLimitsBlockWeights, FrameSystemLimitsWeightsPerClass, FrameSystemPhase, OrmlTokensAccountData, OrmlTokensBalanceLock, OrmlTokensModuleCall, OrmlTokensModuleError, OrmlTokensModuleEvent, OrmlTokensReserveData, OrmlVestingModuleCall, OrmlVestingModuleError, OrmlVestingModuleEvent, OrmlVestingVestingSchedule, OrmlXtokensModuleCall, OrmlXtokensModuleError, OrmlXtokensModuleEvent, PalletAppPromotionCall, PalletAppPromotionError, PalletAppPromotionEvent, PalletBalancesAccountData, PalletBalancesBalanceLock, PalletBalancesCall, PalletBalancesError, PalletBalancesEvent, PalletBalancesIdAmount, PalletBalancesReasons, PalletBalancesReserveData, PalletCollatorSelectionCall, PalletCollatorSelectionError, PalletCollatorSelectionEvent, PalletCollectiveCall, PalletCollectiveError, PalletCollectiveEvent, PalletCollectiveRawOrigin, PalletCollectiveVotes, PalletCommonError, PalletCommonEvent, PalletConfigurationAppPromotionConfiguration, PalletConfigurationCall, PalletConfigurationError, PalletConfigurationEvent, PalletDemocracyCall, PalletDemocracyConviction, PalletDemocracyDelegations, PalletDemocracyError, PalletDemocracyEvent, PalletDemocracyMetadataOwner, PalletDemocracyReferendumInfo, PalletDemocracyReferendumStatus, PalletDemocracyTally, PalletDemocracyVoteAccountVote, PalletDemocracyVotePriorLock, PalletDemocracyVoteThreshold, PalletDemocracyVoteVoting, PalletEthereumCall, PalletEthereumError, PalletEthereumEvent, PalletEthereumFakeTransactionFinalizer, PalletEthereumRawOrigin, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmCall, PalletEvmCodeMetadata, PalletEvmCoderSubstrateError, PalletEvmContractHelpersCall, PalletEvmContractHelpersError, PalletEvmContractHelpersEvent, PalletEvmContractHelpersSponsoringModeT, PalletEvmError, PalletEvmEvent, PalletEvmMigrationCall, PalletEvmMigrationError, PalletEvmMigrationEvent, PalletForeignAssetsAssetIds, PalletForeignAssetsModuleAssetMetadata, PalletForeignAssetsModuleCall, PalletForeignAssetsModuleError, PalletForeignAssetsModuleEvent, PalletForeignAssetsNativeCurrency, PalletFungibleError, PalletGovOriginsOrigin, PalletIdentityBitFlags, PalletIdentityCall, PalletIdentityError, PalletIdentityEvent, PalletIdentityIdentityField, PalletIdentityIdentityInfo, PalletIdentityJudgement, PalletIdentityRegistrarInfo, PalletIdentityRegistration, PalletInflationCall, PalletMaintenanceCall, PalletMaintenanceError, PalletMaintenanceEvent, PalletMembershipCall, PalletMembershipError, PalletMembershipEvent, PalletNonfungibleError, PalletNonfungibleItemData, PalletPreimageCall, PalletPreimageError, PalletPreimageEvent, PalletPreimageRequestStatus, PalletRankedCollectiveCall, PalletRankedCollectiveError, PalletRankedCollectiveEvent, PalletRankedCollectiveMemberRecord, PalletRankedCollectiveTally, PalletRankedCollectiveVoteRecord, PalletReferendaCall, PalletReferendaCurve, PalletReferendaDecidingStatus, PalletReferendaDeposit, PalletReferendaError, PalletReferendaEvent, PalletReferendaReferendumInfo, PalletReferendaReferendumStatus, PalletReferendaTrackInfo, PalletRefungibleError, PalletSchedulerCall, PalletSchedulerError, PalletSchedulerEvent, PalletSchedulerScheduled, PalletSessionCall, PalletSessionError, PalletSessionEvent, PalletStateTrieMigrationCall, PalletStateTrieMigrationError, PalletStateTrieMigrationEvent, PalletStateTrieMigrationMigrationCompute, PalletStateTrieMigrationMigrationLimits, PalletStateTrieMigrationMigrationTask, PalletStateTrieMigrationProgress, PalletStructureCall, PalletStructureError, PalletStructureEvent, PalletSudoCall, PalletSudoError, PalletSudoEvent, PalletTemplateTransactionPaymentChargeTransactionPayment, PalletTestUtilsCall, PalletTestUtilsError, PalletTestUtilsEvent, PalletTimestampCall, PalletTransactionPaymentEvent, PalletTransactionPaymentReleases, PalletTreasuryCall, PalletTreasuryError, PalletTreasuryEvent, PalletTreasuryProposal, PalletUniqueCall, PalletUniqueError, PalletXcmCall, PalletXcmError, PalletXcmEvent, PalletXcmOrigin, PalletXcmQueryStatus, PalletXcmRemoteLockedFungibleRecord, PalletXcmVersionMigrationStage, ParachainInfoCall, PhantomTypeUpDataStructs, PolkadotCorePrimitivesInboundDownwardMessage, PolkadotCorePrimitivesInboundHrmpMessage, PolkadotCorePrimitivesOutboundHrmpMessage, PolkadotParachainPrimitivesXcmpMessageFormat, PolkadotPrimitivesV4AbridgedHostConfiguration, PolkadotPrimitivesV4AbridgedHrmpChannel, PolkadotPrimitivesV4PersistedValidationData, PolkadotPrimitivesV4UpgradeRestriction, QuartzRuntimeOriginCaller, QuartzRuntimeRuntime, QuartzRuntimeRuntimeCommonIdentityDisableIdentityCalls, QuartzRuntimeRuntimeCommonMaintenanceCheckMaintenance, QuartzRuntimeRuntimeCommonSessionKeys, SpArithmeticArithmeticError, SpConsensusAuraSr25519AppSr25519Public, SpCoreCryptoKeyTypeId, SpCoreEcdsaSignature, SpCoreEd25519Signature, SpCoreSr25519Public, SpCoreSr25519Signature, SpCoreVoid, SpRuntimeDigest, SpRuntimeDigestDigestItem, SpRuntimeDispatchError, SpRuntimeModuleError, SpRuntimeMultiSignature, SpRuntimeTokenError, SpRuntimeTransactionValidityInvalidTransaction, SpRuntimeTransactionValidityTransactionValidityError, SpRuntimeTransactionValidityUnknownTransaction, SpRuntimeTransactionalError, SpTrieStorageProof, SpVersionRuntimeVersion, SpWeightsRuntimeDbWeight, SpWeightsWeightV2Weight, UpDataStructsAccessMode, UpDataStructsCollection, UpDataStructsCollectionLimits, UpDataStructsCollectionMode, UpDataStructsCollectionPermissions, UpDataStructsCollectionStats, UpDataStructsCreateCollectionData, UpDataStructsCreateFungibleData, UpDataStructsCreateItemData, UpDataStructsCreateItemExData, UpDataStructsCreateNftData, UpDataStructsCreateNftExData, UpDataStructsCreateReFungibleData, UpDataStructsCreateRefungibleExMultipleOwners, UpDataStructsCreateRefungibleExSingleOwner, UpDataStructsNestingPermissions, UpDataStructsOwnerRestrictedSet, UpDataStructsProperties, UpDataStructsPropertiesMapBoundedVec, UpDataStructsPropertiesMapPropertyPermission, UpDataStructsProperty, UpDataStructsPropertyKeyPermission, UpDataStructsPropertyPermission, UpDataStructsPropertyScope, UpDataStructsRpcCollection, UpDataStructsRpcCollectionFlags, UpDataStructsSponsoringRateLimit, UpDataStructsSponsorshipStateAccountId32, UpDataStructsSponsorshipStateBasicCrossAccountIdRepr, UpDataStructsTokenChild, UpDataStructsTokenData, UpPovEstimateRpcPovInfo, UpPovEstimateRpcTrieKeyValue, XcmDoubleEncoded, XcmV2BodyId, XcmV2BodyPart, XcmV2Instruction, XcmV2Junction, XcmV2MultiAsset, XcmV2MultiLocation, XcmV2MultiassetAssetId, XcmV2MultiassetAssetInstance, XcmV2MultiassetFungibility, XcmV2MultiassetMultiAssetFilter, XcmV2MultiassetMultiAssets, XcmV2MultiassetWildFungibility, XcmV2MultiassetWildMultiAsset, XcmV2MultilocationJunctions, XcmV2NetworkId, XcmV2OriginKind, XcmV2Response, XcmV2TraitsError, XcmV2WeightLimit, XcmV2Xcm, XcmV3Instruction, XcmV3Junction, XcmV3JunctionBodyId, XcmV3JunctionBodyPart, XcmV3JunctionNetworkId, XcmV3Junctions, XcmV3MaybeErrorCode, XcmV3MultiAsset, XcmV3MultiLocation, XcmV3MultiassetAssetId, XcmV3MultiassetAssetInstance, XcmV3MultiassetFungibility, XcmV3MultiassetMultiAssetFilter, XcmV3MultiassetMultiAssets, XcmV3MultiassetWildFungibility, XcmV3MultiassetWildMultiAsset, XcmV3PalletInfo, XcmV3QueryResponseInfo, XcmV3Response, XcmV3TraitsError, XcmV3TraitsOutcome, XcmV3WeightLimit, XcmV3Xcm, XcmVersionedAssetId, XcmVersionedMultiAsset, XcmVersionedMultiAssets, XcmVersionedMultiLocation, XcmVersionedResponse, XcmVersionedXcm } from '@polkadot/types/lookup'; declare module '@polkadot/types/types/registry' { interface InterfaceTypes { @@ -23,6 +23,7 @@ declare module '@polkadot/types/types/registry' { CumulusPalletXcmCall: CumulusPalletXcmCall; CumulusPalletXcmError: CumulusPalletXcmError; CumulusPalletXcmEvent: CumulusPalletXcmEvent; + CumulusPalletXcmOrigin: CumulusPalletXcmOrigin; CumulusPalletXcmpQueueCall: CumulusPalletXcmpQueueCall; CumulusPalletXcmpQueueError: CumulusPalletXcmpQueueError; CumulusPalletXcmpQueueEvent: CumulusPalletXcmpQueueEvent; @@ -58,7 +59,10 @@ declare module '@polkadot/types/types/registry' { FrameSupportDispatchPerDispatchClassU32: FrameSupportDispatchPerDispatchClassU32; FrameSupportDispatchPerDispatchClassWeight: FrameSupportDispatchPerDispatchClassWeight; FrameSupportDispatchPerDispatchClassWeightsPerClass: FrameSupportDispatchPerDispatchClassWeightsPerClass; + FrameSupportDispatchRawOrigin: FrameSupportDispatchRawOrigin; FrameSupportPalletId: FrameSupportPalletId; + FrameSupportPreimagesBounded: FrameSupportPreimagesBounded; + FrameSupportScheduleDispatchTime: FrameSupportScheduleDispatchTime; FrameSupportTokensMiscBalanceStatus: FrameSupportTokensMiscBalanceStatus; FrameSystemAccountInfo: FrameSystemAccountInfo; FrameSystemCall: FrameSystemCall; @@ -75,10 +79,6 @@ declare module '@polkadot/types/types/registry' { FrameSystemLimitsBlockWeights: FrameSystemLimitsBlockWeights; FrameSystemLimitsWeightsPerClass: FrameSystemLimitsWeightsPerClass; FrameSystemPhase: FrameSystemPhase; - OpalRuntimeRuntime: OpalRuntimeRuntime; - OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls: OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls; - OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance; - OpalRuntimeRuntimeCommonSessionKeys: OpalRuntimeRuntimeCommonSessionKeys; OrmlTokensAccountData: OrmlTokensAccountData; OrmlTokensBalanceLock: OrmlTokensBalanceLock; OrmlTokensModuleCall: OrmlTokensModuleCall; @@ -106,16 +106,35 @@ declare module '@polkadot/types/types/registry' { PalletCollatorSelectionCall: PalletCollatorSelectionCall; PalletCollatorSelectionError: PalletCollatorSelectionError; PalletCollatorSelectionEvent: PalletCollatorSelectionEvent; + PalletCollectiveCall: PalletCollectiveCall; + PalletCollectiveError: PalletCollectiveError; + PalletCollectiveEvent: PalletCollectiveEvent; + PalletCollectiveRawOrigin: PalletCollectiveRawOrigin; + PalletCollectiveVotes: PalletCollectiveVotes; PalletCommonError: PalletCommonError; PalletCommonEvent: PalletCommonEvent; PalletConfigurationAppPromotionConfiguration: PalletConfigurationAppPromotionConfiguration; PalletConfigurationCall: PalletConfigurationCall; PalletConfigurationError: PalletConfigurationError; PalletConfigurationEvent: PalletConfigurationEvent; + PalletDemocracyCall: PalletDemocracyCall; + PalletDemocracyConviction: PalletDemocracyConviction; + PalletDemocracyDelegations: PalletDemocracyDelegations; + PalletDemocracyError: PalletDemocracyError; + PalletDemocracyEvent: PalletDemocracyEvent; + PalletDemocracyMetadataOwner: PalletDemocracyMetadataOwner; + PalletDemocracyReferendumInfo: PalletDemocracyReferendumInfo; + PalletDemocracyReferendumStatus: PalletDemocracyReferendumStatus; + PalletDemocracyTally: PalletDemocracyTally; + PalletDemocracyVoteAccountVote: PalletDemocracyVoteAccountVote; + PalletDemocracyVotePriorLock: PalletDemocracyVotePriorLock; + PalletDemocracyVoteThreshold: PalletDemocracyVoteThreshold; + PalletDemocracyVoteVoting: PalletDemocracyVoteVoting; PalletEthereumCall: PalletEthereumCall; PalletEthereumError: PalletEthereumError; PalletEthereumEvent: PalletEthereumEvent; PalletEthereumFakeTransactionFinalizer: PalletEthereumFakeTransactionFinalizer; + PalletEthereumRawOrigin: PalletEthereumRawOrigin; PalletEvmAccountBasicCrossAccountIdRepr: PalletEvmAccountBasicCrossAccountIdRepr; PalletEvmCall: PalletEvmCall; PalletEvmCodeMetadata: PalletEvmCodeMetadata; @@ -136,6 +155,7 @@ declare module '@polkadot/types/types/registry' { PalletForeignAssetsModuleEvent: PalletForeignAssetsModuleEvent; PalletForeignAssetsNativeCurrency: PalletForeignAssetsNativeCurrency; PalletFungibleError: PalletFungibleError; + PalletGovOriginsOrigin: PalletGovOriginsOrigin; PalletIdentityBitFlags: PalletIdentityBitFlags; PalletIdentityCall: PalletIdentityCall; PalletIdentityError: PalletIdentityError; @@ -149,13 +169,35 @@ declare module '@polkadot/types/types/registry' { PalletMaintenanceCall: PalletMaintenanceCall; PalletMaintenanceError: PalletMaintenanceError; PalletMaintenanceEvent: PalletMaintenanceEvent; + PalletMembershipCall: PalletMembershipCall; + PalletMembershipError: PalletMembershipError; + PalletMembershipEvent: PalletMembershipEvent; PalletNonfungibleError: PalletNonfungibleError; PalletNonfungibleItemData: PalletNonfungibleItemData; PalletPreimageCall: PalletPreimageCall; PalletPreimageError: PalletPreimageError; PalletPreimageEvent: PalletPreimageEvent; PalletPreimageRequestStatus: PalletPreimageRequestStatus; + PalletRankedCollectiveCall: PalletRankedCollectiveCall; + PalletRankedCollectiveError: PalletRankedCollectiveError; + PalletRankedCollectiveEvent: PalletRankedCollectiveEvent; + PalletRankedCollectiveMemberRecord: PalletRankedCollectiveMemberRecord; + PalletRankedCollectiveTally: PalletRankedCollectiveTally; + PalletRankedCollectiveVoteRecord: PalletRankedCollectiveVoteRecord; + PalletReferendaCall: PalletReferendaCall; + PalletReferendaCurve: PalletReferendaCurve; + PalletReferendaDecidingStatus: PalletReferendaDecidingStatus; + PalletReferendaDeposit: PalletReferendaDeposit; + PalletReferendaError: PalletReferendaError; + PalletReferendaEvent: PalletReferendaEvent; + PalletReferendaReferendumInfo: PalletReferendaReferendumInfo; + PalletReferendaReferendumStatus: PalletReferendaReferendumStatus; + PalletReferendaTrackInfo: PalletReferendaTrackInfo; PalletRefungibleError: PalletRefungibleError; + PalletSchedulerCall: PalletSchedulerCall; + PalletSchedulerError: PalletSchedulerError; + PalletSchedulerEvent: PalletSchedulerEvent; + PalletSchedulerScheduled: PalletSchedulerScheduled; PalletSessionCall: PalletSessionCall; PalletSessionError: PalletSessionError; PalletSessionEvent: PalletSessionEvent; @@ -188,6 +230,7 @@ declare module '@polkadot/types/types/registry' { PalletXcmCall: PalletXcmCall; PalletXcmError: PalletXcmError; PalletXcmEvent: PalletXcmEvent; + PalletXcmOrigin: PalletXcmOrigin; PalletXcmQueryStatus: PalletXcmQueryStatus; PalletXcmRemoteLockedFungibleRecord: PalletXcmRemoteLockedFungibleRecord; PalletXcmVersionMigrationStage: PalletXcmVersionMigrationStage; @@ -201,6 +244,11 @@ declare module '@polkadot/types/types/registry' { PolkadotPrimitivesV4AbridgedHrmpChannel: PolkadotPrimitivesV4AbridgedHrmpChannel; PolkadotPrimitivesV4PersistedValidationData: PolkadotPrimitivesV4PersistedValidationData; PolkadotPrimitivesV4UpgradeRestriction: PolkadotPrimitivesV4UpgradeRestriction; + QuartzRuntimeOriginCaller: QuartzRuntimeOriginCaller; + QuartzRuntimeRuntime: QuartzRuntimeRuntime; + QuartzRuntimeRuntimeCommonIdentityDisableIdentityCalls: QuartzRuntimeRuntimeCommonIdentityDisableIdentityCalls; + QuartzRuntimeRuntimeCommonMaintenanceCheckMaintenance: QuartzRuntimeRuntimeCommonMaintenanceCheckMaintenance; + QuartzRuntimeRuntimeCommonSessionKeys: QuartzRuntimeRuntimeCommonSessionKeys; SpArithmeticArithmeticError: SpArithmeticArithmeticError; SpConsensusAuraSr25519AppSr25519Public: SpConsensusAuraSr25519AppSr25519Public; SpCoreCryptoKeyTypeId: SpCoreCryptoKeyTypeId; @@ -208,6 +256,7 @@ declare module '@polkadot/types/types/registry' { SpCoreEd25519Signature: SpCoreEd25519Signature; SpCoreSr25519Public: SpCoreSr25519Public; SpCoreSr25519Signature: SpCoreSr25519Signature; + SpCoreVoid: SpCoreVoid; SpRuntimeDigest: SpRuntimeDigest; SpRuntimeDigestDigestItem: SpRuntimeDigestDigestItem; SpRuntimeDispatchError: SpRuntimeDispatchError; diff --git a/tests/src/interfaces/types-lookup.ts b/tests/src/interfaces/types-lookup.ts index 78d87732bf..3dd0b72486 100644 --- a/tests/src/interfaces/types-lookup.ts +++ b/tests/src/interfaces/types-lookup.ts @@ -6,8 +6,9 @@ import '@polkadot/types/lookup'; import type { Data } from '@polkadot/types'; -import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Set, Struct, Text, U256, U8aFixed, Vec, bool, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; +import type { BTreeMap, BTreeSet, Bytes, Compact, Enum, Null, Option, Result, Set, Struct, Text, U256, U8aFixed, Vec, bool, i64, u128, u16, u32, u64, u8 } from '@polkadot/types-codec'; import type { ITuple } from '@polkadot/types-codec/types'; +import type { Vote } from '@polkadot/types/interfaces/elections'; import type { AccountId32, Call, H160, H256, MultiAddress, Perbill } from '@polkadot/types/interfaces/runtime'; import type { Event } from '@polkadot/types/interfaces/system'; @@ -892,591 +893,863 @@ declare module '@polkadot/types/lookup' { readonly type: 'Noted' | 'Requested' | 'Cleared'; } - /** @name CumulusPalletXcmpQueueEvent (71) */ - interface CumulusPalletXcmpQueueEvent extends Enum { - readonly isSuccess: boolean; - readonly asSuccess: { - readonly messageHash: Option; - readonly weight: SpWeightsWeightV2Weight; + /** @name PalletDemocracyEvent (71) */ + interface PalletDemocracyEvent extends Enum { + readonly isProposed: boolean; + readonly asProposed: { + readonly proposalIndex: u32; + readonly deposit: u128; } & Struct; - readonly isFail: boolean; - readonly asFail: { - readonly messageHash: Option; - readonly error: XcmV3TraitsError; - readonly weight: SpWeightsWeightV2Weight; + readonly isTabled: boolean; + readonly asTabled: { + readonly proposalIndex: u32; + readonly deposit: u128; } & Struct; - readonly isBadVersion: boolean; - readonly asBadVersion: { - readonly messageHash: Option; + readonly isExternalTabled: boolean; + readonly isStarted: boolean; + readonly asStarted: { + readonly refIndex: u32; + readonly threshold: PalletDemocracyVoteThreshold; } & Struct; - readonly isBadFormat: boolean; - readonly asBadFormat: { - readonly messageHash: Option; + readonly isPassed: boolean; + readonly asPassed: { + readonly refIndex: u32; } & Struct; - readonly isXcmpMessageSent: boolean; - readonly asXcmpMessageSent: { - readonly messageHash: Option; + readonly isNotPassed: boolean; + readonly asNotPassed: { + readonly refIndex: u32; } & Struct; - readonly isOverweightEnqueued: boolean; - readonly asOverweightEnqueued: { - readonly sender: u32; - readonly sentAt: u32; - readonly index: u64; - readonly required: SpWeightsWeightV2Weight; + readonly isCancelled: boolean; + readonly asCancelled: { + readonly refIndex: u32; } & Struct; - readonly isOverweightServiced: boolean; - readonly asOverweightServiced: { - readonly index: u64; - readonly used: SpWeightsWeightV2Weight; + readonly isDelegated: boolean; + readonly asDelegated: { + readonly who: AccountId32; + readonly target: AccountId32; } & Struct; - readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced'; + readonly isUndelegated: boolean; + readonly asUndelegated: { + readonly account: AccountId32; + } & Struct; + readonly isVetoed: boolean; + readonly asVetoed: { + readonly who: AccountId32; + readonly proposalHash: H256; + readonly until: u32; + } & Struct; + readonly isBlacklisted: boolean; + readonly asBlacklisted: { + readonly proposalHash: H256; + } & Struct; + readonly isVoted: boolean; + readonly asVoted: { + readonly voter: AccountId32; + readonly refIndex: u32; + readonly vote: PalletDemocracyVoteAccountVote; + } & Struct; + readonly isSeconded: boolean; + readonly asSeconded: { + readonly seconder: AccountId32; + readonly propIndex: u32; + } & Struct; + readonly isProposalCanceled: boolean; + readonly asProposalCanceled: { + readonly propIndex: u32; + } & Struct; + readonly isMetadataSet: boolean; + readonly asMetadataSet: { + readonly owner: PalletDemocracyMetadataOwner; + readonly hash_: H256; + } & Struct; + readonly isMetadataCleared: boolean; + readonly asMetadataCleared: { + readonly owner: PalletDemocracyMetadataOwner; + readonly hash_: H256; + } & Struct; + readonly isMetadataTransferred: boolean; + readonly asMetadataTransferred: { + readonly prevOwner: PalletDemocracyMetadataOwner; + readonly owner: PalletDemocracyMetadataOwner; + readonly hash_: H256; + } & Struct; + readonly type: 'Proposed' | 'Tabled' | 'ExternalTabled' | 'Started' | 'Passed' | 'NotPassed' | 'Cancelled' | 'Delegated' | 'Undelegated' | 'Vetoed' | 'Blacklisted' | 'Voted' | 'Seconded' | 'ProposalCanceled' | 'MetadataSet' | 'MetadataCleared' | 'MetadataTransferred'; } - /** @name XcmV3TraitsError (72) */ - interface XcmV3TraitsError extends Enum { - readonly isOverflow: boolean; - readonly isUnimplemented: boolean; - readonly isUntrustedReserveLocation: boolean; - readonly isUntrustedTeleportLocation: boolean; - readonly isLocationFull: boolean; - readonly isLocationNotInvertible: boolean; - readonly isBadOrigin: boolean; - readonly isInvalidLocation: boolean; - readonly isAssetNotFound: boolean; - readonly isFailedToTransactAsset: boolean; - readonly isNotWithdrawable: boolean; - readonly isLocationCannotHold: boolean; - readonly isExceedsMaxMessageSize: boolean; - readonly isDestinationUnsupported: boolean; - readonly isTransport: boolean; - readonly isUnroutable: boolean; - readonly isUnknownClaim: boolean; - readonly isFailedToDecode: boolean; - readonly isMaxWeightInvalid: boolean; - readonly isNotHoldingFees: boolean; - readonly isTooExpensive: boolean; - readonly isTrap: boolean; - readonly asTrap: u64; - readonly isExpectationFalse: boolean; - readonly isPalletNotFound: boolean; - readonly isNameMismatch: boolean; - readonly isVersionIncompatible: boolean; - readonly isHoldingWouldOverflow: boolean; - readonly isExportError: boolean; - readonly isReanchorFailed: boolean; - readonly isNoDeal: boolean; - readonly isFeesNotMet: boolean; - readonly isLockError: boolean; - readonly isNoPermission: boolean; - readonly isUnanchored: boolean; - readonly isNotDepositable: boolean; - readonly isUnhandledXcmVersion: boolean; - readonly isWeightLimitReached: boolean; - readonly asWeightLimitReached: SpWeightsWeightV2Weight; - readonly isBarrier: boolean; - readonly isWeightNotComputable: boolean; - readonly isExceedsStackLimit: boolean; - readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'LocationFull' | 'LocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'ExpectationFalse' | 'PalletNotFound' | 'NameMismatch' | 'VersionIncompatible' | 'HoldingWouldOverflow' | 'ExportError' | 'ReanchorFailed' | 'NoDeal' | 'FeesNotMet' | 'LockError' | 'NoPermission' | 'Unanchored' | 'NotDepositable' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable' | 'ExceedsStackLimit'; + /** @name PalletDemocracyVoteThreshold (72) */ + interface PalletDemocracyVoteThreshold extends Enum { + readonly isSuperMajorityApprove: boolean; + readonly isSuperMajorityAgainst: boolean; + readonly isSimpleMajority: boolean; + readonly type: 'SuperMajorityApprove' | 'SuperMajorityAgainst' | 'SimpleMajority'; } - /** @name PalletXcmEvent (74) */ - interface PalletXcmEvent extends Enum { - readonly isAttempted: boolean; - readonly asAttempted: XcmV3TraitsOutcome; - readonly isSent: boolean; - readonly asSent: ITuple<[XcmV3MultiLocation, XcmV3MultiLocation, XcmV3Xcm]>; - readonly isUnexpectedResponse: boolean; - readonly asUnexpectedResponse: ITuple<[XcmV3MultiLocation, u64]>; - readonly isResponseReady: boolean; - readonly asResponseReady: ITuple<[u64, XcmV3Response]>; - readonly isNotified: boolean; - readonly asNotified: ITuple<[u64, u8, u8]>; - readonly isNotifyOverweight: boolean; - readonly asNotifyOverweight: ITuple<[u64, u8, u8, SpWeightsWeightV2Weight, SpWeightsWeightV2Weight]>; - readonly isNotifyDispatchError: boolean; - readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>; - readonly isNotifyDecodeFailed: boolean; - readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>; - readonly isInvalidResponder: boolean; - readonly asInvalidResponder: ITuple<[XcmV3MultiLocation, u64, Option]>; - readonly isInvalidResponderVersion: boolean; - readonly asInvalidResponderVersion: ITuple<[XcmV3MultiLocation, u64]>; - readonly isResponseTaken: boolean; - readonly asResponseTaken: u64; - readonly isAssetsTrapped: boolean; - readonly asAssetsTrapped: ITuple<[H256, XcmV3MultiLocation, XcmVersionedMultiAssets]>; - readonly isVersionChangeNotified: boolean; - readonly asVersionChangeNotified: ITuple<[XcmV3MultiLocation, u32, XcmV3MultiassetMultiAssets]>; - readonly isSupportedVersionChanged: boolean; - readonly asSupportedVersionChanged: ITuple<[XcmV3MultiLocation, u32]>; - readonly isNotifyTargetSendFail: boolean; - readonly asNotifyTargetSendFail: ITuple<[XcmV3MultiLocation, u64, XcmV3TraitsError]>; - readonly isNotifyTargetMigrationFail: boolean; - readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>; - readonly isInvalidQuerierVersion: boolean; - readonly asInvalidQuerierVersion: ITuple<[XcmV3MultiLocation, u64]>; - readonly isInvalidQuerier: boolean; - readonly asInvalidQuerier: ITuple<[XcmV3MultiLocation, u64, XcmV3MultiLocation, Option]>; - readonly isVersionNotifyStarted: boolean; - readonly asVersionNotifyStarted: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>; - readonly isVersionNotifyRequested: boolean; - readonly asVersionNotifyRequested: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>; - readonly isVersionNotifyUnrequested: boolean; - readonly asVersionNotifyUnrequested: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>; - readonly isFeesPaid: boolean; - readonly asFeesPaid: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>; - readonly isAssetsClaimed: boolean; - readonly asAssetsClaimed: ITuple<[H256, XcmV3MultiLocation, XcmVersionedMultiAssets]>; - readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail' | 'InvalidQuerierVersion' | 'InvalidQuerier' | 'VersionNotifyStarted' | 'VersionNotifyRequested' | 'VersionNotifyUnrequested' | 'FeesPaid' | 'AssetsClaimed'; + /** @name PalletDemocracyVoteAccountVote (73) */ + interface PalletDemocracyVoteAccountVote extends Enum { + readonly isStandard: boolean; + readonly asStandard: { + readonly vote: Vote; + readonly balance: u128; + } & Struct; + readonly isSplit: boolean; + readonly asSplit: { + readonly aye: u128; + readonly nay: u128; + } & Struct; + readonly type: 'Standard' | 'Split'; } - /** @name XcmV3TraitsOutcome (75) */ - interface XcmV3TraitsOutcome extends Enum { - readonly isComplete: boolean; - readonly asComplete: SpWeightsWeightV2Weight; - readonly isIncomplete: boolean; - readonly asIncomplete: ITuple<[SpWeightsWeightV2Weight, XcmV3TraitsError]>; - readonly isError: boolean; - readonly asError: XcmV3TraitsError; - readonly type: 'Complete' | 'Incomplete' | 'Error'; + /** @name PalletDemocracyMetadataOwner (75) */ + interface PalletDemocracyMetadataOwner extends Enum { + readonly isExternal: boolean; + readonly isProposal: boolean; + readonly asProposal: u32; + readonly isReferendum: boolean; + readonly asReferendum: u32; + readonly type: 'External' | 'Proposal' | 'Referendum'; } - /** @name XcmV3Xcm (76) */ - interface XcmV3Xcm extends Vec {} - - /** @name XcmV3Instruction (78) */ - interface XcmV3Instruction extends Enum { - readonly isWithdrawAsset: boolean; - readonly asWithdrawAsset: XcmV3MultiassetMultiAssets; - readonly isReserveAssetDeposited: boolean; - readonly asReserveAssetDeposited: XcmV3MultiassetMultiAssets; - readonly isReceiveTeleportedAsset: boolean; - readonly asReceiveTeleportedAsset: XcmV3MultiassetMultiAssets; - readonly isQueryResponse: boolean; - readonly asQueryResponse: { - readonly queryId: Compact; - readonly response: XcmV3Response; - readonly maxWeight: SpWeightsWeightV2Weight; - readonly querier: Option; + /** @name PalletCollectiveEvent (76) */ + interface PalletCollectiveEvent extends Enum { + readonly isProposed: boolean; + readonly asProposed: { + readonly account: AccountId32; + readonly proposalIndex: u32; + readonly proposalHash: H256; + readonly threshold: u32; } & Struct; - readonly isTransferAsset: boolean; - readonly asTransferAsset: { - readonly assets: XcmV3MultiassetMultiAssets; - readonly beneficiary: XcmV3MultiLocation; + readonly isVoted: boolean; + readonly asVoted: { + readonly account: AccountId32; + readonly proposalHash: H256; + readonly voted: bool; + readonly yes: u32; + readonly no: u32; } & Struct; - readonly isTransferReserveAsset: boolean; - readonly asTransferReserveAsset: { - readonly assets: XcmV3MultiassetMultiAssets; - readonly dest: XcmV3MultiLocation; - readonly xcm: XcmV3Xcm; + readonly isApproved: boolean; + readonly asApproved: { + readonly proposalHash: H256; } & Struct; - readonly isTransact: boolean; - readonly asTransact: { - readonly originKind: XcmV2OriginKind; - readonly requireWeightAtMost: SpWeightsWeightV2Weight; - readonly call: XcmDoubleEncoded; + readonly isDisapproved: boolean; + readonly asDisapproved: { + readonly proposalHash: H256; } & Struct; - readonly isHrmpNewChannelOpenRequest: boolean; - readonly asHrmpNewChannelOpenRequest: { - readonly sender: Compact; - readonly maxMessageSize: Compact; - readonly maxCapacity: Compact; + readonly isExecuted: boolean; + readonly asExecuted: { + readonly proposalHash: H256; + readonly result: Result; } & Struct; - readonly isHrmpChannelAccepted: boolean; - readonly asHrmpChannelAccepted: { - readonly recipient: Compact; + readonly isMemberExecuted: boolean; + readonly asMemberExecuted: { + readonly proposalHash: H256; + readonly result: Result; } & Struct; - readonly isHrmpChannelClosing: boolean; - readonly asHrmpChannelClosing: { - readonly initiator: Compact; - readonly sender: Compact; - readonly recipient: Compact; + readonly isClosed: boolean; + readonly asClosed: { + readonly proposalHash: H256; + readonly yes: u32; + readonly no: u32; } & Struct; - readonly isClearOrigin: boolean; - readonly isDescendOrigin: boolean; - readonly asDescendOrigin: XcmV3Junctions; - readonly isReportError: boolean; - readonly asReportError: XcmV3QueryResponseInfo; - readonly isDepositAsset: boolean; - readonly asDepositAsset: { - readonly assets: XcmV3MultiassetMultiAssetFilter; - readonly beneficiary: XcmV3MultiLocation; + readonly type: 'Proposed' | 'Voted' | 'Approved' | 'Disapproved' | 'Executed' | 'MemberExecuted' | 'Closed'; + } + + /** @name PalletMembershipEvent (79) */ + interface PalletMembershipEvent extends Enum { + readonly isMemberAdded: boolean; + readonly isMemberRemoved: boolean; + readonly isMembersSwapped: boolean; + readonly isMembersReset: boolean; + readonly isKeyChanged: boolean; + readonly isDummy: boolean; + readonly type: 'MemberAdded' | 'MemberRemoved' | 'MembersSwapped' | 'MembersReset' | 'KeyChanged' | 'Dummy'; + } + + /** @name PalletRankedCollectiveEvent (81) */ + interface PalletRankedCollectiveEvent extends Enum { + readonly isMemberAdded: boolean; + readonly asMemberAdded: { + readonly who: AccountId32; } & Struct; - readonly isDepositReserveAsset: boolean; - readonly asDepositReserveAsset: { - readonly assets: XcmV3MultiassetMultiAssetFilter; - readonly dest: XcmV3MultiLocation; - readonly xcm: XcmV3Xcm; + readonly isRankChanged: boolean; + readonly asRankChanged: { + readonly who: AccountId32; + readonly rank: u16; } & Struct; - readonly isExchangeAsset: boolean; - readonly asExchangeAsset: { - readonly give: XcmV3MultiassetMultiAssetFilter; - readonly want: XcmV3MultiassetMultiAssets; - readonly maximal: bool; + readonly isMemberRemoved: boolean; + readonly asMemberRemoved: { + readonly who: AccountId32; + readonly rank: u16; } & Struct; - readonly isInitiateReserveWithdraw: boolean; - readonly asInitiateReserveWithdraw: { - readonly assets: XcmV3MultiassetMultiAssetFilter; - readonly reserve: XcmV3MultiLocation; - readonly xcm: XcmV3Xcm; + readonly isVoted: boolean; + readonly asVoted: { + readonly who: AccountId32; + readonly poll: u32; + readonly vote: PalletRankedCollectiveVoteRecord; + readonly tally: PalletRankedCollectiveTally; } & Struct; - readonly isInitiateTeleport: boolean; - readonly asInitiateTeleport: { - readonly assets: XcmV3MultiassetMultiAssetFilter; - readonly dest: XcmV3MultiLocation; - readonly xcm: XcmV3Xcm; + readonly type: 'MemberAdded' | 'RankChanged' | 'MemberRemoved' | 'Voted'; + } + + /** @name PalletRankedCollectiveVoteRecord (83) */ + interface PalletRankedCollectiveVoteRecord extends Enum { + readonly isAye: boolean; + readonly asAye: u32; + readonly isNay: boolean; + readonly asNay: u32; + readonly type: 'Aye' | 'Nay'; + } + + /** @name PalletRankedCollectiveTally (84) */ + interface PalletRankedCollectiveTally extends Struct { + readonly bareAyes: u32; + readonly ayes: u32; + readonly nays: u32; + } + + /** @name PalletReferendaEvent (85) */ + interface PalletReferendaEvent extends Enum { + readonly isSubmitted: boolean; + readonly asSubmitted: { + readonly index: u32; + readonly track: u16; + readonly proposal: FrameSupportPreimagesBounded; } & Struct; - readonly isReportHolding: boolean; - readonly asReportHolding: { - readonly responseInfo: XcmV3QueryResponseInfo; - readonly assets: XcmV3MultiassetMultiAssetFilter; + readonly isDecisionDepositPlaced: boolean; + readonly asDecisionDepositPlaced: { + readonly index: u32; + readonly who: AccountId32; + readonly amount: u128; } & Struct; - readonly isBuyExecution: boolean; - readonly asBuyExecution: { - readonly fees: XcmV3MultiAsset; - readonly weightLimit: XcmV3WeightLimit; + readonly isDecisionDepositRefunded: boolean; + readonly asDecisionDepositRefunded: { + readonly index: u32; + readonly who: AccountId32; + readonly amount: u128; } & Struct; - readonly isRefundSurplus: boolean; - readonly isSetErrorHandler: boolean; - readonly asSetErrorHandler: XcmV3Xcm; - readonly isSetAppendix: boolean; - readonly asSetAppendix: XcmV3Xcm; - readonly isClearError: boolean; - readonly isClaimAsset: boolean; - readonly asClaimAsset: { - readonly assets: XcmV3MultiassetMultiAssets; - readonly ticket: XcmV3MultiLocation; - } & Struct; - readonly isTrap: boolean; - readonly asTrap: Compact; - readonly isSubscribeVersion: boolean; - readonly asSubscribeVersion: { - readonly queryId: Compact; - readonly maxResponseWeight: SpWeightsWeightV2Weight; - } & Struct; - readonly isUnsubscribeVersion: boolean; - readonly isBurnAsset: boolean; - readonly asBurnAsset: XcmV3MultiassetMultiAssets; - readonly isExpectAsset: boolean; - readonly asExpectAsset: XcmV3MultiassetMultiAssets; - readonly isExpectOrigin: boolean; - readonly asExpectOrigin: Option; - readonly isExpectError: boolean; - readonly asExpectError: Option>; - readonly isExpectTransactStatus: boolean; - readonly asExpectTransactStatus: XcmV3MaybeErrorCode; - readonly isQueryPallet: boolean; - readonly asQueryPallet: { - readonly moduleName: Bytes; - readonly responseInfo: XcmV3QueryResponseInfo; + readonly isDepositSlashed: boolean; + readonly asDepositSlashed: { + readonly who: AccountId32; + readonly amount: u128; } & Struct; - readonly isExpectPallet: boolean; - readonly asExpectPallet: { - readonly index: Compact; - readonly name: Bytes; - readonly moduleName: Bytes; - readonly crateMajor: Compact; - readonly minCrateMinor: Compact; + readonly isDecisionStarted: boolean; + readonly asDecisionStarted: { + readonly index: u32; + readonly track: u16; + readonly proposal: FrameSupportPreimagesBounded; + readonly tally: PalletRankedCollectiveTally; } & Struct; - readonly isReportTransactStatus: boolean; - readonly asReportTransactStatus: XcmV3QueryResponseInfo; - readonly isClearTransactStatus: boolean; - readonly isUniversalOrigin: boolean; - readonly asUniversalOrigin: XcmV3Junction; - readonly isExportMessage: boolean; - readonly asExportMessage: { - readonly network: XcmV3JunctionNetworkId; - readonly destination: XcmV3Junctions; - readonly xcm: XcmV3Xcm; + readonly isConfirmStarted: boolean; + readonly asConfirmStarted: { + readonly index: u32; } & Struct; - readonly isLockAsset: boolean; - readonly asLockAsset: { - readonly asset: XcmV3MultiAsset; - readonly unlocker: XcmV3MultiLocation; + readonly isConfirmAborted: boolean; + readonly asConfirmAborted: { + readonly index: u32; } & Struct; - readonly isUnlockAsset: boolean; - readonly asUnlockAsset: { - readonly asset: XcmV3MultiAsset; - readonly target: XcmV3MultiLocation; + readonly isConfirmed: boolean; + readonly asConfirmed: { + readonly index: u32; + readonly tally: PalletRankedCollectiveTally; } & Struct; - readonly isNoteUnlockable: boolean; - readonly asNoteUnlockable: { - readonly asset: XcmV3MultiAsset; - readonly owner: XcmV3MultiLocation; + readonly isApproved: boolean; + readonly asApproved: { + readonly index: u32; } & Struct; - readonly isRequestUnlock: boolean; - readonly asRequestUnlock: { - readonly asset: XcmV3MultiAsset; - readonly locker: XcmV3MultiLocation; + readonly isRejected: boolean; + readonly asRejected: { + readonly index: u32; + readonly tally: PalletRankedCollectiveTally; + } & Struct; + readonly isTimedOut: boolean; + readonly asTimedOut: { + readonly index: u32; + readonly tally: PalletRankedCollectiveTally; + } & Struct; + readonly isCancelled: boolean; + readonly asCancelled: { + readonly index: u32; + readonly tally: PalletRankedCollectiveTally; + } & Struct; + readonly isKilled: boolean; + readonly asKilled: { + readonly index: u32; + readonly tally: PalletRankedCollectiveTally; + } & Struct; + readonly isSubmissionDepositRefunded: boolean; + readonly asSubmissionDepositRefunded: { + readonly index: u32; + readonly who: AccountId32; + readonly amount: u128; } & Struct; - readonly isSetFeesMode: boolean; - readonly asSetFeesMode: { - readonly jitWithdraw: bool; + readonly isMetadataSet: boolean; + readonly asMetadataSet: { + readonly index: u32; + readonly hash_: H256; } & Struct; - readonly isSetTopic: boolean; - readonly asSetTopic: U8aFixed; - readonly isClearTopic: boolean; - readonly isAliasOrigin: boolean; - readonly asAliasOrigin: XcmV3MultiLocation; - readonly isUnpaidExecution: boolean; - readonly asUnpaidExecution: { - readonly weightLimit: XcmV3WeightLimit; - readonly checkOrigin: Option; + readonly isMetadataCleared: boolean; + readonly asMetadataCleared: { + readonly index: u32; + readonly hash_: H256; } & Struct; - readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'ReportHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion' | 'BurnAsset' | 'ExpectAsset' | 'ExpectOrigin' | 'ExpectError' | 'ExpectTransactStatus' | 'QueryPallet' | 'ExpectPallet' | 'ReportTransactStatus' | 'ClearTransactStatus' | 'UniversalOrigin' | 'ExportMessage' | 'LockAsset' | 'UnlockAsset' | 'NoteUnlockable' | 'RequestUnlock' | 'SetFeesMode' | 'SetTopic' | 'ClearTopic' | 'AliasOrigin' | 'UnpaidExecution'; - } - - /** @name XcmV3Response (79) */ - interface XcmV3Response extends Enum { - readonly isNull: boolean; - readonly isAssets: boolean; - readonly asAssets: XcmV3MultiassetMultiAssets; - readonly isExecutionResult: boolean; - readonly asExecutionResult: Option>; - readonly isVersion: boolean; - readonly asVersion: u32; - readonly isPalletsInfo: boolean; - readonly asPalletsInfo: Vec; - readonly isDispatchResult: boolean; - readonly asDispatchResult: XcmV3MaybeErrorCode; - readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version' | 'PalletsInfo' | 'DispatchResult'; + readonly type: 'Submitted' | 'DecisionDepositPlaced' | 'DecisionDepositRefunded' | 'DepositSlashed' | 'DecisionStarted' | 'ConfirmStarted' | 'ConfirmAborted' | 'Confirmed' | 'Approved' | 'Rejected' | 'TimedOut' | 'Cancelled' | 'Killed' | 'SubmissionDepositRefunded' | 'MetadataSet' | 'MetadataCleared'; } - /** @name XcmV3PalletInfo (83) */ - interface XcmV3PalletInfo extends Struct { - readonly index: Compact; - readonly name: Bytes; - readonly moduleName: Bytes; - readonly major: Compact; - readonly minor: Compact; - readonly patch: Compact; + /** @name FrameSupportPreimagesBounded (86) */ + interface FrameSupportPreimagesBounded extends Enum { + readonly isLegacy: boolean; + readonly asLegacy: { + readonly hash_: H256; + } & Struct; + readonly isInline: boolean; + readonly asInline: Bytes; + readonly isLookup: boolean; + readonly asLookup: { + readonly hash_: H256; + readonly len: u32; + } & Struct; + readonly type: 'Legacy' | 'Inline' | 'Lookup'; } - /** @name XcmV3MaybeErrorCode (86) */ - interface XcmV3MaybeErrorCode extends Enum { - readonly isSuccess: boolean; - readonly isError: boolean; - readonly asError: Bytes; - readonly isTruncatedError: boolean; - readonly asTruncatedError: Bytes; - readonly type: 'Success' | 'Error' | 'TruncatedError'; + /** @name FrameSystemCall (88) */ + interface FrameSystemCall extends Enum { + readonly isRemark: boolean; + readonly asRemark: { + readonly remark: Bytes; + } & Struct; + readonly isSetHeapPages: boolean; + readonly asSetHeapPages: { + readonly pages: u64; + } & Struct; + readonly isSetCode: boolean; + readonly asSetCode: { + readonly code: Bytes; + } & Struct; + readonly isSetCodeWithoutChecks: boolean; + readonly asSetCodeWithoutChecks: { + readonly code: Bytes; + } & Struct; + readonly isSetStorage: boolean; + readonly asSetStorage: { + readonly items: Vec>; + } & Struct; + readonly isKillStorage: boolean; + readonly asKillStorage: { + readonly keys_: Vec; + } & Struct; + readonly isKillPrefix: boolean; + readonly asKillPrefix: { + readonly prefix: Bytes; + readonly subkeys: u32; + } & Struct; + readonly isRemarkWithEvent: boolean; + readonly asRemarkWithEvent: { + readonly remark: Bytes; + } & Struct; + readonly type: 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent'; } - /** @name XcmV2OriginKind (89) */ - interface XcmV2OriginKind extends Enum { - readonly isNative: boolean; - readonly isSovereignAccount: boolean; - readonly isSuperuser: boolean; - readonly isXcm: boolean; - readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm'; + /** @name PalletStateTrieMigrationCall (92) */ + interface PalletStateTrieMigrationCall extends Enum { + readonly isControlAutoMigration: boolean; + readonly asControlAutoMigration: { + readonly maybeConfig: Option; + } & Struct; + readonly isContinueMigrate: boolean; + readonly asContinueMigrate: { + readonly limits: PalletStateTrieMigrationMigrationLimits; + readonly realSizeUpper: u32; + readonly witnessTask: PalletStateTrieMigrationMigrationTask; + } & Struct; + readonly isMigrateCustomTop: boolean; + readonly asMigrateCustomTop: { + readonly keys_: Vec; + readonly witnessSize: u32; + } & Struct; + readonly isMigrateCustomChild: boolean; + readonly asMigrateCustomChild: { + readonly root: Bytes; + readonly childKeys: Vec; + readonly totalSize: u32; + } & Struct; + readonly isSetSignedMaxLimits: boolean; + readonly asSetSignedMaxLimits: { + readonly limits: PalletStateTrieMigrationMigrationLimits; + } & Struct; + readonly isForceSetProgress: boolean; + readonly asForceSetProgress: { + readonly progressTop: PalletStateTrieMigrationProgress; + readonly progressChild: PalletStateTrieMigrationProgress; + } & Struct; + readonly type: 'ControlAutoMigration' | 'ContinueMigrate' | 'MigrateCustomTop' | 'MigrateCustomChild' | 'SetSignedMaxLimits' | 'ForceSetProgress'; } - /** @name XcmDoubleEncoded (90) */ - interface XcmDoubleEncoded extends Struct { - readonly encoded: Bytes; + /** @name PalletStateTrieMigrationMigrationLimits (94) */ + interface PalletStateTrieMigrationMigrationLimits extends Struct { + readonly size_: u32; + readonly item: u32; } - /** @name XcmV3QueryResponseInfo (91) */ - interface XcmV3QueryResponseInfo extends Struct { - readonly destination: XcmV3MultiLocation; - readonly queryId: Compact; - readonly maxWeight: SpWeightsWeightV2Weight; + /** @name PalletStateTrieMigrationMigrationTask (95) */ + interface PalletStateTrieMigrationMigrationTask extends Struct { + readonly progressTop: PalletStateTrieMigrationProgress; + readonly progressChild: PalletStateTrieMigrationProgress; + readonly size_: u32; + readonly topItems: u32; + readonly childItems: u32; } - /** @name XcmV3MultiassetMultiAssetFilter (92) */ - interface XcmV3MultiassetMultiAssetFilter extends Enum { - readonly isDefinite: boolean; - readonly asDefinite: XcmV3MultiassetMultiAssets; - readonly isWild: boolean; - readonly asWild: XcmV3MultiassetWildMultiAsset; - readonly type: 'Definite' | 'Wild'; + /** @name PalletStateTrieMigrationProgress (96) */ + interface PalletStateTrieMigrationProgress extends Enum { + readonly isToStart: boolean; + readonly isLastKey: boolean; + readonly asLastKey: Bytes; + readonly isComplete: boolean; + readonly type: 'ToStart' | 'LastKey' | 'Complete'; } - /** @name XcmV3MultiassetWildMultiAsset (93) */ - interface XcmV3MultiassetWildMultiAsset extends Enum { - readonly isAll: boolean; - readonly isAllOf: boolean; - readonly asAllOf: { - readonly id: XcmV3MultiassetAssetId; - readonly fun: XcmV3MultiassetWildFungibility; + /** @name CumulusPalletParachainSystemCall (98) */ + interface CumulusPalletParachainSystemCall extends Enum { + readonly isSetValidationData: boolean; + readonly asSetValidationData: { + readonly data: CumulusPrimitivesParachainInherentParachainInherentData; } & Struct; - readonly isAllCounted: boolean; - readonly asAllCounted: Compact; - readonly isAllOfCounted: boolean; - readonly asAllOfCounted: { - readonly id: XcmV3MultiassetAssetId; - readonly fun: XcmV3MultiassetWildFungibility; - readonly count: Compact; + readonly isSudoSendUpwardMessage: boolean; + readonly asSudoSendUpwardMessage: { + readonly message: Bytes; } & Struct; - readonly type: 'All' | 'AllOf' | 'AllCounted' | 'AllOfCounted'; + readonly isAuthorizeUpgrade: boolean; + readonly asAuthorizeUpgrade: { + readonly codeHash: H256; + readonly checkVersion: bool; + } & Struct; + readonly isEnactAuthorizedUpgrade: boolean; + readonly asEnactAuthorizedUpgrade: { + readonly code: Bytes; + } & Struct; + readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade'; } - /** @name XcmV3MultiassetWildFungibility (94) */ - interface XcmV3MultiassetWildFungibility extends Enum { - readonly isFungible: boolean; - readonly isNonFungible: boolean; - readonly type: 'Fungible' | 'NonFungible'; + /** @name CumulusPrimitivesParachainInherentParachainInherentData (99) */ + interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct { + readonly validationData: PolkadotPrimitivesV4PersistedValidationData; + readonly relayChainState: SpTrieStorageProof; + readonly downwardMessages: Vec; + readonly horizontalMessages: BTreeMap>; } - /** @name XcmV3WeightLimit (96) */ - interface XcmV3WeightLimit extends Enum { - readonly isUnlimited: boolean; - readonly isLimited: boolean; - readonly asLimited: SpWeightsWeightV2Weight; - readonly type: 'Unlimited' | 'Limited'; + /** @name PolkadotPrimitivesV4PersistedValidationData (100) */ + interface PolkadotPrimitivesV4PersistedValidationData extends Struct { + readonly parentHead: Bytes; + readonly relayParentNumber: u32; + readonly relayParentStorageRoot: H256; + readonly maxPovSize: u32; } - /** @name XcmVersionedMultiAssets (97) */ - interface XcmVersionedMultiAssets extends Enum { - readonly isV2: boolean; - readonly asV2: XcmV2MultiassetMultiAssets; - readonly isV3: boolean; - readonly asV3: XcmV3MultiassetMultiAssets; - readonly type: 'V2' | 'V3'; + /** @name SpTrieStorageProof (102) */ + interface SpTrieStorageProof extends Struct { + readonly trieNodes: BTreeSet; } - /** @name XcmV2MultiassetMultiAssets (98) */ - interface XcmV2MultiassetMultiAssets extends Vec {} + /** @name PolkadotCorePrimitivesInboundDownwardMessage (105) */ + interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct { + readonly sentAt: u32; + readonly msg: Bytes; + } - /** @name XcmV2MultiAsset (100) */ - interface XcmV2MultiAsset extends Struct { - readonly id: XcmV2MultiassetAssetId; - readonly fun: XcmV2MultiassetFungibility; + /** @name PolkadotCorePrimitivesInboundHrmpMessage (109) */ + interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct { + readonly sentAt: u32; + readonly data: Bytes; } - /** @name XcmV2MultiassetAssetId (101) */ - interface XcmV2MultiassetAssetId extends Enum { - readonly isConcrete: boolean; - readonly asConcrete: XcmV2MultiLocation; - readonly isAbstract: boolean; - readonly asAbstract: Bytes; - readonly type: 'Concrete' | 'Abstract'; + /** @name ParachainInfoCall (112) */ + type ParachainInfoCall = Null; + + /** @name PalletCollatorSelectionCall (113) */ + interface PalletCollatorSelectionCall extends Enum { + readonly isAddInvulnerable: boolean; + readonly asAddInvulnerable: { + readonly new_: AccountId32; + } & Struct; + readonly isRemoveInvulnerable: boolean; + readonly asRemoveInvulnerable: { + readonly who: AccountId32; + } & Struct; + readonly isGetLicense: boolean; + readonly isOnboard: boolean; + readonly isOffboard: boolean; + readonly isReleaseLicense: boolean; + readonly isForceReleaseLicense: boolean; + readonly asForceReleaseLicense: { + readonly who: AccountId32; + } & Struct; + readonly type: 'AddInvulnerable' | 'RemoveInvulnerable' | 'GetLicense' | 'Onboard' | 'Offboard' | 'ReleaseLicense' | 'ForceReleaseLicense'; } - /** @name XcmV2MultiLocation (102) */ - interface XcmV2MultiLocation extends Struct { - readonly parents: u8; - readonly interior: XcmV2MultilocationJunctions; + /** @name PalletSessionCall (114) */ + interface PalletSessionCall extends Enum { + readonly isSetKeys: boolean; + readonly asSetKeys: { + readonly keys_: QuartzRuntimeRuntimeCommonSessionKeys; + readonly proof: Bytes; + } & Struct; + readonly isPurgeKeys: boolean; + readonly type: 'SetKeys' | 'PurgeKeys'; } - /** @name XcmV2MultilocationJunctions (103) */ - interface XcmV2MultilocationJunctions extends Enum { - readonly isHere: boolean; - readonly isX1: boolean; - readonly asX1: XcmV2Junction; - readonly isX2: boolean; - readonly asX2: ITuple<[XcmV2Junction, XcmV2Junction]>; - readonly isX3: boolean; - readonly asX3: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction]>; - readonly isX4: boolean; - readonly asX4: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>; - readonly isX5: boolean; - readonly asX5: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>; - readonly isX6: boolean; - readonly asX6: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>; - readonly isX7: boolean; - readonly asX7: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>; - readonly isX8: boolean; - readonly asX8: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>; - readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8'; + /** @name QuartzRuntimeRuntimeCommonSessionKeys (115) */ + interface QuartzRuntimeRuntimeCommonSessionKeys extends Struct { + readonly aura: SpConsensusAuraSr25519AppSr25519Public; } - /** @name XcmV2Junction (104) */ - interface XcmV2Junction extends Enum { - readonly isParachain: boolean; - readonly asParachain: Compact; - readonly isAccountId32: boolean; - readonly asAccountId32: { - readonly network: XcmV2NetworkId; - readonly id: U8aFixed; + /** @name SpConsensusAuraSr25519AppSr25519Public (116) */ + interface SpConsensusAuraSr25519AppSr25519Public extends SpCoreSr25519Public {} + + /** @name SpCoreSr25519Public (117) */ + interface SpCoreSr25519Public extends U8aFixed {} + + /** @name PalletBalancesCall (118) */ + interface PalletBalancesCall extends Enum { + readonly isTransferAllowDeath: boolean; + readonly asTransferAllowDeath: { + readonly dest: MultiAddress; + readonly value: Compact; } & Struct; - readonly isAccountIndex64: boolean; - readonly asAccountIndex64: { - readonly network: XcmV2NetworkId; - readonly index: Compact; + readonly isSetBalanceDeprecated: boolean; + readonly asSetBalanceDeprecated: { + readonly who: MultiAddress; + readonly newFree: Compact; + readonly oldReserved: Compact; } & Struct; - readonly isAccountKey20: boolean; - readonly asAccountKey20: { - readonly network: XcmV2NetworkId; - readonly key: U8aFixed; + readonly isForceTransfer: boolean; + readonly asForceTransfer: { + readonly source: MultiAddress; + readonly dest: MultiAddress; + readonly value: Compact; } & Struct; - readonly isPalletInstance: boolean; - readonly asPalletInstance: u8; - readonly isGeneralIndex: boolean; - readonly asGeneralIndex: Compact; - readonly isGeneralKey: boolean; - readonly asGeneralKey: Bytes; - readonly isOnlyChild: boolean; - readonly isPlurality: boolean; - readonly asPlurality: { - readonly id: XcmV2BodyId; - readonly part: XcmV2BodyPart; + readonly isTransferKeepAlive: boolean; + readonly asTransferKeepAlive: { + readonly dest: MultiAddress; + readonly value: Compact; } & Struct; - readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality'; + readonly isTransferAll: boolean; + readonly asTransferAll: { + readonly dest: MultiAddress; + readonly keepAlive: bool; + } & Struct; + readonly isForceUnreserve: boolean; + readonly asForceUnreserve: { + readonly who: MultiAddress; + readonly amount: u128; + } & Struct; + readonly isUpgradeAccounts: boolean; + readonly asUpgradeAccounts: { + readonly who: Vec; + } & Struct; + readonly isTransfer: boolean; + readonly asTransfer: { + readonly dest: MultiAddress; + readonly value: Compact; + } & Struct; + readonly isForceSetBalance: boolean; + readonly asForceSetBalance: { + readonly who: MultiAddress; + readonly newFree: Compact; + } & Struct; + readonly type: 'TransferAllowDeath' | 'SetBalanceDeprecated' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve' | 'UpgradeAccounts' | 'Transfer' | 'ForceSetBalance'; } - /** @name XcmV2NetworkId (105) */ - interface XcmV2NetworkId extends Enum { - readonly isAny: boolean; - readonly isNamed: boolean; - readonly asNamed: Bytes; - readonly isPolkadot: boolean; - readonly isKusama: boolean; - readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama'; + /** @name PalletTimestampCall (122) */ + interface PalletTimestampCall extends Enum { + readonly isSet: boolean; + readonly asSet: { + readonly now: Compact; + } & Struct; + readonly type: 'Set'; } - /** @name XcmV2BodyId (107) */ - interface XcmV2BodyId extends Enum { - readonly isUnit: boolean; - readonly isNamed: boolean; - readonly asNamed: Bytes; - readonly isIndex: boolean; - readonly asIndex: Compact; - readonly isExecutive: boolean; - readonly isTechnical: boolean; - readonly isLegislative: boolean; - readonly isJudicial: boolean; - readonly isDefense: boolean; - readonly isAdministration: boolean; - readonly isTreasury: boolean; - readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury'; + /** @name PalletTreasuryCall (123) */ + interface PalletTreasuryCall extends Enum { + readonly isProposeSpend: boolean; + readonly asProposeSpend: { + readonly value: Compact; + readonly beneficiary: MultiAddress; + } & Struct; + readonly isRejectProposal: boolean; + readonly asRejectProposal: { + readonly proposalId: Compact; + } & Struct; + readonly isApproveProposal: boolean; + readonly asApproveProposal: { + readonly proposalId: Compact; + } & Struct; + readonly isSpend: boolean; + readonly asSpend: { + readonly amount: Compact; + readonly beneficiary: MultiAddress; + } & Struct; + readonly isRemoveApproval: boolean; + readonly asRemoveApproval: { + readonly proposalId: Compact; + } & Struct; + readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval'; } - /** @name XcmV2BodyPart (108) */ - interface XcmV2BodyPart extends Enum { - readonly isVoice: boolean; - readonly isMembers: boolean; - readonly asMembers: { - readonly count: Compact; + /** @name PalletSudoCall (124) */ + interface PalletSudoCall extends Enum { + readonly isSudo: boolean; + readonly asSudo: { + readonly call: Call; } & Struct; - readonly isFraction: boolean; - readonly asFraction: { - readonly nom: Compact; - readonly denom: Compact; + readonly isSudoUncheckedWeight: boolean; + readonly asSudoUncheckedWeight: { + readonly call: Call; + readonly weight: SpWeightsWeightV2Weight; } & Struct; - readonly isAtLeastProportion: boolean; - readonly asAtLeastProportion: { - readonly nom: Compact; - readonly denom: Compact; + readonly isSetKey: boolean; + readonly asSetKey: { + readonly new_: MultiAddress; } & Struct; - readonly isMoreThanProportion: boolean; - readonly asMoreThanProportion: { - readonly nom: Compact; - readonly denom: Compact; + readonly isSudoAs: boolean; + readonly asSudoAs: { + readonly who: MultiAddress; + readonly call: Call; } & Struct; - readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion'; + readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs'; } - /** @name XcmV2MultiassetFungibility (109) */ - interface XcmV2MultiassetFungibility extends Enum { - readonly isFungible: boolean; - readonly asFungible: Compact; - readonly isNonFungible: boolean; + /** @name OrmlVestingModuleCall (125) */ + interface OrmlVestingModuleCall extends Enum { + readonly isClaim: boolean; + readonly isVestedTransfer: boolean; + readonly asVestedTransfer: { + readonly dest: MultiAddress; + readonly schedule: OrmlVestingVestingSchedule; + } & Struct; + readonly isUpdateVestingSchedules: boolean; + readonly asUpdateVestingSchedules: { + readonly who: MultiAddress; + readonly vestingSchedules: Vec; + } & Struct; + readonly isClaimFor: boolean; + readonly asClaimFor: { + readonly dest: MultiAddress; + } & Struct; + readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor'; + } + + /** @name OrmlXtokensModuleCall (127) */ + interface OrmlXtokensModuleCall extends Enum { + readonly isTransfer: boolean; + readonly asTransfer: { + readonly currencyId: PalletForeignAssetsAssetIds; + readonly amount: u128; + readonly dest: XcmVersionedMultiLocation; + readonly destWeightLimit: XcmV3WeightLimit; + } & Struct; + readonly isTransferMultiasset: boolean; + readonly asTransferMultiasset: { + readonly asset: XcmVersionedMultiAsset; + readonly dest: XcmVersionedMultiLocation; + readonly destWeightLimit: XcmV3WeightLimit; + } & Struct; + readonly isTransferWithFee: boolean; + readonly asTransferWithFee: { + readonly currencyId: PalletForeignAssetsAssetIds; + readonly amount: u128; + readonly fee: u128; + readonly dest: XcmVersionedMultiLocation; + readonly destWeightLimit: XcmV3WeightLimit; + } & Struct; + readonly isTransferMultiassetWithFee: boolean; + readonly asTransferMultiassetWithFee: { + readonly asset: XcmVersionedMultiAsset; + readonly fee: XcmVersionedMultiAsset; + readonly dest: XcmVersionedMultiLocation; + readonly destWeightLimit: XcmV3WeightLimit; + } & Struct; + readonly isTransferMulticurrencies: boolean; + readonly asTransferMulticurrencies: { + readonly currencies: Vec>; + readonly feeItem: u32; + readonly dest: XcmVersionedMultiLocation; + readonly destWeightLimit: XcmV3WeightLimit; + } & Struct; + readonly isTransferMultiassets: boolean; + readonly asTransferMultiassets: { + readonly assets: XcmVersionedMultiAssets; + readonly feeItem: u32; + readonly dest: XcmVersionedMultiLocation; + readonly destWeightLimit: XcmV3WeightLimit; + } & Struct; + readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets'; + } + + /** @name XcmVersionedMultiLocation (128) */ + interface XcmVersionedMultiLocation extends Enum { + readonly isV2: boolean; + readonly asV2: XcmV2MultiLocation; + readonly isV3: boolean; + readonly asV3: XcmV3MultiLocation; + readonly type: 'V2' | 'V3'; + } + + /** @name XcmV2MultiLocation (129) */ + interface XcmV2MultiLocation extends Struct { + readonly parents: u8; + readonly interior: XcmV2MultilocationJunctions; + } + + /** @name XcmV2MultilocationJunctions (130) */ + interface XcmV2MultilocationJunctions extends Enum { + readonly isHere: boolean; + readonly isX1: boolean; + readonly asX1: XcmV2Junction; + readonly isX2: boolean; + readonly asX2: ITuple<[XcmV2Junction, XcmV2Junction]>; + readonly isX3: boolean; + readonly asX3: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction]>; + readonly isX4: boolean; + readonly asX4: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>; + readonly isX5: boolean; + readonly asX5: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>; + readonly isX6: boolean; + readonly asX6: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>; + readonly isX7: boolean; + readonly asX7: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>; + readonly isX8: boolean; + readonly asX8: ITuple<[XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction, XcmV2Junction]>; + readonly type: 'Here' | 'X1' | 'X2' | 'X3' | 'X4' | 'X5' | 'X6' | 'X7' | 'X8'; + } + + /** @name XcmV2Junction (131) */ + interface XcmV2Junction extends Enum { + readonly isParachain: boolean; + readonly asParachain: Compact; + readonly isAccountId32: boolean; + readonly asAccountId32: { + readonly network: XcmV2NetworkId; + readonly id: U8aFixed; + } & Struct; + readonly isAccountIndex64: boolean; + readonly asAccountIndex64: { + readonly network: XcmV2NetworkId; + readonly index: Compact; + } & Struct; + readonly isAccountKey20: boolean; + readonly asAccountKey20: { + readonly network: XcmV2NetworkId; + readonly key: U8aFixed; + } & Struct; + readonly isPalletInstance: boolean; + readonly asPalletInstance: u8; + readonly isGeneralIndex: boolean; + readonly asGeneralIndex: Compact; + readonly isGeneralKey: boolean; + readonly asGeneralKey: Bytes; + readonly isOnlyChild: boolean; + readonly isPlurality: boolean; + readonly asPlurality: { + readonly id: XcmV2BodyId; + readonly part: XcmV2BodyPart; + } & Struct; + readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality'; + } + + /** @name XcmV2NetworkId (132) */ + interface XcmV2NetworkId extends Enum { + readonly isAny: boolean; + readonly isNamed: boolean; + readonly asNamed: Bytes; + readonly isPolkadot: boolean; + readonly isKusama: boolean; + readonly type: 'Any' | 'Named' | 'Polkadot' | 'Kusama'; + } + + /** @name XcmV2BodyId (134) */ + interface XcmV2BodyId extends Enum { + readonly isUnit: boolean; + readonly isNamed: boolean; + readonly asNamed: Bytes; + readonly isIndex: boolean; + readonly asIndex: Compact; + readonly isExecutive: boolean; + readonly isTechnical: boolean; + readonly isLegislative: boolean; + readonly isJudicial: boolean; + readonly isDefense: boolean; + readonly isAdministration: boolean; + readonly isTreasury: boolean; + readonly type: 'Unit' | 'Named' | 'Index' | 'Executive' | 'Technical' | 'Legislative' | 'Judicial' | 'Defense' | 'Administration' | 'Treasury'; + } + + /** @name XcmV2BodyPart (135) */ + interface XcmV2BodyPart extends Enum { + readonly isVoice: boolean; + readonly isMembers: boolean; + readonly asMembers: { + readonly count: Compact; + } & Struct; + readonly isFraction: boolean; + readonly asFraction: { + readonly nom: Compact; + readonly denom: Compact; + } & Struct; + readonly isAtLeastProportion: boolean; + readonly asAtLeastProportion: { + readonly nom: Compact; + readonly denom: Compact; + } & Struct; + readonly isMoreThanProportion: boolean; + readonly asMoreThanProportion: { + readonly nom: Compact; + readonly denom: Compact; + } & Struct; + readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion'; + } + + /** @name XcmV3WeightLimit (136) */ + interface XcmV3WeightLimit extends Enum { + readonly isUnlimited: boolean; + readonly isLimited: boolean; + readonly asLimited: SpWeightsWeightV2Weight; + readonly type: 'Unlimited' | 'Limited'; + } + + /** @name XcmVersionedMultiAsset (137) */ + interface XcmVersionedMultiAsset extends Enum { + readonly isV2: boolean; + readonly asV2: XcmV2MultiAsset; + readonly isV3: boolean; + readonly asV3: XcmV3MultiAsset; + readonly type: 'V2' | 'V3'; + } + + /** @name XcmV2MultiAsset (138) */ + interface XcmV2MultiAsset extends Struct { + readonly id: XcmV2MultiassetAssetId; + readonly fun: XcmV2MultiassetFungibility; + } + + /** @name XcmV2MultiassetAssetId (139) */ + interface XcmV2MultiassetAssetId extends Enum { + readonly isConcrete: boolean; + readonly asConcrete: XcmV2MultiLocation; + readonly isAbstract: boolean; + readonly asAbstract: Bytes; + readonly type: 'Concrete' | 'Abstract'; + } + + /** @name XcmV2MultiassetFungibility (140) */ + interface XcmV2MultiassetFungibility extends Enum { + readonly isFungible: boolean; + readonly asFungible: Compact; + readonly isNonFungible: boolean; readonly asNonFungible: XcmV2MultiassetAssetInstance; readonly type: 'Fungible' | 'NonFungible'; } - /** @name XcmV2MultiassetAssetInstance (110) */ + /** @name XcmV2MultiassetAssetInstance (141) */ interface XcmV2MultiassetAssetInstance extends Enum { readonly isUndefined: boolean; readonly isIndex: boolean; @@ -1494,2128 +1767,2576 @@ declare module '@polkadot/types/lookup' { readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob'; } - /** @name XcmVersionedMultiLocation (111) */ - interface XcmVersionedMultiLocation extends Enum { + /** @name XcmVersionedMultiAssets (144) */ + interface XcmVersionedMultiAssets extends Enum { readonly isV2: boolean; - readonly asV2: XcmV2MultiLocation; + readonly asV2: XcmV2MultiassetMultiAssets; readonly isV3: boolean; - readonly asV3: XcmV3MultiLocation; + readonly asV3: XcmV3MultiassetMultiAssets; readonly type: 'V2' | 'V3'; } - /** @name CumulusPalletXcmEvent (112) */ - interface CumulusPalletXcmEvent extends Enum { - readonly isInvalidFormat: boolean; - readonly asInvalidFormat: U8aFixed; - readonly isUnsupportedVersion: boolean; - readonly asUnsupportedVersion: U8aFixed; - readonly isExecutedDownward: boolean; - readonly asExecutedDownward: ITuple<[U8aFixed, XcmV3TraitsOutcome]>; - readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward'; - } + /** @name XcmV2MultiassetMultiAssets (145) */ + interface XcmV2MultiassetMultiAssets extends Vec {} - /** @name CumulusPalletDmpQueueEvent (113) */ - interface CumulusPalletDmpQueueEvent extends Enum { - readonly isInvalidFormat: boolean; - readonly asInvalidFormat: { - readonly messageId: U8aFixed; + /** @name OrmlTokensModuleCall (147) */ + interface OrmlTokensModuleCall extends Enum { + readonly isTransfer: boolean; + readonly asTransfer: { + readonly dest: MultiAddress; + readonly currencyId: PalletForeignAssetsAssetIds; + readonly amount: Compact; } & Struct; - readonly isUnsupportedVersion: boolean; - readonly asUnsupportedVersion: { - readonly messageId: U8aFixed; + readonly isTransferAll: boolean; + readonly asTransferAll: { + readonly dest: MultiAddress; + readonly currencyId: PalletForeignAssetsAssetIds; + readonly keepAlive: bool; } & Struct; - readonly isExecutedDownward: boolean; - readonly asExecutedDownward: { - readonly messageId: U8aFixed; - readonly outcome: XcmV3TraitsOutcome; + readonly isTransferKeepAlive: boolean; + readonly asTransferKeepAlive: { + readonly dest: MultiAddress; + readonly currencyId: PalletForeignAssetsAssetIds; + readonly amount: Compact; } & Struct; - readonly isWeightExhausted: boolean; - readonly asWeightExhausted: { - readonly messageId: U8aFixed; - readonly remainingWeight: SpWeightsWeightV2Weight; - readonly requiredWeight: SpWeightsWeightV2Weight; - } & Struct; - readonly isOverweightEnqueued: boolean; - readonly asOverweightEnqueued: { - readonly messageId: U8aFixed; - readonly overweightIndex: u64; - readonly requiredWeight: SpWeightsWeightV2Weight; - } & Struct; - readonly isOverweightServiced: boolean; - readonly asOverweightServiced: { - readonly overweightIndex: u64; - readonly weightUsed: SpWeightsWeightV2Weight; + readonly isForceTransfer: boolean; + readonly asForceTransfer: { + readonly source: MultiAddress; + readonly dest: MultiAddress; + readonly currencyId: PalletForeignAssetsAssetIds; + readonly amount: Compact; } & Struct; - readonly isMaxMessagesExhausted: boolean; - readonly asMaxMessagesExhausted: { - readonly messageId: U8aFixed; + readonly isSetBalance: boolean; + readonly asSetBalance: { + readonly who: MultiAddress; + readonly currencyId: PalletForeignAssetsAssetIds; + readonly newFree: Compact; + readonly newReserved: Compact; } & Struct; - readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced' | 'MaxMessagesExhausted'; + readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance'; } - /** @name PalletConfigurationEvent (114) */ - interface PalletConfigurationEvent extends Enum { - readonly isNewDesiredCollators: boolean; - readonly asNewDesiredCollators: { - readonly desiredCollators: Option; + /** @name PalletIdentityCall (148) */ + interface PalletIdentityCall extends Enum { + readonly isAddRegistrar: boolean; + readonly asAddRegistrar: { + readonly account: MultiAddress; } & Struct; - readonly isNewCollatorLicenseBond: boolean; - readonly asNewCollatorLicenseBond: { - readonly bondCost: Option; + readonly isSetIdentity: boolean; + readonly asSetIdentity: { + readonly info: PalletIdentityIdentityInfo; } & Struct; - readonly isNewCollatorKickThreshold: boolean; - readonly asNewCollatorKickThreshold: { - readonly lengthInBlocks: Option; + readonly isSetSubs: boolean; + readonly asSetSubs: { + readonly subs: Vec>; } & Struct; - readonly type: 'NewDesiredCollators' | 'NewCollatorLicenseBond' | 'NewCollatorKickThreshold'; - } - - /** @name PalletCommonEvent (117) */ - interface PalletCommonEvent extends Enum { - readonly isCollectionCreated: boolean; - readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>; - readonly isCollectionDestroyed: boolean; - readonly asCollectionDestroyed: u32; - readonly isItemCreated: boolean; - readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>; - readonly isItemDestroyed: boolean; - readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>; - readonly isTransfer: boolean; - readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>; - readonly isApproved: boolean; - readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>; - readonly isApprovedForAll: boolean; - readonly asApprovedForAll: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, bool]>; - readonly isCollectionPropertySet: boolean; - readonly asCollectionPropertySet: ITuple<[u32, Bytes]>; - readonly isCollectionPropertyDeleted: boolean; - readonly asCollectionPropertyDeleted: ITuple<[u32, Bytes]>; - readonly isTokenPropertySet: boolean; - readonly asTokenPropertySet: ITuple<[u32, u32, Bytes]>; - readonly isTokenPropertyDeleted: boolean; - readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>; - readonly isPropertyPermissionSet: boolean; - readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>; - readonly isAllowListAddressAdded: boolean; - readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>; - readonly isAllowListAddressRemoved: boolean; - readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>; - readonly isCollectionAdminAdded: boolean; - readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>; - readonly isCollectionAdminRemoved: boolean; - readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>; - readonly isCollectionLimitSet: boolean; - readonly asCollectionLimitSet: u32; - readonly isCollectionOwnerChanged: boolean; - readonly asCollectionOwnerChanged: ITuple<[u32, AccountId32]>; - readonly isCollectionPermissionSet: boolean; - readonly asCollectionPermissionSet: u32; - readonly isCollectionSponsorSet: boolean; - readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>; - readonly isSponsorshipConfirmed: boolean; - readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>; - readonly isCollectionSponsorRemoved: boolean; - readonly asCollectionSponsorRemoved: u32; - readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'ApprovedForAll' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet' | 'AllowListAddressAdded' | 'AllowListAddressRemoved' | 'CollectionAdminAdded' | 'CollectionAdminRemoved' | 'CollectionLimitSet' | 'CollectionOwnerChanged' | 'CollectionPermissionSet' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionSponsorRemoved'; - } - - /** @name PalletEvmAccountBasicCrossAccountIdRepr (120) */ - interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum { - readonly isSubstrate: boolean; - readonly asSubstrate: AccountId32; - readonly isEthereum: boolean; - readonly asEthereum: H160; - readonly type: 'Substrate' | 'Ethereum'; - } - - /** @name PalletStructureEvent (123) */ - interface PalletStructureEvent extends Enum { - readonly isExecuted: boolean; - readonly asExecuted: Result; - readonly type: 'Executed'; - } - - /** @name PalletAppPromotionEvent (124) */ - interface PalletAppPromotionEvent extends Enum { - readonly isStakingRecalculation: boolean; - readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>; - readonly isStake: boolean; - readonly asStake: ITuple<[AccountId32, u128]>; - readonly isUnstake: boolean; - readonly asUnstake: ITuple<[AccountId32, u128]>; - readonly isSetAdmin: boolean; - readonly asSetAdmin: AccountId32; - readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin'; - } - - /** @name PalletForeignAssetsModuleEvent (125) */ - interface PalletForeignAssetsModuleEvent extends Enum { - readonly isForeignAssetRegistered: boolean; - readonly asForeignAssetRegistered: { - readonly assetId: u32; - readonly assetAddress: XcmV3MultiLocation; - readonly metadata: PalletForeignAssetsModuleAssetMetadata; + readonly isClearIdentity: boolean; + readonly isRequestJudgement: boolean; + readonly asRequestJudgement: { + readonly regIndex: Compact; + readonly maxFee: Compact; } & Struct; - readonly isForeignAssetUpdated: boolean; - readonly asForeignAssetUpdated: { - readonly assetId: u32; - readonly assetAddress: XcmV3MultiLocation; - readonly metadata: PalletForeignAssetsModuleAssetMetadata; + readonly isCancelRequest: boolean; + readonly asCancelRequest: { + readonly regIndex: u32; } & Struct; - readonly isAssetRegistered: boolean; - readonly asAssetRegistered: { - readonly assetId: PalletForeignAssetsAssetIds; - readonly metadata: PalletForeignAssetsModuleAssetMetadata; + readonly isSetFee: boolean; + readonly asSetFee: { + readonly index: Compact; + readonly fee: Compact; } & Struct; - readonly isAssetUpdated: boolean; - readonly asAssetUpdated: { - readonly assetId: PalletForeignAssetsAssetIds; - readonly metadata: PalletForeignAssetsModuleAssetMetadata; + readonly isSetAccountId: boolean; + readonly asSetAccountId: { + readonly index: Compact; + readonly new_: MultiAddress; } & Struct; - readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated'; - } - - /** @name PalletForeignAssetsModuleAssetMetadata (126) */ - interface PalletForeignAssetsModuleAssetMetadata extends Struct { - readonly name: Bytes; - readonly symbol: Bytes; - readonly decimals: u8; - readonly minimalBalance: u128; - } - - /** @name PalletEvmEvent (129) */ - interface PalletEvmEvent extends Enum { - readonly isLog: boolean; - readonly asLog: { - readonly log: EthereumLog; + readonly isSetFields: boolean; + readonly asSetFields: { + readonly index: Compact; + readonly fields: PalletIdentityBitFlags; } & Struct; - readonly isCreated: boolean; - readonly asCreated: { - readonly address: H160; + readonly isProvideJudgement: boolean; + readonly asProvideJudgement: { + readonly regIndex: Compact; + readonly target: MultiAddress; + readonly judgement: PalletIdentityJudgement; + readonly identity: H256; } & Struct; - readonly isCreatedFailed: boolean; - readonly asCreatedFailed: { - readonly address: H160; + readonly isKillIdentity: boolean; + readonly asKillIdentity: { + readonly target: MultiAddress; } & Struct; - readonly isExecuted: boolean; - readonly asExecuted: { - readonly address: H160; + readonly isAddSub: boolean; + readonly asAddSub: { + readonly sub: MultiAddress; + readonly data: Data; } & Struct; - readonly isExecutedFailed: boolean; - readonly asExecutedFailed: { - readonly address: H160; + readonly isRenameSub: boolean; + readonly asRenameSub: { + readonly sub: MultiAddress; + readonly data: Data; } & Struct; - readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed'; + readonly isRemoveSub: boolean; + readonly asRemoveSub: { + readonly sub: MultiAddress; + } & Struct; + readonly isQuitSub: boolean; + readonly isForceInsertIdentities: boolean; + readonly asForceInsertIdentities: { + readonly identities: Vec>; + } & Struct; + readonly isForceRemoveIdentities: boolean; + readonly asForceRemoveIdentities: { + readonly identities: Vec; + } & Struct; + readonly isForceSetSubs: boolean; + readonly asForceSetSubs: { + readonly subs: Vec>]>]>>; + } & Struct; + readonly type: 'AddRegistrar' | 'SetIdentity' | 'SetSubs' | 'ClearIdentity' | 'RequestJudgement' | 'CancelRequest' | 'SetFee' | 'SetAccountId' | 'SetFields' | 'ProvideJudgement' | 'KillIdentity' | 'AddSub' | 'RenameSub' | 'RemoveSub' | 'QuitSub' | 'ForceInsertIdentities' | 'ForceRemoveIdentities' | 'ForceSetSubs'; } - /** @name EthereumLog (130) */ - interface EthereumLog extends Struct { - readonly address: H160; - readonly topics: Vec; - readonly data: Bytes; + /** @name PalletIdentityIdentityInfo (149) */ + interface PalletIdentityIdentityInfo extends Struct { + readonly additional: Vec>; + readonly display: Data; + readonly legal: Data; + readonly web: Data; + readonly riot: Data; + readonly email: Data; + readonly pgpFingerprint: Option; + readonly image: Data; + readonly twitter: Data; } - /** @name PalletEthereumEvent (132) */ - interface PalletEthereumEvent extends Enum { - readonly isExecuted: boolean; - readonly asExecuted: { - readonly from: H160; - readonly to: H160; - readonly transactionHash: H256; - readonly exitReason: EvmCoreErrorExitReason; - readonly extraData: Bytes; - } & Struct; - readonly type: 'Executed'; - } - - /** @name EvmCoreErrorExitReason (133) */ - interface EvmCoreErrorExitReason extends Enum { - readonly isSucceed: boolean; - readonly asSucceed: EvmCoreErrorExitSucceed; - readonly isError: boolean; - readonly asError: EvmCoreErrorExitError; - readonly isRevert: boolean; - readonly asRevert: EvmCoreErrorExitRevert; - readonly isFatal: boolean; - readonly asFatal: EvmCoreErrorExitFatal; - readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal'; - } - - /** @name EvmCoreErrorExitSucceed (134) */ - interface EvmCoreErrorExitSucceed extends Enum { - readonly isStopped: boolean; - readonly isReturned: boolean; - readonly isSuicided: boolean; - readonly type: 'Stopped' | 'Returned' | 'Suicided'; - } - - /** @name EvmCoreErrorExitError (135) */ - interface EvmCoreErrorExitError extends Enum { - readonly isStackUnderflow: boolean; - readonly isStackOverflow: boolean; - readonly isInvalidJump: boolean; - readonly isInvalidRange: boolean; - readonly isDesignatedInvalid: boolean; - readonly isCallTooDeep: boolean; - readonly isCreateCollision: boolean; - readonly isCreateContractLimit: boolean; - readonly isOutOfOffset: boolean; - readonly isOutOfGas: boolean; - readonly isOutOfFund: boolean; - readonly isPcUnderflow: boolean; - readonly isCreateEmpty: boolean; - readonly isOther: boolean; - readonly asOther: Text; - readonly isMaxNonce: boolean; - readonly isInvalidCode: boolean; - readonly asInvalidCode: u8; - readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'MaxNonce' | 'InvalidCode'; - } - - /** @name EvmCoreErrorExitRevert (139) */ - interface EvmCoreErrorExitRevert extends Enum { - readonly isReverted: boolean; - readonly type: 'Reverted'; - } - - /** @name EvmCoreErrorExitFatal (140) */ - interface EvmCoreErrorExitFatal extends Enum { - readonly isNotSupported: boolean; - readonly isUnhandledInterrupt: boolean; - readonly isCallErrorAsFatal: boolean; - readonly asCallErrorAsFatal: EvmCoreErrorExitError; - readonly isOther: boolean; - readonly asOther: Text; - readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other'; - } - - /** @name PalletEvmContractHelpersEvent (141) */ - interface PalletEvmContractHelpersEvent extends Enum { - readonly isContractSponsorSet: boolean; - readonly asContractSponsorSet: ITuple<[H160, AccountId32]>; - readonly isContractSponsorshipConfirmed: boolean; - readonly asContractSponsorshipConfirmed: ITuple<[H160, AccountId32]>; - readonly isContractSponsorRemoved: boolean; - readonly asContractSponsorRemoved: H160; - readonly type: 'ContractSponsorSet' | 'ContractSponsorshipConfirmed' | 'ContractSponsorRemoved'; - } - - /** @name PalletEvmMigrationEvent (142) */ - interface PalletEvmMigrationEvent extends Enum { - readonly isTestEvent: boolean; - readonly type: 'TestEvent'; + /** @name PalletIdentityBitFlags (185) */ + interface PalletIdentityBitFlags extends Set { + readonly isDisplay: boolean; + readonly isLegal: boolean; + readonly isWeb: boolean; + readonly isRiot: boolean; + readonly isEmail: boolean; + readonly isPgpFingerprint: boolean; + readonly isImage: boolean; + readonly isTwitter: boolean; } - /** @name PalletMaintenanceEvent (143) */ - interface PalletMaintenanceEvent extends Enum { - readonly isMaintenanceEnabled: boolean; - readonly isMaintenanceDisabled: boolean; - readonly type: 'MaintenanceEnabled' | 'MaintenanceDisabled'; + /** @name PalletIdentityIdentityField (186) */ + interface PalletIdentityIdentityField extends Enum { + readonly isDisplay: boolean; + readonly isLegal: boolean; + readonly isWeb: boolean; + readonly isRiot: boolean; + readonly isEmail: boolean; + readonly isPgpFingerprint: boolean; + readonly isImage: boolean; + readonly isTwitter: boolean; + readonly type: 'Display' | 'Legal' | 'Web' | 'Riot' | 'Email' | 'PgpFingerprint' | 'Image' | 'Twitter'; } - /** @name PalletTestUtilsEvent (144) */ - interface PalletTestUtilsEvent extends Enum { - readonly isValueIsSet: boolean; - readonly isShouldRollback: boolean; - readonly isBatchCompleted: boolean; - readonly type: 'ValueIsSet' | 'ShouldRollback' | 'BatchCompleted'; + /** @name PalletIdentityJudgement (187) */ + interface PalletIdentityJudgement extends Enum { + readonly isUnknown: boolean; + readonly isFeePaid: boolean; + readonly asFeePaid: u128; + readonly isReasonable: boolean; + readonly isKnownGood: boolean; + readonly isOutOfDate: boolean; + readonly isLowQuality: boolean; + readonly isErroneous: boolean; + readonly type: 'Unknown' | 'FeePaid' | 'Reasonable' | 'KnownGood' | 'OutOfDate' | 'LowQuality' | 'Erroneous'; } - /** @name FrameSystemPhase (145) */ - interface FrameSystemPhase extends Enum { - readonly isApplyExtrinsic: boolean; - readonly asApplyExtrinsic: u32; - readonly isFinalization: boolean; - readonly isInitialization: boolean; - readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization'; + /** @name PalletIdentityRegistration (190) */ + interface PalletIdentityRegistration extends Struct { + readonly judgements: Vec>; + readonly deposit: u128; + readonly info: PalletIdentityIdentityInfo; } - /** @name FrameSystemLastRuntimeUpgradeInfo (148) */ - interface FrameSystemLastRuntimeUpgradeInfo extends Struct { - readonly specVersion: Compact; - readonly specName: Text; + /** @name PalletPreimageCall (198) */ + interface PalletPreimageCall extends Enum { + readonly isNotePreimage: boolean; + readonly asNotePreimage: { + readonly bytes: Bytes; + } & Struct; + readonly isUnnotePreimage: boolean; + readonly asUnnotePreimage: { + readonly hash_: H256; + } & Struct; + readonly isRequestPreimage: boolean; + readonly asRequestPreimage: { + readonly hash_: H256; + } & Struct; + readonly isUnrequestPreimage: boolean; + readonly asUnrequestPreimage: { + readonly hash_: H256; + } & Struct; + readonly type: 'NotePreimage' | 'UnnotePreimage' | 'RequestPreimage' | 'UnrequestPreimage'; } - /** @name FrameSystemCall (149) */ - interface FrameSystemCall extends Enum { - readonly isRemark: boolean; - readonly asRemark: { - readonly remark: Bytes; - } & Struct; - readonly isSetHeapPages: boolean; - readonly asSetHeapPages: { - readonly pages: u64; + /** @name PalletDemocracyCall (199) */ + interface PalletDemocracyCall extends Enum { + readonly isPropose: boolean; + readonly asPropose: { + readonly proposal: FrameSupportPreimagesBounded; + readonly value: Compact; } & Struct; - readonly isSetCode: boolean; - readonly asSetCode: { - readonly code: Bytes; + readonly isSecond: boolean; + readonly asSecond: { + readonly proposal: Compact; + } & Struct; + readonly isVote: boolean; + readonly asVote: { + readonly refIndex: Compact; + readonly vote: PalletDemocracyVoteAccountVote; + } & Struct; + readonly isEmergencyCancel: boolean; + readonly asEmergencyCancel: { + readonly refIndex: u32; + } & Struct; + readonly isExternalPropose: boolean; + readonly asExternalPropose: { + readonly proposal: FrameSupportPreimagesBounded; + } & Struct; + readonly isExternalProposeMajority: boolean; + readonly asExternalProposeMajority: { + readonly proposal: FrameSupportPreimagesBounded; + } & Struct; + readonly isExternalProposeDefault: boolean; + readonly asExternalProposeDefault: { + readonly proposal: FrameSupportPreimagesBounded; + } & Struct; + readonly isFastTrack: boolean; + readonly asFastTrack: { + readonly proposalHash: H256; + readonly votingPeriod: u32; + readonly delay: u32; + } & Struct; + readonly isVetoExternal: boolean; + readonly asVetoExternal: { + readonly proposalHash: H256; + } & Struct; + readonly isCancelReferendum: boolean; + readonly asCancelReferendum: { + readonly refIndex: Compact; + } & Struct; + readonly isDelegate: boolean; + readonly asDelegate: { + readonly to: MultiAddress; + readonly conviction: PalletDemocracyConviction; + readonly balance: u128; + } & Struct; + readonly isUndelegate: boolean; + readonly isClearPublicProposals: boolean; + readonly isUnlock: boolean; + readonly asUnlock: { + readonly target: MultiAddress; } & Struct; - readonly isSetCodeWithoutChecks: boolean; - readonly asSetCodeWithoutChecks: { - readonly code: Bytes; + readonly isRemoveVote: boolean; + readonly asRemoveVote: { + readonly index: u32; } & Struct; - readonly isSetStorage: boolean; - readonly asSetStorage: { - readonly items: Vec>; + readonly isRemoveOtherVote: boolean; + readonly asRemoveOtherVote: { + readonly target: MultiAddress; + readonly index: u32; } & Struct; - readonly isKillStorage: boolean; - readonly asKillStorage: { - readonly keys_: Vec; + readonly isBlacklist: boolean; + readonly asBlacklist: { + readonly proposalHash: H256; + readonly maybeRefIndex: Option; } & Struct; - readonly isKillPrefix: boolean; - readonly asKillPrefix: { - readonly prefix: Bytes; - readonly subkeys: u32; + readonly isCancelProposal: boolean; + readonly asCancelProposal: { + readonly propIndex: Compact; } & Struct; - readonly isRemarkWithEvent: boolean; - readonly asRemarkWithEvent: { - readonly remark: Bytes; + readonly isSetMetadata: boolean; + readonly asSetMetadata: { + readonly owner: PalletDemocracyMetadataOwner; + readonly maybeHash: Option; } & Struct; - readonly type: 'Remark' | 'SetHeapPages' | 'SetCode' | 'SetCodeWithoutChecks' | 'SetStorage' | 'KillStorage' | 'KillPrefix' | 'RemarkWithEvent'; - } - - /** @name FrameSystemLimitsBlockWeights (153) */ - interface FrameSystemLimitsBlockWeights extends Struct { - readonly baseBlock: SpWeightsWeightV2Weight; - readonly maxBlock: SpWeightsWeightV2Weight; - readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass; + readonly type: 'Propose' | 'Second' | 'Vote' | 'EmergencyCancel' | 'ExternalPropose' | 'ExternalProposeMajority' | 'ExternalProposeDefault' | 'FastTrack' | 'VetoExternal' | 'CancelReferendum' | 'Delegate' | 'Undelegate' | 'ClearPublicProposals' | 'Unlock' | 'RemoveVote' | 'RemoveOtherVote' | 'Blacklist' | 'CancelProposal' | 'SetMetadata'; } - /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (154) */ - interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct { - readonly normal: FrameSystemLimitsWeightsPerClass; - readonly operational: FrameSystemLimitsWeightsPerClass; - readonly mandatory: FrameSystemLimitsWeightsPerClass; + /** @name PalletDemocracyConviction (200) */ + interface PalletDemocracyConviction extends Enum { + readonly isNone: boolean; + readonly isLocked1x: boolean; + readonly isLocked2x: boolean; + readonly isLocked3x: boolean; + readonly isLocked4x: boolean; + readonly isLocked5x: boolean; + readonly isLocked6x: boolean; + readonly type: 'None' | 'Locked1x' | 'Locked2x' | 'Locked3x' | 'Locked4x' | 'Locked5x' | 'Locked6x'; + } + + /** @name PalletCollectiveCall (203) */ + interface PalletCollectiveCall extends Enum { + readonly isSetMembers: boolean; + readonly asSetMembers: { + readonly newMembers: Vec; + readonly prime: Option; + readonly oldCount: u32; + } & Struct; + readonly isExecute: boolean; + readonly asExecute: { + readonly proposal: Call; + readonly lengthBound: Compact; + } & Struct; + readonly isPropose: boolean; + readonly asPropose: { + readonly threshold: Compact; + readonly proposal: Call; + readonly lengthBound: Compact; + } & Struct; + readonly isVote: boolean; + readonly asVote: { + readonly proposal: H256; + readonly index: Compact; + readonly approve: bool; + } & Struct; + readonly isDisapproveProposal: boolean; + readonly asDisapproveProposal: { + readonly proposalHash: H256; + } & Struct; + readonly isClose: boolean; + readonly asClose: { + readonly proposalHash: H256; + readonly index: Compact; + readonly proposalWeightBound: SpWeightsWeightV2Weight; + readonly lengthBound: Compact; + } & Struct; + readonly type: 'SetMembers' | 'Execute' | 'Propose' | 'Vote' | 'DisapproveProposal' | 'Close'; } - /** @name FrameSystemLimitsWeightsPerClass (155) */ - interface FrameSystemLimitsWeightsPerClass extends Struct { - readonly baseExtrinsic: SpWeightsWeightV2Weight; - readonly maxExtrinsic: Option; - readonly maxTotal: Option; - readonly reserved: Option; + /** @name PalletMembershipCall (205) */ + interface PalletMembershipCall extends Enum { + readonly isAddMember: boolean; + readonly asAddMember: { + readonly who: MultiAddress; + } & Struct; + readonly isRemoveMember: boolean; + readonly asRemoveMember: { + readonly who: MultiAddress; + } & Struct; + readonly isSwapMember: boolean; + readonly asSwapMember: { + readonly remove: MultiAddress; + readonly add: MultiAddress; + } & Struct; + readonly isResetMembers: boolean; + readonly asResetMembers: { + readonly members: Vec; + } & Struct; + readonly isChangeKey: boolean; + readonly asChangeKey: { + readonly new_: MultiAddress; + } & Struct; + readonly isSetPrime: boolean; + readonly asSetPrime: { + readonly who: MultiAddress; + } & Struct; + readonly isClearPrime: boolean; + readonly type: 'AddMember' | 'RemoveMember' | 'SwapMember' | 'ResetMembers' | 'ChangeKey' | 'SetPrime' | 'ClearPrime'; } - /** @name FrameSystemLimitsBlockLength (157) */ - interface FrameSystemLimitsBlockLength extends Struct { - readonly max: FrameSupportDispatchPerDispatchClassU32; + /** @name PalletRankedCollectiveCall (207) */ + interface PalletRankedCollectiveCall extends Enum { + readonly isAddMember: boolean; + readonly asAddMember: { + readonly who: MultiAddress; + } & Struct; + readonly isPromoteMember: boolean; + readonly asPromoteMember: { + readonly who: MultiAddress; + } & Struct; + readonly isDemoteMember: boolean; + readonly asDemoteMember: { + readonly who: MultiAddress; + } & Struct; + readonly isRemoveMember: boolean; + readonly asRemoveMember: { + readonly who: MultiAddress; + readonly minRank: u16; + } & Struct; + readonly isVote: boolean; + readonly asVote: { + readonly poll: u32; + readonly aye: bool; + } & Struct; + readonly isCleanupPoll: boolean; + readonly asCleanupPoll: { + readonly pollIndex: u32; + readonly max: u32; + } & Struct; + readonly type: 'AddMember' | 'PromoteMember' | 'DemoteMember' | 'RemoveMember' | 'Vote' | 'CleanupPoll'; + } + + /** @name PalletReferendaCall (208) */ + interface PalletReferendaCall extends Enum { + readonly isSubmit: boolean; + readonly asSubmit: { + readonly proposalOrigin: QuartzRuntimeOriginCaller; + readonly proposal: FrameSupportPreimagesBounded; + readonly enactmentMoment: FrameSupportScheduleDispatchTime; + } & Struct; + readonly isPlaceDecisionDeposit: boolean; + readonly asPlaceDecisionDeposit: { + readonly index: u32; + } & Struct; + readonly isRefundDecisionDeposit: boolean; + readonly asRefundDecisionDeposit: { + readonly index: u32; + } & Struct; + readonly isCancel: boolean; + readonly asCancel: { + readonly index: u32; + } & Struct; + readonly isKill: boolean; + readonly asKill: { + readonly index: u32; + } & Struct; + readonly isNudgeReferendum: boolean; + readonly asNudgeReferendum: { + readonly index: u32; + } & Struct; + readonly isOneFewerDeciding: boolean; + readonly asOneFewerDeciding: { + readonly track: u16; + } & Struct; + readonly isRefundSubmissionDeposit: boolean; + readonly asRefundSubmissionDeposit: { + readonly index: u32; + } & Struct; + readonly isSetMetadata: boolean; + readonly asSetMetadata: { + readonly index: u32; + readonly maybeHash: Option; + } & Struct; + readonly type: 'Submit' | 'PlaceDecisionDeposit' | 'RefundDecisionDeposit' | 'Cancel' | 'Kill' | 'NudgeReferendum' | 'OneFewerDeciding' | 'RefundSubmissionDeposit' | 'SetMetadata'; + } + + /** @name QuartzRuntimeOriginCaller (209) */ + interface QuartzRuntimeOriginCaller extends Enum { + readonly isSystem: boolean; + readonly asSystem: FrameSupportDispatchRawOrigin; + readonly isVoid: boolean; + readonly isCouncil: boolean; + readonly asCouncil: PalletCollectiveRawOrigin; + readonly isTechnicalCommittee: boolean; + readonly asTechnicalCommittee: PalletCollectiveRawOrigin; + readonly isPolkadotXcm: boolean; + readonly asPolkadotXcm: PalletXcmOrigin; + readonly isCumulusXcm: boolean; + readonly asCumulusXcm: CumulusPalletXcmOrigin; + readonly isOrigins: boolean; + readonly asOrigins: PalletGovOriginsOrigin; + readonly isEthereum: boolean; + readonly asEthereum: PalletEthereumRawOrigin; + readonly type: 'System' | 'Void' | 'Council' | 'TechnicalCommittee' | 'PolkadotXcm' | 'CumulusXcm' | 'Origins' | 'Ethereum'; } - /** @name FrameSupportDispatchPerDispatchClassU32 (158) */ - interface FrameSupportDispatchPerDispatchClassU32 extends Struct { - readonly normal: u32; - readonly operational: u32; - readonly mandatory: u32; + /** @name FrameSupportDispatchRawOrigin (210) */ + interface FrameSupportDispatchRawOrigin extends Enum { + readonly isRoot: boolean; + readonly isSigned: boolean; + readonly asSigned: AccountId32; + readonly isNone: boolean; + readonly type: 'Root' | 'Signed' | 'None'; } - /** @name SpWeightsRuntimeDbWeight (159) */ - interface SpWeightsRuntimeDbWeight extends Struct { - readonly read: u64; - readonly write: u64; + /** @name PalletCollectiveRawOrigin (211) */ + interface PalletCollectiveRawOrigin extends Enum { + readonly isMembers: boolean; + readonly asMembers: ITuple<[u32, u32]>; + readonly isMember: boolean; + readonly asMember: AccountId32; + readonly isPhantom: boolean; + readonly type: 'Members' | 'Member' | 'Phantom'; } - /** @name SpVersionRuntimeVersion (160) */ - interface SpVersionRuntimeVersion extends Struct { - readonly specName: Text; - readonly implName: Text; - readonly authoringVersion: u32; - readonly specVersion: u32; - readonly implVersion: u32; - readonly apis: Vec>; - readonly transactionVersion: u32; - readonly stateVersion: u8; + /** @name PalletGovOriginsOrigin (213) */ + interface PalletGovOriginsOrigin extends Enum { + readonly isFellowshipProposition: boolean; + readonly type: 'FellowshipProposition'; } - /** @name FrameSystemError (165) */ - interface FrameSystemError extends Enum { - readonly isInvalidSpecName: boolean; - readonly isSpecVersionNeedsToIncrease: boolean; - readonly isFailedToExtractRuntimeVersion: boolean; - readonly isNonDefaultComposite: boolean; - readonly isNonZeroRefCount: boolean; - readonly isCallFiltered: boolean; - readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered'; + /** @name PalletXcmOrigin (214) */ + interface PalletXcmOrigin extends Enum { + readonly isXcm: boolean; + readonly asXcm: XcmV3MultiLocation; + readonly isResponse: boolean; + readonly asResponse: XcmV3MultiLocation; + readonly type: 'Xcm' | 'Response'; + } + + /** @name CumulusPalletXcmOrigin (215) */ + interface CumulusPalletXcmOrigin extends Enum { + readonly isRelay: boolean; + readonly isSiblingParachain: boolean; + readonly asSiblingParachain: u32; + readonly type: 'Relay' | 'SiblingParachain'; + } + + /** @name PalletEthereumRawOrigin (216) */ + interface PalletEthereumRawOrigin extends Enum { + readonly isEthereumTransaction: boolean; + readonly asEthereumTransaction: H160; + readonly type: 'EthereumTransaction'; + } + + /** @name SpCoreVoid (218) */ + type SpCoreVoid = Null; + + /** @name FrameSupportScheduleDispatchTime (219) */ + interface FrameSupportScheduleDispatchTime extends Enum { + readonly isAt: boolean; + readonly asAt: u32; + readonly isAfter: boolean; + readonly asAfter: u32; + readonly type: 'At' | 'After'; + } + + /** @name PalletSchedulerCall (220) */ + interface PalletSchedulerCall extends Enum { + readonly isSchedule: boolean; + readonly asSchedule: { + readonly when: u32; + readonly maybePeriodic: Option>; + readonly priority: u8; + readonly call: Call; + } & Struct; + readonly isCancel: boolean; + readonly asCancel: { + readonly when: u32; + readonly index: u32; + } & Struct; + readonly isScheduleNamed: boolean; + readonly asScheduleNamed: { + readonly id: U8aFixed; + readonly when: u32; + readonly maybePeriodic: Option>; + readonly priority: u8; + readonly call: Call; + } & Struct; + readonly isCancelNamed: boolean; + readonly asCancelNamed: { + readonly id: U8aFixed; + } & Struct; + readonly isScheduleAfter: boolean; + readonly asScheduleAfter: { + readonly after: u32; + readonly maybePeriodic: Option>; + readonly priority: u8; + readonly call: Call; + } & Struct; + readonly isScheduleNamedAfter: boolean; + readonly asScheduleNamedAfter: { + readonly id: U8aFixed; + readonly after: u32; + readonly maybePeriodic: Option>; + readonly priority: u8; + readonly call: Call; + } & Struct; + readonly type: 'Schedule' | 'Cancel' | 'ScheduleNamed' | 'CancelNamed' | 'ScheduleAfter' | 'ScheduleNamedAfter'; } - /** @name PalletStateTrieMigrationMigrationTask (166) */ - interface PalletStateTrieMigrationMigrationTask extends Struct { - readonly progressTop: PalletStateTrieMigrationProgress; - readonly progressChild: PalletStateTrieMigrationProgress; - readonly size_: u32; - readonly topItems: u32; - readonly childItems: u32; - } - - /** @name PalletStateTrieMigrationProgress (167) */ - interface PalletStateTrieMigrationProgress extends Enum { - readonly isToStart: boolean; - readonly isLastKey: boolean; - readonly asLastKey: Bytes; - readonly isComplete: boolean; - readonly type: 'ToStart' | 'LastKey' | 'Complete'; - } - - /** @name PalletStateTrieMigrationMigrationLimits (170) */ - interface PalletStateTrieMigrationMigrationLimits extends Struct { - readonly size_: u32; - readonly item: u32; - } - - /** @name PalletStateTrieMigrationCall (171) */ - interface PalletStateTrieMigrationCall extends Enum { - readonly isControlAutoMigration: boolean; - readonly asControlAutoMigration: { - readonly maybeConfig: Option; + /** @name CumulusPalletXcmpQueueCall (223) */ + interface CumulusPalletXcmpQueueCall extends Enum { + readonly isServiceOverweight: boolean; + readonly asServiceOverweight: { + readonly index: u64; + readonly weightLimit: SpWeightsWeightV2Weight; } & Struct; - readonly isContinueMigrate: boolean; - readonly asContinueMigrate: { - readonly limits: PalletStateTrieMigrationMigrationLimits; - readonly realSizeUpper: u32; - readonly witnessTask: PalletStateTrieMigrationMigrationTask; + readonly isSuspendXcmExecution: boolean; + readonly isResumeXcmExecution: boolean; + readonly isUpdateSuspendThreshold: boolean; + readonly asUpdateSuspendThreshold: { + readonly new_: u32; } & Struct; - readonly isMigrateCustomTop: boolean; - readonly asMigrateCustomTop: { - readonly keys_: Vec; - readonly witnessSize: u32; + readonly isUpdateDropThreshold: boolean; + readonly asUpdateDropThreshold: { + readonly new_: u32; } & Struct; - readonly isMigrateCustomChild: boolean; - readonly asMigrateCustomChild: { - readonly root: Bytes; - readonly childKeys: Vec; - readonly totalSize: u32; + readonly isUpdateResumeThreshold: boolean; + readonly asUpdateResumeThreshold: { + readonly new_: u32; } & Struct; - readonly isSetSignedMaxLimits: boolean; - readonly asSetSignedMaxLimits: { - readonly limits: PalletStateTrieMigrationMigrationLimits; + readonly isUpdateThresholdWeight: boolean; + readonly asUpdateThresholdWeight: { + readonly new_: SpWeightsWeightV2Weight; } & Struct; - readonly isForceSetProgress: boolean; - readonly asForceSetProgress: { - readonly progressTop: PalletStateTrieMigrationProgress; - readonly progressChild: PalletStateTrieMigrationProgress; + readonly isUpdateWeightRestrictDecay: boolean; + readonly asUpdateWeightRestrictDecay: { + readonly new_: SpWeightsWeightV2Weight; } & Struct; - readonly type: 'ControlAutoMigration' | 'ContinueMigrate' | 'MigrateCustomTop' | 'MigrateCustomChild' | 'SetSignedMaxLimits' | 'ForceSetProgress'; - } - - /** @name PolkadotPrimitivesV4PersistedValidationData (172) */ - interface PolkadotPrimitivesV4PersistedValidationData extends Struct { - readonly parentHead: Bytes; - readonly relayParentNumber: u32; - readonly relayParentStorageRoot: H256; - readonly maxPovSize: u32; - } - - /** @name PolkadotPrimitivesV4UpgradeRestriction (175) */ - interface PolkadotPrimitivesV4UpgradeRestriction extends Enum { - readonly isPresent: boolean; - readonly type: 'Present'; - } - - /** @name SpTrieStorageProof (176) */ - interface SpTrieStorageProof extends Struct { - readonly trieNodes: BTreeSet; - } - - /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (178) */ - interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct { - readonly dmqMqcHead: H256; - readonly relayDispatchQueueSize: CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize; - readonly ingressChannels: Vec>; - readonly egressChannels: Vec>; - } - - /** @name CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize (179) */ - interface CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize extends Struct { - readonly remainingCount: u32; - readonly remainingSize: u32; - } - - /** @name PolkadotPrimitivesV4AbridgedHrmpChannel (182) */ - interface PolkadotPrimitivesV4AbridgedHrmpChannel extends Struct { - readonly maxCapacity: u32; - readonly maxTotalSize: u32; - readonly maxMessageSize: u32; - readonly msgCount: u32; - readonly totalSize: u32; - readonly mqcHead: Option; - } - - /** @name PolkadotPrimitivesV4AbridgedHostConfiguration (184) */ - interface PolkadotPrimitivesV4AbridgedHostConfiguration extends Struct { - readonly maxCodeSize: u32; - readonly maxHeadDataSize: u32; - readonly maxUpwardQueueCount: u32; - readonly maxUpwardQueueSize: u32; - readonly maxUpwardMessageSize: u32; - readonly maxUpwardMessageNumPerCandidate: u32; - readonly hrmpMaxMessageNumPerCandidate: u32; - readonly validationUpgradeCooldown: u32; - readonly validationUpgradeDelay: u32; - } - - /** @name PolkadotCorePrimitivesOutboundHrmpMessage (190) */ - interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct { - readonly recipient: u32; - readonly data: Bytes; - } - - /** @name CumulusPalletParachainSystemCodeUpgradeAuthorization (191) */ - interface CumulusPalletParachainSystemCodeUpgradeAuthorization extends Struct { - readonly codeHash: H256; - readonly checkVersion: bool; + readonly isUpdateXcmpMaxIndividualWeight: boolean; + readonly asUpdateXcmpMaxIndividualWeight: { + readonly new_: SpWeightsWeightV2Weight; + } & Struct; + readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight'; } - /** @name CumulusPalletParachainSystemCall (192) */ - interface CumulusPalletParachainSystemCall extends Enum { - readonly isSetValidationData: boolean; - readonly asSetValidationData: { - readonly data: CumulusPrimitivesParachainInherentParachainInherentData; + /** @name PalletXcmCall (224) */ + interface PalletXcmCall extends Enum { + readonly isSend: boolean; + readonly asSend: { + readonly dest: XcmVersionedMultiLocation; + readonly message: XcmVersionedXcm; } & Struct; - readonly isSudoSendUpwardMessage: boolean; - readonly asSudoSendUpwardMessage: { - readonly message: Bytes; + readonly isTeleportAssets: boolean; + readonly asTeleportAssets: { + readonly dest: XcmVersionedMultiLocation; + readonly beneficiary: XcmVersionedMultiLocation; + readonly assets: XcmVersionedMultiAssets; + readonly feeAssetItem: u32; } & Struct; - readonly isAuthorizeUpgrade: boolean; - readonly asAuthorizeUpgrade: { - readonly codeHash: H256; - readonly checkVersion: bool; + readonly isReserveTransferAssets: boolean; + readonly asReserveTransferAssets: { + readonly dest: XcmVersionedMultiLocation; + readonly beneficiary: XcmVersionedMultiLocation; + readonly assets: XcmVersionedMultiAssets; + readonly feeAssetItem: u32; } & Struct; - readonly isEnactAuthorizedUpgrade: boolean; - readonly asEnactAuthorizedUpgrade: { - readonly code: Bytes; + readonly isExecute: boolean; + readonly asExecute: { + readonly message: XcmVersionedXcm; + readonly maxWeight: SpWeightsWeightV2Weight; } & Struct; - readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade'; - } - - /** @name CumulusPrimitivesParachainInherentParachainInherentData (193) */ - interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct { - readonly validationData: PolkadotPrimitivesV4PersistedValidationData; - readonly relayChainState: SpTrieStorageProof; - readonly downwardMessages: Vec; - readonly horizontalMessages: BTreeMap>; - } - - /** @name PolkadotCorePrimitivesInboundDownwardMessage (195) */ - interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct { - readonly sentAt: u32; - readonly msg: Bytes; - } - - /** @name PolkadotCorePrimitivesInboundHrmpMessage (198) */ - interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct { - readonly sentAt: u32; - readonly data: Bytes; + readonly isForceXcmVersion: boolean; + readonly asForceXcmVersion: { + readonly location: XcmV3MultiLocation; + readonly xcmVersion: u32; + } & Struct; + readonly isForceDefaultXcmVersion: boolean; + readonly asForceDefaultXcmVersion: { + readonly maybeXcmVersion: Option; + } & Struct; + readonly isForceSubscribeVersionNotify: boolean; + readonly asForceSubscribeVersionNotify: { + readonly location: XcmVersionedMultiLocation; + } & Struct; + readonly isForceUnsubscribeVersionNotify: boolean; + readonly asForceUnsubscribeVersionNotify: { + readonly location: XcmVersionedMultiLocation; + } & Struct; + readonly isLimitedReserveTransferAssets: boolean; + readonly asLimitedReserveTransferAssets: { + readonly dest: XcmVersionedMultiLocation; + readonly beneficiary: XcmVersionedMultiLocation; + readonly assets: XcmVersionedMultiAssets; + readonly feeAssetItem: u32; + readonly weightLimit: XcmV3WeightLimit; + } & Struct; + readonly isLimitedTeleportAssets: boolean; + readonly asLimitedTeleportAssets: { + readonly dest: XcmVersionedMultiLocation; + readonly beneficiary: XcmVersionedMultiLocation; + readonly assets: XcmVersionedMultiAssets; + readonly feeAssetItem: u32; + readonly weightLimit: XcmV3WeightLimit; + } & Struct; + readonly isForceSuspension: boolean; + readonly asForceSuspension: { + readonly suspended: bool; + } & Struct; + readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets' | 'ForceSuspension'; } - /** @name CumulusPalletParachainSystemError (201) */ - interface CumulusPalletParachainSystemError extends Enum { - readonly isOverlappingUpgrades: boolean; - readonly isProhibitedByPolkadot: boolean; - readonly isTooBig: boolean; - readonly isValidationDataNotAvailable: boolean; - readonly isHostConfigurationNotAvailable: boolean; - readonly isNotScheduled: boolean; - readonly isNothingAuthorized: boolean; - readonly isUnauthorized: boolean; - readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized'; + /** @name XcmVersionedXcm (225) */ + interface XcmVersionedXcm extends Enum { + readonly isV2: boolean; + readonly asV2: XcmV2Xcm; + readonly isV3: boolean; + readonly asV3: XcmV3Xcm; + readonly type: 'V2' | 'V3'; } - /** @name ParachainInfoCall (202) */ - type ParachainInfoCall = Null; + /** @name XcmV2Xcm (226) */ + interface XcmV2Xcm extends Vec {} - /** @name PalletCollatorSelectionCall (205) */ - interface PalletCollatorSelectionCall extends Enum { - readonly isAddInvulnerable: boolean; - readonly asAddInvulnerable: { - readonly new_: AccountId32; + /** @name XcmV2Instruction (228) */ + interface XcmV2Instruction extends Enum { + readonly isWithdrawAsset: boolean; + readonly asWithdrawAsset: XcmV2MultiassetMultiAssets; + readonly isReserveAssetDeposited: boolean; + readonly asReserveAssetDeposited: XcmV2MultiassetMultiAssets; + readonly isReceiveTeleportedAsset: boolean; + readonly asReceiveTeleportedAsset: XcmV2MultiassetMultiAssets; + readonly isQueryResponse: boolean; + readonly asQueryResponse: { + readonly queryId: Compact; + readonly response: XcmV2Response; + readonly maxWeight: Compact; } & Struct; - readonly isRemoveInvulnerable: boolean; - readonly asRemoveInvulnerable: { - readonly who: AccountId32; + readonly isTransferAsset: boolean; + readonly asTransferAsset: { + readonly assets: XcmV2MultiassetMultiAssets; + readonly beneficiary: XcmV2MultiLocation; + } & Struct; + readonly isTransferReserveAsset: boolean; + readonly asTransferReserveAsset: { + readonly assets: XcmV2MultiassetMultiAssets; + readonly dest: XcmV2MultiLocation; + readonly xcm: XcmV2Xcm; + } & Struct; + readonly isTransact: boolean; + readonly asTransact: { + readonly originType: XcmV2OriginKind; + readonly requireWeightAtMost: Compact; + readonly call: XcmDoubleEncoded; + } & Struct; + readonly isHrmpNewChannelOpenRequest: boolean; + readonly asHrmpNewChannelOpenRequest: { + readonly sender: Compact; + readonly maxMessageSize: Compact; + readonly maxCapacity: Compact; + } & Struct; + readonly isHrmpChannelAccepted: boolean; + readonly asHrmpChannelAccepted: { + readonly recipient: Compact; + } & Struct; + readonly isHrmpChannelClosing: boolean; + readonly asHrmpChannelClosing: { + readonly initiator: Compact; + readonly sender: Compact; + readonly recipient: Compact; + } & Struct; + readonly isClearOrigin: boolean; + readonly isDescendOrigin: boolean; + readonly asDescendOrigin: XcmV2MultilocationJunctions; + readonly isReportError: boolean; + readonly asReportError: { + readonly queryId: Compact; + readonly dest: XcmV2MultiLocation; + readonly maxResponseWeight: Compact; + } & Struct; + readonly isDepositAsset: boolean; + readonly asDepositAsset: { + readonly assets: XcmV2MultiassetMultiAssetFilter; + readonly maxAssets: Compact; + readonly beneficiary: XcmV2MultiLocation; + } & Struct; + readonly isDepositReserveAsset: boolean; + readonly asDepositReserveAsset: { + readonly assets: XcmV2MultiassetMultiAssetFilter; + readonly maxAssets: Compact; + readonly dest: XcmV2MultiLocation; + readonly xcm: XcmV2Xcm; + } & Struct; + readonly isExchangeAsset: boolean; + readonly asExchangeAsset: { + readonly give: XcmV2MultiassetMultiAssetFilter; + readonly receive: XcmV2MultiassetMultiAssets; + } & Struct; + readonly isInitiateReserveWithdraw: boolean; + readonly asInitiateReserveWithdraw: { + readonly assets: XcmV2MultiassetMultiAssetFilter; + readonly reserve: XcmV2MultiLocation; + readonly xcm: XcmV2Xcm; + } & Struct; + readonly isInitiateTeleport: boolean; + readonly asInitiateTeleport: { + readonly assets: XcmV2MultiassetMultiAssetFilter; + readonly dest: XcmV2MultiLocation; + readonly xcm: XcmV2Xcm; + } & Struct; + readonly isQueryHolding: boolean; + readonly asQueryHolding: { + readonly queryId: Compact; + readonly dest: XcmV2MultiLocation; + readonly assets: XcmV2MultiassetMultiAssetFilter; + readonly maxResponseWeight: Compact; + } & Struct; + readonly isBuyExecution: boolean; + readonly asBuyExecution: { + readonly fees: XcmV2MultiAsset; + readonly weightLimit: XcmV2WeightLimit; + } & Struct; + readonly isRefundSurplus: boolean; + readonly isSetErrorHandler: boolean; + readonly asSetErrorHandler: XcmV2Xcm; + readonly isSetAppendix: boolean; + readonly asSetAppendix: XcmV2Xcm; + readonly isClearError: boolean; + readonly isClaimAsset: boolean; + readonly asClaimAsset: { + readonly assets: XcmV2MultiassetMultiAssets; + readonly ticket: XcmV2MultiLocation; } & Struct; - readonly isGetLicense: boolean; - readonly isOnboard: boolean; - readonly isOffboard: boolean; - readonly isReleaseLicense: boolean; - readonly isForceReleaseLicense: boolean; - readonly asForceReleaseLicense: { - readonly who: AccountId32; + readonly isTrap: boolean; + readonly asTrap: Compact; + readonly isSubscribeVersion: boolean; + readonly asSubscribeVersion: { + readonly queryId: Compact; + readonly maxResponseWeight: Compact; } & Struct; - readonly type: 'AddInvulnerable' | 'RemoveInvulnerable' | 'GetLicense' | 'Onboard' | 'Offboard' | 'ReleaseLicense' | 'ForceReleaseLicense'; + readonly isUnsubscribeVersion: boolean; + readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion'; } - /** @name PalletCollatorSelectionError (206) */ - interface PalletCollatorSelectionError extends Enum { - readonly isTooManyCandidates: boolean; - readonly isUnknown: boolean; - readonly isPermission: boolean; - readonly isAlreadyHoldingLicense: boolean; - readonly isNoLicense: boolean; - readonly isAlreadyCandidate: boolean; - readonly isNotCandidate: boolean; - readonly isTooManyInvulnerables: boolean; - readonly isTooFewInvulnerables: boolean; - readonly isAlreadyInvulnerable: boolean; - readonly isNotInvulnerable: boolean; - readonly isNoAssociatedValidatorId: boolean; - readonly isValidatorNotRegistered: boolean; - readonly type: 'TooManyCandidates' | 'Unknown' | 'Permission' | 'AlreadyHoldingLicense' | 'NoLicense' | 'AlreadyCandidate' | 'NotCandidate' | 'TooManyInvulnerables' | 'TooFewInvulnerables' | 'AlreadyInvulnerable' | 'NotInvulnerable' | 'NoAssociatedValidatorId' | 'ValidatorNotRegistered'; + /** @name XcmV2Response (229) */ + interface XcmV2Response extends Enum { + readonly isNull: boolean; + readonly isAssets: boolean; + readonly asAssets: XcmV2MultiassetMultiAssets; + readonly isExecutionResult: boolean; + readonly asExecutionResult: Option>; + readonly isVersion: boolean; + readonly asVersion: u32; + readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version'; } - /** @name OpalRuntimeRuntimeCommonSessionKeys (209) */ - interface OpalRuntimeRuntimeCommonSessionKeys extends Struct { - readonly aura: SpConsensusAuraSr25519AppSr25519Public; + /** @name XcmV2TraitsError (232) */ + interface XcmV2TraitsError extends Enum { + readonly isOverflow: boolean; + readonly isUnimplemented: boolean; + readonly isUntrustedReserveLocation: boolean; + readonly isUntrustedTeleportLocation: boolean; + readonly isMultiLocationFull: boolean; + readonly isMultiLocationNotInvertible: boolean; + readonly isBadOrigin: boolean; + readonly isInvalidLocation: boolean; + readonly isAssetNotFound: boolean; + readonly isFailedToTransactAsset: boolean; + readonly isNotWithdrawable: boolean; + readonly isLocationCannotHold: boolean; + readonly isExceedsMaxMessageSize: boolean; + readonly isDestinationUnsupported: boolean; + readonly isTransport: boolean; + readonly isUnroutable: boolean; + readonly isUnknownClaim: boolean; + readonly isFailedToDecode: boolean; + readonly isMaxWeightInvalid: boolean; + readonly isNotHoldingFees: boolean; + readonly isTooExpensive: boolean; + readonly isTrap: boolean; + readonly asTrap: u64; + readonly isUnhandledXcmVersion: boolean; + readonly isWeightLimitReached: boolean; + readonly asWeightLimitReached: u64; + readonly isBarrier: boolean; + readonly isWeightNotComputable: boolean; + readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable'; } - /** @name SpConsensusAuraSr25519AppSr25519Public (210) */ - interface SpConsensusAuraSr25519AppSr25519Public extends SpCoreSr25519Public {} - - /** @name SpCoreSr25519Public (211) */ - interface SpCoreSr25519Public extends U8aFixed {} - - /** @name SpCoreCryptoKeyTypeId (214) */ - interface SpCoreCryptoKeyTypeId extends U8aFixed {} - - /** @name PalletSessionCall (215) */ - interface PalletSessionCall extends Enum { - readonly isSetKeys: boolean; - readonly asSetKeys: { - readonly keys_: OpalRuntimeRuntimeCommonSessionKeys; - readonly proof: Bytes; - } & Struct; - readonly isPurgeKeys: boolean; - readonly type: 'SetKeys' | 'PurgeKeys'; + /** @name XcmV2OriginKind (233) */ + interface XcmV2OriginKind extends Enum { + readonly isNative: boolean; + readonly isSovereignAccount: boolean; + readonly isSuperuser: boolean; + readonly isXcm: boolean; + readonly type: 'Native' | 'SovereignAccount' | 'Superuser' | 'Xcm'; } - /** @name PalletSessionError (216) */ - interface PalletSessionError extends Enum { - readonly isInvalidProof: boolean; - readonly isNoAssociatedValidatorId: boolean; - readonly isDuplicatedKey: boolean; - readonly isNoKeys: boolean; - readonly isNoAccount: boolean; - readonly type: 'InvalidProof' | 'NoAssociatedValidatorId' | 'DuplicatedKey' | 'NoKeys' | 'NoAccount'; + /** @name XcmDoubleEncoded (234) */ + interface XcmDoubleEncoded extends Struct { + readonly encoded: Bytes; } - /** @name PalletBalancesBalanceLock (221) */ - interface PalletBalancesBalanceLock extends Struct { - readonly id: U8aFixed; - readonly amount: u128; - readonly reasons: PalletBalancesReasons; + /** @name XcmV2MultiassetMultiAssetFilter (235) */ + interface XcmV2MultiassetMultiAssetFilter extends Enum { + readonly isDefinite: boolean; + readonly asDefinite: XcmV2MultiassetMultiAssets; + readonly isWild: boolean; + readonly asWild: XcmV2MultiassetWildMultiAsset; + readonly type: 'Definite' | 'Wild'; } - /** @name PalletBalancesReasons (222) */ - interface PalletBalancesReasons extends Enum { - readonly isFee: boolean; - readonly isMisc: boolean; + /** @name XcmV2MultiassetWildMultiAsset (236) */ + interface XcmV2MultiassetWildMultiAsset extends Enum { readonly isAll: boolean; - readonly type: 'Fee' | 'Misc' | 'All'; + readonly isAllOf: boolean; + readonly asAllOf: { + readonly id: XcmV2MultiassetAssetId; + readonly fun: XcmV2MultiassetWildFungibility; + } & Struct; + readonly type: 'All' | 'AllOf'; } - /** @name PalletBalancesReserveData (225) */ - interface PalletBalancesReserveData extends Struct { - readonly id: U8aFixed; - readonly amount: u128; + /** @name XcmV2MultiassetWildFungibility (237) */ + interface XcmV2MultiassetWildFungibility extends Enum { + readonly isFungible: boolean; + readonly isNonFungible: boolean; + readonly type: 'Fungible' | 'NonFungible'; } - /** @name PalletBalancesIdAmount (228) */ - interface PalletBalancesIdAmount extends Struct { - readonly id: U8aFixed; - readonly amount: u128; + /** @name XcmV2WeightLimit (238) */ + interface XcmV2WeightLimit extends Enum { + readonly isUnlimited: boolean; + readonly isLimited: boolean; + readonly asLimited: Compact; + readonly type: 'Unlimited' | 'Limited'; } - /** @name PalletBalancesCall (231) */ - interface PalletBalancesCall extends Enum { - readonly isTransferAllowDeath: boolean; - readonly asTransferAllowDeath: { - readonly dest: MultiAddress; - readonly value: Compact; + /** @name XcmV3Xcm (239) */ + interface XcmV3Xcm extends Vec {} + + /** @name XcmV3Instruction (241) */ + interface XcmV3Instruction extends Enum { + readonly isWithdrawAsset: boolean; + readonly asWithdrawAsset: XcmV3MultiassetMultiAssets; + readonly isReserveAssetDeposited: boolean; + readonly asReserveAssetDeposited: XcmV3MultiassetMultiAssets; + readonly isReceiveTeleportedAsset: boolean; + readonly asReceiveTeleportedAsset: XcmV3MultiassetMultiAssets; + readonly isQueryResponse: boolean; + readonly asQueryResponse: { + readonly queryId: Compact; + readonly response: XcmV3Response; + readonly maxWeight: SpWeightsWeightV2Weight; + readonly querier: Option; + } & Struct; + readonly isTransferAsset: boolean; + readonly asTransferAsset: { + readonly assets: XcmV3MultiassetMultiAssets; + readonly beneficiary: XcmV3MultiLocation; + } & Struct; + readonly isTransferReserveAsset: boolean; + readonly asTransferReserveAsset: { + readonly assets: XcmV3MultiassetMultiAssets; + readonly dest: XcmV3MultiLocation; + readonly xcm: XcmV3Xcm; + } & Struct; + readonly isTransact: boolean; + readonly asTransact: { + readonly originKind: XcmV2OriginKind; + readonly requireWeightAtMost: SpWeightsWeightV2Weight; + readonly call: XcmDoubleEncoded; + } & Struct; + readonly isHrmpNewChannelOpenRequest: boolean; + readonly asHrmpNewChannelOpenRequest: { + readonly sender: Compact; + readonly maxMessageSize: Compact; + readonly maxCapacity: Compact; + } & Struct; + readonly isHrmpChannelAccepted: boolean; + readonly asHrmpChannelAccepted: { + readonly recipient: Compact; + } & Struct; + readonly isHrmpChannelClosing: boolean; + readonly asHrmpChannelClosing: { + readonly initiator: Compact; + readonly sender: Compact; + readonly recipient: Compact; + } & Struct; + readonly isClearOrigin: boolean; + readonly isDescendOrigin: boolean; + readonly asDescendOrigin: XcmV3Junctions; + readonly isReportError: boolean; + readonly asReportError: XcmV3QueryResponseInfo; + readonly isDepositAsset: boolean; + readonly asDepositAsset: { + readonly assets: XcmV3MultiassetMultiAssetFilter; + readonly beneficiary: XcmV3MultiLocation; + } & Struct; + readonly isDepositReserveAsset: boolean; + readonly asDepositReserveAsset: { + readonly assets: XcmV3MultiassetMultiAssetFilter; + readonly dest: XcmV3MultiLocation; + readonly xcm: XcmV3Xcm; + } & Struct; + readonly isExchangeAsset: boolean; + readonly asExchangeAsset: { + readonly give: XcmV3MultiassetMultiAssetFilter; + readonly want: XcmV3MultiassetMultiAssets; + readonly maximal: bool; + } & Struct; + readonly isInitiateReserveWithdraw: boolean; + readonly asInitiateReserveWithdraw: { + readonly assets: XcmV3MultiassetMultiAssetFilter; + readonly reserve: XcmV3MultiLocation; + readonly xcm: XcmV3Xcm; + } & Struct; + readonly isInitiateTeleport: boolean; + readonly asInitiateTeleport: { + readonly assets: XcmV3MultiassetMultiAssetFilter; + readonly dest: XcmV3MultiLocation; + readonly xcm: XcmV3Xcm; + } & Struct; + readonly isReportHolding: boolean; + readonly asReportHolding: { + readonly responseInfo: XcmV3QueryResponseInfo; + readonly assets: XcmV3MultiassetMultiAssetFilter; + } & Struct; + readonly isBuyExecution: boolean; + readonly asBuyExecution: { + readonly fees: XcmV3MultiAsset; + readonly weightLimit: XcmV3WeightLimit; + } & Struct; + readonly isRefundSurplus: boolean; + readonly isSetErrorHandler: boolean; + readonly asSetErrorHandler: XcmV3Xcm; + readonly isSetAppendix: boolean; + readonly asSetAppendix: XcmV3Xcm; + readonly isClearError: boolean; + readonly isClaimAsset: boolean; + readonly asClaimAsset: { + readonly assets: XcmV3MultiassetMultiAssets; + readonly ticket: XcmV3MultiLocation; + } & Struct; + readonly isTrap: boolean; + readonly asTrap: Compact; + readonly isSubscribeVersion: boolean; + readonly asSubscribeVersion: { + readonly queryId: Compact; + readonly maxResponseWeight: SpWeightsWeightV2Weight; } & Struct; - readonly isSetBalanceDeprecated: boolean; - readonly asSetBalanceDeprecated: { - readonly who: MultiAddress; - readonly newFree: Compact; - readonly oldReserved: Compact; + readonly isUnsubscribeVersion: boolean; + readonly isBurnAsset: boolean; + readonly asBurnAsset: XcmV3MultiassetMultiAssets; + readonly isExpectAsset: boolean; + readonly asExpectAsset: XcmV3MultiassetMultiAssets; + readonly isExpectOrigin: boolean; + readonly asExpectOrigin: Option; + readonly isExpectError: boolean; + readonly asExpectError: Option>; + readonly isExpectTransactStatus: boolean; + readonly asExpectTransactStatus: XcmV3MaybeErrorCode; + readonly isQueryPallet: boolean; + readonly asQueryPallet: { + readonly moduleName: Bytes; + readonly responseInfo: XcmV3QueryResponseInfo; } & Struct; - readonly isForceTransfer: boolean; - readonly asForceTransfer: { - readonly source: MultiAddress; - readonly dest: MultiAddress; - readonly value: Compact; + readonly isExpectPallet: boolean; + readonly asExpectPallet: { + readonly index: Compact; + readonly name: Bytes; + readonly moduleName: Bytes; + readonly crateMajor: Compact; + readonly minCrateMinor: Compact; } & Struct; - readonly isTransferKeepAlive: boolean; - readonly asTransferKeepAlive: { - readonly dest: MultiAddress; - readonly value: Compact; + readonly isReportTransactStatus: boolean; + readonly asReportTransactStatus: XcmV3QueryResponseInfo; + readonly isClearTransactStatus: boolean; + readonly isUniversalOrigin: boolean; + readonly asUniversalOrigin: XcmV3Junction; + readonly isExportMessage: boolean; + readonly asExportMessage: { + readonly network: XcmV3JunctionNetworkId; + readonly destination: XcmV3Junctions; + readonly xcm: XcmV3Xcm; } & Struct; - readonly isTransferAll: boolean; - readonly asTransferAll: { - readonly dest: MultiAddress; - readonly keepAlive: bool; + readonly isLockAsset: boolean; + readonly asLockAsset: { + readonly asset: XcmV3MultiAsset; + readonly unlocker: XcmV3MultiLocation; } & Struct; - readonly isForceUnreserve: boolean; - readonly asForceUnreserve: { - readonly who: MultiAddress; - readonly amount: u128; + readonly isUnlockAsset: boolean; + readonly asUnlockAsset: { + readonly asset: XcmV3MultiAsset; + readonly target: XcmV3MultiLocation; } & Struct; - readonly isUpgradeAccounts: boolean; - readonly asUpgradeAccounts: { - readonly who: Vec; + readonly isNoteUnlockable: boolean; + readonly asNoteUnlockable: { + readonly asset: XcmV3MultiAsset; + readonly owner: XcmV3MultiLocation; } & Struct; - readonly isTransfer: boolean; - readonly asTransfer: { - readonly dest: MultiAddress; - readonly value: Compact; + readonly isRequestUnlock: boolean; + readonly asRequestUnlock: { + readonly asset: XcmV3MultiAsset; + readonly locker: XcmV3MultiLocation; } & Struct; - readonly isForceSetBalance: boolean; - readonly asForceSetBalance: { - readonly who: MultiAddress; - readonly newFree: Compact; + readonly isSetFeesMode: boolean; + readonly asSetFeesMode: { + readonly jitWithdraw: bool; } & Struct; - readonly type: 'TransferAllowDeath' | 'SetBalanceDeprecated' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve' | 'UpgradeAccounts' | 'Transfer' | 'ForceSetBalance'; + readonly isSetTopic: boolean; + readonly asSetTopic: U8aFixed; + readonly isClearTopic: boolean; + readonly isAliasOrigin: boolean; + readonly asAliasOrigin: XcmV3MultiLocation; + readonly isUnpaidExecution: boolean; + readonly asUnpaidExecution: { + readonly weightLimit: XcmV3WeightLimit; + readonly checkOrigin: Option; + } & Struct; + readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'ReportHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion' | 'BurnAsset' | 'ExpectAsset' | 'ExpectOrigin' | 'ExpectError' | 'ExpectTransactStatus' | 'QueryPallet' | 'ExpectPallet' | 'ReportTransactStatus' | 'ClearTransactStatus' | 'UniversalOrigin' | 'ExportMessage' | 'LockAsset' | 'UnlockAsset' | 'NoteUnlockable' | 'RequestUnlock' | 'SetFeesMode' | 'SetTopic' | 'ClearTopic' | 'AliasOrigin' | 'UnpaidExecution'; } - /** @name PalletBalancesError (234) */ - interface PalletBalancesError extends Enum { - readonly isVestingBalance: boolean; - readonly isLiquidityRestrictions: boolean; - readonly isInsufficientBalance: boolean; - readonly isExistentialDeposit: boolean; - readonly isExpendability: boolean; - readonly isExistingVestingSchedule: boolean; - readonly isDeadAccount: boolean; - readonly isTooManyReserves: boolean; - readonly isTooManyHolds: boolean; - readonly isTooManyFreezes: boolean; - readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'Expendability' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves' | 'TooManyHolds' | 'TooManyFreezes'; + /** @name XcmV3Response (242) */ + interface XcmV3Response extends Enum { + readonly isNull: boolean; + readonly isAssets: boolean; + readonly asAssets: XcmV3MultiassetMultiAssets; + readonly isExecutionResult: boolean; + readonly asExecutionResult: Option>; + readonly isVersion: boolean; + readonly asVersion: u32; + readonly isPalletsInfo: boolean; + readonly asPalletsInfo: Vec; + readonly isDispatchResult: boolean; + readonly asDispatchResult: XcmV3MaybeErrorCode; + readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version' | 'PalletsInfo' | 'DispatchResult'; } - /** @name PalletTimestampCall (235) */ - interface PalletTimestampCall extends Enum { - readonly isSet: boolean; - readonly asSet: { - readonly now: Compact; - } & Struct; - readonly type: 'Set'; + /** @name XcmV3TraitsError (245) */ + interface XcmV3TraitsError extends Enum { + readonly isOverflow: boolean; + readonly isUnimplemented: boolean; + readonly isUntrustedReserveLocation: boolean; + readonly isUntrustedTeleportLocation: boolean; + readonly isLocationFull: boolean; + readonly isLocationNotInvertible: boolean; + readonly isBadOrigin: boolean; + readonly isInvalidLocation: boolean; + readonly isAssetNotFound: boolean; + readonly isFailedToTransactAsset: boolean; + readonly isNotWithdrawable: boolean; + readonly isLocationCannotHold: boolean; + readonly isExceedsMaxMessageSize: boolean; + readonly isDestinationUnsupported: boolean; + readonly isTransport: boolean; + readonly isUnroutable: boolean; + readonly isUnknownClaim: boolean; + readonly isFailedToDecode: boolean; + readonly isMaxWeightInvalid: boolean; + readonly isNotHoldingFees: boolean; + readonly isTooExpensive: boolean; + readonly isTrap: boolean; + readonly asTrap: u64; + readonly isExpectationFalse: boolean; + readonly isPalletNotFound: boolean; + readonly isNameMismatch: boolean; + readonly isVersionIncompatible: boolean; + readonly isHoldingWouldOverflow: boolean; + readonly isExportError: boolean; + readonly isReanchorFailed: boolean; + readonly isNoDeal: boolean; + readonly isFeesNotMet: boolean; + readonly isLockError: boolean; + readonly isNoPermission: boolean; + readonly isUnanchored: boolean; + readonly isNotDepositable: boolean; + readonly isUnhandledXcmVersion: boolean; + readonly isWeightLimitReached: boolean; + readonly asWeightLimitReached: SpWeightsWeightV2Weight; + readonly isBarrier: boolean; + readonly isWeightNotComputable: boolean; + readonly isExceedsStackLimit: boolean; + readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'LocationFull' | 'LocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'ExpectationFalse' | 'PalletNotFound' | 'NameMismatch' | 'VersionIncompatible' | 'HoldingWouldOverflow' | 'ExportError' | 'ReanchorFailed' | 'NoDeal' | 'FeesNotMet' | 'LockError' | 'NoPermission' | 'Unanchored' | 'NotDepositable' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable' | 'ExceedsStackLimit'; } - /** @name PalletTransactionPaymentReleases (237) */ - interface PalletTransactionPaymentReleases extends Enum { - readonly isV1Ancient: boolean; - readonly isV2: boolean; - readonly type: 'V1Ancient' | 'V2'; + /** @name XcmV3PalletInfo (247) */ + interface XcmV3PalletInfo extends Struct { + readonly index: Compact; + readonly name: Bytes; + readonly moduleName: Bytes; + readonly major: Compact; + readonly minor: Compact; + readonly patch: Compact; } - /** @name PalletTreasuryProposal (238) */ - interface PalletTreasuryProposal extends Struct { - readonly proposer: AccountId32; - readonly value: u128; - readonly beneficiary: AccountId32; - readonly bond: u128; + /** @name XcmV3MaybeErrorCode (250) */ + interface XcmV3MaybeErrorCode extends Enum { + readonly isSuccess: boolean; + readonly isError: boolean; + readonly asError: Bytes; + readonly isTruncatedError: boolean; + readonly asTruncatedError: Bytes; + readonly type: 'Success' | 'Error' | 'TruncatedError'; } - /** @name PalletTreasuryCall (240) */ - interface PalletTreasuryCall extends Enum { - readonly isProposeSpend: boolean; - readonly asProposeSpend: { - readonly value: Compact; - readonly beneficiary: MultiAddress; - } & Struct; - readonly isRejectProposal: boolean; - readonly asRejectProposal: { - readonly proposalId: Compact; - } & Struct; - readonly isApproveProposal: boolean; - readonly asApproveProposal: { - readonly proposalId: Compact; - } & Struct; - readonly isSpend: boolean; - readonly asSpend: { - readonly amount: Compact; - readonly beneficiary: MultiAddress; + /** @name XcmV3QueryResponseInfo (253) */ + interface XcmV3QueryResponseInfo extends Struct { + readonly destination: XcmV3MultiLocation; + readonly queryId: Compact; + readonly maxWeight: SpWeightsWeightV2Weight; + } + + /** @name XcmV3MultiassetMultiAssetFilter (254) */ + interface XcmV3MultiassetMultiAssetFilter extends Enum { + readonly isDefinite: boolean; + readonly asDefinite: XcmV3MultiassetMultiAssets; + readonly isWild: boolean; + readonly asWild: XcmV3MultiassetWildMultiAsset; + readonly type: 'Definite' | 'Wild'; + } + + /** @name XcmV3MultiassetWildMultiAsset (255) */ + interface XcmV3MultiassetWildMultiAsset extends Enum { + readonly isAll: boolean; + readonly isAllOf: boolean; + readonly asAllOf: { + readonly id: XcmV3MultiassetAssetId; + readonly fun: XcmV3MultiassetWildFungibility; } & Struct; - readonly isRemoveApproval: boolean; - readonly asRemoveApproval: { - readonly proposalId: Compact; + readonly isAllCounted: boolean; + readonly asAllCounted: Compact; + readonly isAllOfCounted: boolean; + readonly asAllOfCounted: { + readonly id: XcmV3MultiassetAssetId; + readonly fun: XcmV3MultiassetWildFungibility; + readonly count: Compact; } & Struct; - readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval'; + readonly type: 'All' | 'AllOf' | 'AllCounted' | 'AllOfCounted'; } - /** @name FrameSupportPalletId (242) */ - interface FrameSupportPalletId extends U8aFixed {} - - /** @name PalletTreasuryError (243) */ - interface PalletTreasuryError extends Enum { - readonly isInsufficientProposersBalance: boolean; - readonly isInvalidIndex: boolean; - readonly isTooManyApprovals: boolean; - readonly isInsufficientPermission: boolean; - readonly isProposalNotApproved: boolean; - readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved'; + /** @name XcmV3MultiassetWildFungibility (256) */ + interface XcmV3MultiassetWildFungibility extends Enum { + readonly isFungible: boolean; + readonly isNonFungible: boolean; + readonly type: 'Fungible' | 'NonFungible'; } - /** @name PalletSudoCall (244) */ - interface PalletSudoCall extends Enum { - readonly isSudo: boolean; - readonly asSudo: { - readonly call: Call; - } & Struct; - readonly isSudoUncheckedWeight: boolean; - readonly asSudoUncheckedWeight: { - readonly call: Call; - readonly weight: SpWeightsWeightV2Weight; - } & Struct; - readonly isSetKey: boolean; - readonly asSetKey: { - readonly new_: MultiAddress; + /** @name CumulusPalletXcmCall (265) */ + type CumulusPalletXcmCall = Null; + + /** @name CumulusPalletDmpQueueCall (266) */ + interface CumulusPalletDmpQueueCall extends Enum { + readonly isServiceOverweight: boolean; + readonly asServiceOverweight: { + readonly index: u64; + readonly weightLimit: SpWeightsWeightV2Weight; } & Struct; - readonly isSudoAs: boolean; - readonly asSudoAs: { - readonly who: MultiAddress; - readonly call: Call; + readonly type: 'ServiceOverweight'; + } + + /** @name PalletInflationCall (267) */ + interface PalletInflationCall extends Enum { + readonly isStartInflation: boolean; + readonly asStartInflation: { + readonly inflationStartRelayBlock: u32; } & Struct; - readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs'; + readonly type: 'StartInflation'; } - /** @name OrmlVestingModuleCall (246) */ - interface OrmlVestingModuleCall extends Enum { - readonly isClaim: boolean; - readonly isVestedTransfer: boolean; - readonly asVestedTransfer: { - readonly dest: MultiAddress; - readonly schedule: OrmlVestingVestingSchedule; + /** @name PalletUniqueCall (268) */ + interface PalletUniqueCall extends Enum { + readonly isCreateCollection: boolean; + readonly asCreateCollection: { + readonly collectionName: Vec; + readonly collectionDescription: Vec; + readonly tokenPrefix: Bytes; + readonly mode: UpDataStructsCollectionMode; } & Struct; - readonly isUpdateVestingSchedules: boolean; - readonly asUpdateVestingSchedules: { - readonly who: MultiAddress; - readonly vestingSchedules: Vec; + readonly isCreateCollectionEx: boolean; + readonly asCreateCollectionEx: { + readonly data: UpDataStructsCreateCollectionData; } & Struct; - readonly isClaimFor: boolean; - readonly asClaimFor: { - readonly dest: MultiAddress; + readonly isDestroyCollection: boolean; + readonly asDestroyCollection: { + readonly collectionId: u32; } & Struct; - readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor'; - } - - /** @name OrmlXtokensModuleCall (248) */ - interface OrmlXtokensModuleCall extends Enum { - readonly isTransfer: boolean; - readonly asTransfer: { - readonly currencyId: PalletForeignAssetsAssetIds; - readonly amount: u128; - readonly dest: XcmVersionedMultiLocation; - readonly destWeightLimit: XcmV3WeightLimit; + readonly isAddToAllowList: boolean; + readonly asAddToAllowList: { + readonly collectionId: u32; + readonly address: PalletEvmAccountBasicCrossAccountIdRepr; } & Struct; - readonly isTransferMultiasset: boolean; - readonly asTransferMultiasset: { - readonly asset: XcmVersionedMultiAsset; - readonly dest: XcmVersionedMultiLocation; - readonly destWeightLimit: XcmV3WeightLimit; + readonly isRemoveFromAllowList: boolean; + readonly asRemoveFromAllowList: { + readonly collectionId: u32; + readonly address: PalletEvmAccountBasicCrossAccountIdRepr; } & Struct; - readonly isTransferWithFee: boolean; - readonly asTransferWithFee: { - readonly currencyId: PalletForeignAssetsAssetIds; - readonly amount: u128; - readonly fee: u128; - readonly dest: XcmVersionedMultiLocation; - readonly destWeightLimit: XcmV3WeightLimit; + readonly isChangeCollectionOwner: boolean; + readonly asChangeCollectionOwner: { + readonly collectionId: u32; + readonly newOwner: AccountId32; } & Struct; - readonly isTransferMultiassetWithFee: boolean; - readonly asTransferMultiassetWithFee: { - readonly asset: XcmVersionedMultiAsset; - readonly fee: XcmVersionedMultiAsset; - readonly dest: XcmVersionedMultiLocation; - readonly destWeightLimit: XcmV3WeightLimit; + readonly isAddCollectionAdmin: boolean; + readonly asAddCollectionAdmin: { + readonly collectionId: u32; + readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr; } & Struct; - readonly isTransferMulticurrencies: boolean; - readonly asTransferMulticurrencies: { - readonly currencies: Vec>; - readonly feeItem: u32; - readonly dest: XcmVersionedMultiLocation; - readonly destWeightLimit: XcmV3WeightLimit; + readonly isRemoveCollectionAdmin: boolean; + readonly asRemoveCollectionAdmin: { + readonly collectionId: u32; + readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr; } & Struct; - readonly isTransferMultiassets: boolean; - readonly asTransferMultiassets: { - readonly assets: XcmVersionedMultiAssets; - readonly feeItem: u32; - readonly dest: XcmVersionedMultiLocation; - readonly destWeightLimit: XcmV3WeightLimit; + readonly isSetCollectionSponsor: boolean; + readonly asSetCollectionSponsor: { + readonly collectionId: u32; + readonly newSponsor: AccountId32; } & Struct; - readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets'; - } - - /** @name XcmVersionedMultiAsset (249) */ - interface XcmVersionedMultiAsset extends Enum { - readonly isV2: boolean; - readonly asV2: XcmV2MultiAsset; - readonly isV3: boolean; - readonly asV3: XcmV3MultiAsset; - readonly type: 'V2' | 'V3'; - } - - /** @name OrmlTokensModuleCall (252) */ - interface OrmlTokensModuleCall extends Enum { - readonly isTransfer: boolean; - readonly asTransfer: { - readonly dest: MultiAddress; - readonly currencyId: PalletForeignAssetsAssetIds; - readonly amount: Compact; + readonly isConfirmSponsorship: boolean; + readonly asConfirmSponsorship: { + readonly collectionId: u32; } & Struct; - readonly isTransferAll: boolean; - readonly asTransferAll: { - readonly dest: MultiAddress; - readonly currencyId: PalletForeignAssetsAssetIds; - readonly keepAlive: bool; + readonly isRemoveCollectionSponsor: boolean; + readonly asRemoveCollectionSponsor: { + readonly collectionId: u32; } & Struct; - readonly isTransferKeepAlive: boolean; - readonly asTransferKeepAlive: { - readonly dest: MultiAddress; - readonly currencyId: PalletForeignAssetsAssetIds; - readonly amount: Compact; + readonly isCreateItem: boolean; + readonly asCreateItem: { + readonly collectionId: u32; + readonly owner: PalletEvmAccountBasicCrossAccountIdRepr; + readonly data: UpDataStructsCreateItemData; } & Struct; - readonly isForceTransfer: boolean; - readonly asForceTransfer: { - readonly source: MultiAddress; - readonly dest: MultiAddress; - readonly currencyId: PalletForeignAssetsAssetIds; - readonly amount: Compact; + readonly isCreateMultipleItems: boolean; + readonly asCreateMultipleItems: { + readonly collectionId: u32; + readonly owner: PalletEvmAccountBasicCrossAccountIdRepr; + readonly itemsData: Vec; } & Struct; - readonly isSetBalance: boolean; - readonly asSetBalance: { - readonly who: MultiAddress; - readonly currencyId: PalletForeignAssetsAssetIds; - readonly newFree: Compact; - readonly newReserved: Compact; + readonly isSetCollectionProperties: boolean; + readonly asSetCollectionProperties: { + readonly collectionId: u32; + readonly properties: Vec; } & Struct; - readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance'; - } - - /** @name PalletIdentityCall (253) */ - interface PalletIdentityCall extends Enum { - readonly isAddRegistrar: boolean; - readonly asAddRegistrar: { - readonly account: MultiAddress; + readonly isDeleteCollectionProperties: boolean; + readonly asDeleteCollectionProperties: { + readonly collectionId: u32; + readonly propertyKeys: Vec; } & Struct; - readonly isSetIdentity: boolean; - readonly asSetIdentity: { - readonly info: PalletIdentityIdentityInfo; + readonly isSetTokenProperties: boolean; + readonly asSetTokenProperties: { + readonly collectionId: u32; + readonly tokenId: u32; + readonly properties: Vec; } & Struct; - readonly isSetSubs: boolean; - readonly asSetSubs: { - readonly subs: Vec>; + readonly isDeleteTokenProperties: boolean; + readonly asDeleteTokenProperties: { + readonly collectionId: u32; + readonly tokenId: u32; + readonly propertyKeys: Vec; } & Struct; - readonly isClearIdentity: boolean; - readonly isRequestJudgement: boolean; - readonly asRequestJudgement: { - readonly regIndex: Compact; - readonly maxFee: Compact; + readonly isSetTokenPropertyPermissions: boolean; + readonly asSetTokenPropertyPermissions: { + readonly collectionId: u32; + readonly propertyPermissions: Vec; } & Struct; - readonly isCancelRequest: boolean; - readonly asCancelRequest: { - readonly regIndex: u32; + readonly isCreateMultipleItemsEx: boolean; + readonly asCreateMultipleItemsEx: { + readonly collectionId: u32; + readonly data: UpDataStructsCreateItemExData; } & Struct; - readonly isSetFee: boolean; - readonly asSetFee: { - readonly index: Compact; - readonly fee: Compact; + readonly isSetTransfersEnabledFlag: boolean; + readonly asSetTransfersEnabledFlag: { + readonly collectionId: u32; + readonly value: bool; } & Struct; - readonly isSetAccountId: boolean; - readonly asSetAccountId: { - readonly index: Compact; - readonly new_: MultiAddress; + readonly isBurnItem: boolean; + readonly asBurnItem: { + readonly collectionId: u32; + readonly itemId: u32; + readonly value: u128; + } & Struct; + readonly isBurnFrom: boolean; + readonly asBurnFrom: { + readonly collectionId: u32; + readonly from: PalletEvmAccountBasicCrossAccountIdRepr; + readonly itemId: u32; + readonly value: u128; + } & Struct; + readonly isTransfer: boolean; + readonly asTransfer: { + readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr; + readonly collectionId: u32; + readonly itemId: u32; + readonly value: u128; } & Struct; - readonly isSetFields: boolean; - readonly asSetFields: { - readonly index: Compact; - readonly fields: PalletIdentityBitFlags; + readonly isApprove: boolean; + readonly asApprove: { + readonly spender: PalletEvmAccountBasicCrossAccountIdRepr; + readonly collectionId: u32; + readonly itemId: u32; + readonly amount: u128; } & Struct; - readonly isProvideJudgement: boolean; - readonly asProvideJudgement: { - readonly regIndex: Compact; - readonly target: MultiAddress; - readonly judgement: PalletIdentityJudgement; - readonly identity: H256; + readonly isApproveFrom: boolean; + readonly asApproveFrom: { + readonly from: PalletEvmAccountBasicCrossAccountIdRepr; + readonly to: PalletEvmAccountBasicCrossAccountIdRepr; + readonly collectionId: u32; + readonly itemId: u32; + readonly amount: u128; } & Struct; - readonly isKillIdentity: boolean; - readonly asKillIdentity: { - readonly target: MultiAddress; + readonly isTransferFrom: boolean; + readonly asTransferFrom: { + readonly from: PalletEvmAccountBasicCrossAccountIdRepr; + readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr; + readonly collectionId: u32; + readonly itemId: u32; + readonly value: u128; } & Struct; - readonly isAddSub: boolean; - readonly asAddSub: { - readonly sub: MultiAddress; - readonly data: Data; + readonly isSetCollectionLimits: boolean; + readonly asSetCollectionLimits: { + readonly collectionId: u32; + readonly newLimit: UpDataStructsCollectionLimits; } & Struct; - readonly isRenameSub: boolean; - readonly asRenameSub: { - readonly sub: MultiAddress; - readonly data: Data; + readonly isSetCollectionPermissions: boolean; + readonly asSetCollectionPermissions: { + readonly collectionId: u32; + readonly newPermission: UpDataStructsCollectionPermissions; } & Struct; - readonly isRemoveSub: boolean; - readonly asRemoveSub: { - readonly sub: MultiAddress; + readonly isRepartition: boolean; + readonly asRepartition: { + readonly collectionId: u32; + readonly tokenId: u32; + readonly amount: u128; } & Struct; - readonly isQuitSub: boolean; - readonly isForceInsertIdentities: boolean; - readonly asForceInsertIdentities: { - readonly identities: Vec>; + readonly isSetAllowanceForAll: boolean; + readonly asSetAllowanceForAll: { + readonly collectionId: u32; + readonly operator: PalletEvmAccountBasicCrossAccountIdRepr; + readonly approve: bool; } & Struct; - readonly isForceRemoveIdentities: boolean; - readonly asForceRemoveIdentities: { - readonly identities: Vec; + readonly isForceRepairCollection: boolean; + readonly asForceRepairCollection: { + readonly collectionId: u32; } & Struct; - readonly isForceSetSubs: boolean; - readonly asForceSetSubs: { - readonly subs: Vec>]>]>>; + readonly isForceRepairItem: boolean; + readonly asForceRepairItem: { + readonly collectionId: u32; + readonly itemId: u32; } & Struct; - readonly type: 'AddRegistrar' | 'SetIdentity' | 'SetSubs' | 'ClearIdentity' | 'RequestJudgement' | 'CancelRequest' | 'SetFee' | 'SetAccountId' | 'SetFields' | 'ProvideJudgement' | 'KillIdentity' | 'AddSub' | 'RenameSub' | 'RemoveSub' | 'QuitSub' | 'ForceInsertIdentities' | 'ForceRemoveIdentities' | 'ForceSetSubs'; + readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetTokenPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'ApproveFrom' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition' | 'SetAllowanceForAll' | 'ForceRepairCollection' | 'ForceRepairItem'; } - /** @name PalletIdentityIdentityInfo (254) */ - interface PalletIdentityIdentityInfo extends Struct { - readonly additional: Vec>; - readonly display: Data; - readonly legal: Data; - readonly web: Data; - readonly riot: Data; - readonly email: Data; - readonly pgpFingerprint: Option; - readonly image: Data; - readonly twitter: Data; + /** @name UpDataStructsCollectionMode (273) */ + interface UpDataStructsCollectionMode extends Enum { + readonly isNft: boolean; + readonly isFungible: boolean; + readonly asFungible: u8; + readonly isReFungible: boolean; + readonly type: 'Nft' | 'Fungible' | 'ReFungible'; } - /** @name PalletIdentityBitFlags (290) */ - interface PalletIdentityBitFlags extends Set { - readonly isDisplay: boolean; - readonly isLegal: boolean; - readonly isWeb: boolean; - readonly isRiot: boolean; - readonly isEmail: boolean; - readonly isPgpFingerprint: boolean; - readonly isImage: boolean; - readonly isTwitter: boolean; + /** @name UpDataStructsCreateCollectionData (274) */ + interface UpDataStructsCreateCollectionData extends Struct { + readonly mode: UpDataStructsCollectionMode; + readonly access: Option; + readonly name: Vec; + readonly description: Vec; + readonly tokenPrefix: Bytes; + readonly limits: Option; + readonly permissions: Option; + readonly tokenPropertyPermissions: Vec; + readonly properties: Vec; + readonly adminList: Vec; + readonly pendingSponsor: Option; + readonly flags: U8aFixed; } - /** @name PalletIdentityIdentityField (291) */ - interface PalletIdentityIdentityField extends Enum { - readonly isDisplay: boolean; - readonly isLegal: boolean; - readonly isWeb: boolean; - readonly isRiot: boolean; - readonly isEmail: boolean; - readonly isPgpFingerprint: boolean; - readonly isImage: boolean; - readonly isTwitter: boolean; - readonly type: 'Display' | 'Legal' | 'Web' | 'Riot' | 'Email' | 'PgpFingerprint' | 'Image' | 'Twitter'; + /** @name PalletEvmAccountBasicCrossAccountIdRepr (275) */ + interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum { + readonly isSubstrate: boolean; + readonly asSubstrate: AccountId32; + readonly isEthereum: boolean; + readonly asEthereum: H160; + readonly type: 'Substrate' | 'Ethereum'; } - /** @name PalletIdentityJudgement (292) */ - interface PalletIdentityJudgement extends Enum { - readonly isUnknown: boolean; - readonly isFeePaid: boolean; - readonly asFeePaid: u128; - readonly isReasonable: boolean; - readonly isKnownGood: boolean; - readonly isOutOfDate: boolean; - readonly isLowQuality: boolean; - readonly isErroneous: boolean; - readonly type: 'Unknown' | 'FeePaid' | 'Reasonable' | 'KnownGood' | 'OutOfDate' | 'LowQuality' | 'Erroneous'; + /** @name UpDataStructsAccessMode (277) */ + interface UpDataStructsAccessMode extends Enum { + readonly isNormal: boolean; + readonly isAllowList: boolean; + readonly type: 'Normal' | 'AllowList'; } - /** @name PalletIdentityRegistration (295) */ - interface PalletIdentityRegistration extends Struct { - readonly judgements: Vec>; - readonly deposit: u128; - readonly info: PalletIdentityIdentityInfo; + /** @name UpDataStructsCollectionLimits (279) */ + interface UpDataStructsCollectionLimits extends Struct { + readonly accountTokenOwnershipLimit: Option; + readonly sponsoredDataSize: Option; + readonly sponsoredDataRateLimit: Option; + readonly tokenLimit: Option; + readonly sponsorTransferTimeout: Option; + readonly sponsorApproveTimeout: Option; + readonly ownerCanTransfer: Option; + readonly ownerCanDestroy: Option; + readonly transfersEnabled: Option; } - /** @name PalletPreimageCall (303) */ - interface PalletPreimageCall extends Enum { - readonly isNotePreimage: boolean; - readonly asNotePreimage: { - readonly bytes: Bytes; - } & Struct; - readonly isUnnotePreimage: boolean; - readonly asUnnotePreimage: { - readonly hash_: H256; - } & Struct; - readonly isRequestPreimage: boolean; - readonly asRequestPreimage: { - readonly hash_: H256; - } & Struct; - readonly isUnrequestPreimage: boolean; - readonly asUnrequestPreimage: { - readonly hash_: H256; - } & Struct; - readonly type: 'NotePreimage' | 'UnnotePreimage' | 'RequestPreimage' | 'UnrequestPreimage'; + /** @name UpDataStructsSponsoringRateLimit (281) */ + interface UpDataStructsSponsoringRateLimit extends Enum { + readonly isSponsoringDisabled: boolean; + readonly isBlocks: boolean; + readonly asBlocks: u32; + readonly type: 'SponsoringDisabled' | 'Blocks'; + } + + /** @name UpDataStructsCollectionPermissions (284) */ + interface UpDataStructsCollectionPermissions extends Struct { + readonly access: Option; + readonly mintMode: Option; + readonly nesting: Option; + } + + /** @name UpDataStructsNestingPermissions (286) */ + interface UpDataStructsNestingPermissions extends Struct { + readonly tokenOwner: bool; + readonly collectionAdmin: bool; + readonly restricted: Option; + } + + /** @name UpDataStructsOwnerRestrictedSet (288) */ + interface UpDataStructsOwnerRestrictedSet extends BTreeSet {} + + /** @name UpDataStructsPropertyKeyPermission (294) */ + interface UpDataStructsPropertyKeyPermission extends Struct { + readonly key: Bytes; + readonly permission: UpDataStructsPropertyPermission; + } + + /** @name UpDataStructsPropertyPermission (296) */ + interface UpDataStructsPropertyPermission extends Struct { + readonly mutable: bool; + readonly collectionAdmin: bool; + readonly tokenOwner: bool; + } + + /** @name UpDataStructsProperty (299) */ + interface UpDataStructsProperty extends Struct { + readonly key: Bytes; + readonly value: Bytes; + } + + /** @name UpDataStructsCreateItemData (304) */ + interface UpDataStructsCreateItemData extends Enum { + readonly isNft: boolean; + readonly asNft: UpDataStructsCreateNftData; + readonly isFungible: boolean; + readonly asFungible: UpDataStructsCreateFungibleData; + readonly isReFungible: boolean; + readonly asReFungible: UpDataStructsCreateReFungibleData; + readonly type: 'Nft' | 'Fungible' | 'ReFungible'; + } + + /** @name UpDataStructsCreateNftData (305) */ + interface UpDataStructsCreateNftData extends Struct { + readonly properties: Vec; + } + + /** @name UpDataStructsCreateFungibleData (306) */ + interface UpDataStructsCreateFungibleData extends Struct { + readonly value: u128; + } + + /** @name UpDataStructsCreateReFungibleData (307) */ + interface UpDataStructsCreateReFungibleData extends Struct { + readonly pieces: u128; + readonly properties: Vec; + } + + /** @name UpDataStructsCreateItemExData (311) */ + interface UpDataStructsCreateItemExData extends Enum { + readonly isNft: boolean; + readonly asNft: Vec; + readonly isFungible: boolean; + readonly asFungible: BTreeMap; + readonly isRefungibleMultipleItems: boolean; + readonly asRefungibleMultipleItems: Vec; + readonly isRefungibleMultipleOwners: boolean; + readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExMultipleOwners; + readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners'; + } + + /** @name UpDataStructsCreateNftExData (313) */ + interface UpDataStructsCreateNftExData extends Struct { + readonly properties: Vec; + readonly owner: PalletEvmAccountBasicCrossAccountIdRepr; } - /** @name CumulusPalletXcmpQueueCall (304) */ - interface CumulusPalletXcmpQueueCall extends Enum { - readonly isServiceOverweight: boolean; - readonly asServiceOverweight: { - readonly index: u64; - readonly weightLimit: SpWeightsWeightV2Weight; - } & Struct; - readonly isSuspendXcmExecution: boolean; - readonly isResumeXcmExecution: boolean; - readonly isUpdateSuspendThreshold: boolean; - readonly asUpdateSuspendThreshold: { - readonly new_: u32; - } & Struct; - readonly isUpdateDropThreshold: boolean; - readonly asUpdateDropThreshold: { - readonly new_: u32; - } & Struct; - readonly isUpdateResumeThreshold: boolean; - readonly asUpdateResumeThreshold: { - readonly new_: u32; - } & Struct; - readonly isUpdateThresholdWeight: boolean; - readonly asUpdateThresholdWeight: { - readonly new_: SpWeightsWeightV2Weight; - } & Struct; - readonly isUpdateWeightRestrictDecay: boolean; - readonly asUpdateWeightRestrictDecay: { - readonly new_: SpWeightsWeightV2Weight; - } & Struct; - readonly isUpdateXcmpMaxIndividualWeight: boolean; - readonly asUpdateXcmpMaxIndividualWeight: { - readonly new_: SpWeightsWeightV2Weight; - } & Struct; - readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight'; + /** @name UpDataStructsCreateRefungibleExSingleOwner (320) */ + interface UpDataStructsCreateRefungibleExSingleOwner extends Struct { + readonly user: PalletEvmAccountBasicCrossAccountIdRepr; + readonly pieces: u128; + readonly properties: Vec; } - /** @name PalletXcmCall (305) */ - interface PalletXcmCall extends Enum { - readonly isSend: boolean; - readonly asSend: { - readonly dest: XcmVersionedMultiLocation; - readonly message: XcmVersionedXcm; - } & Struct; - readonly isTeleportAssets: boolean; - readonly asTeleportAssets: { - readonly dest: XcmVersionedMultiLocation; - readonly beneficiary: XcmVersionedMultiLocation; - readonly assets: XcmVersionedMultiAssets; - readonly feeAssetItem: u32; - } & Struct; - readonly isReserveTransferAssets: boolean; - readonly asReserveTransferAssets: { - readonly dest: XcmVersionedMultiLocation; - readonly beneficiary: XcmVersionedMultiLocation; - readonly assets: XcmVersionedMultiAssets; - readonly feeAssetItem: u32; - } & Struct; - readonly isExecute: boolean; - readonly asExecute: { - readonly message: XcmVersionedXcm; - readonly maxWeight: SpWeightsWeightV2Weight; - } & Struct; - readonly isForceXcmVersion: boolean; - readonly asForceXcmVersion: { - readonly location: XcmV3MultiLocation; - readonly xcmVersion: u32; - } & Struct; - readonly isForceDefaultXcmVersion: boolean; - readonly asForceDefaultXcmVersion: { - readonly maybeXcmVersion: Option; + /** @name UpDataStructsCreateRefungibleExMultipleOwners (322) */ + interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct { + readonly users: BTreeMap; + readonly properties: Vec; + } + + /** @name PalletConfigurationCall (323) */ + interface PalletConfigurationCall extends Enum { + readonly isSetWeightToFeeCoefficientOverride: boolean; + readonly asSetWeightToFeeCoefficientOverride: { + readonly coeff: Option; } & Struct; - readonly isForceSubscribeVersionNotify: boolean; - readonly asForceSubscribeVersionNotify: { - readonly location: XcmVersionedMultiLocation; + readonly isSetMinGasPriceOverride: boolean; + readonly asSetMinGasPriceOverride: { + readonly coeff: Option; } & Struct; - readonly isForceUnsubscribeVersionNotify: boolean; - readonly asForceUnsubscribeVersionNotify: { - readonly location: XcmVersionedMultiLocation; + readonly isSetAppPromotionConfigurationOverride: boolean; + readonly asSetAppPromotionConfigurationOverride: { + readonly configuration: PalletConfigurationAppPromotionConfiguration; } & Struct; - readonly isLimitedReserveTransferAssets: boolean; - readonly asLimitedReserveTransferAssets: { - readonly dest: XcmVersionedMultiLocation; - readonly beneficiary: XcmVersionedMultiLocation; - readonly assets: XcmVersionedMultiAssets; - readonly feeAssetItem: u32; - readonly weightLimit: XcmV3WeightLimit; + readonly isSetCollatorSelectionDesiredCollators: boolean; + readonly asSetCollatorSelectionDesiredCollators: { + readonly max: Option; } & Struct; - readonly isLimitedTeleportAssets: boolean; - readonly asLimitedTeleportAssets: { - readonly dest: XcmVersionedMultiLocation; - readonly beneficiary: XcmVersionedMultiLocation; - readonly assets: XcmVersionedMultiAssets; - readonly feeAssetItem: u32; - readonly weightLimit: XcmV3WeightLimit; + readonly isSetCollatorSelectionLicenseBond: boolean; + readonly asSetCollatorSelectionLicenseBond: { + readonly amount: Option; } & Struct; - readonly isForceSuspension: boolean; - readonly asForceSuspension: { - readonly suspended: bool; + readonly isSetCollatorSelectionKickThreshold: boolean; + readonly asSetCollatorSelectionKickThreshold: { + readonly threshold: Option; } & Struct; - readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets' | 'ForceSuspension'; + readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride' | 'SetAppPromotionConfigurationOverride' | 'SetCollatorSelectionDesiredCollators' | 'SetCollatorSelectionLicenseBond' | 'SetCollatorSelectionKickThreshold'; } - /** @name XcmVersionedXcm (306) */ - interface XcmVersionedXcm extends Enum { - readonly isV2: boolean; - readonly asV2: XcmV2Xcm; - readonly isV3: boolean; - readonly asV3: XcmV3Xcm; - readonly type: 'V2' | 'V3'; + /** @name PalletConfigurationAppPromotionConfiguration (325) */ + interface PalletConfigurationAppPromotionConfiguration extends Struct { + readonly recalculationInterval: Option; + readonly pendingInterval: Option; + readonly intervalIncome: Option; + readonly maxStakersPerCalculation: Option; } - /** @name XcmV2Xcm (307) */ - interface XcmV2Xcm extends Vec {} + /** @name PalletStructureCall (330) */ + type PalletStructureCall = Null; - /** @name XcmV2Instruction (309) */ - interface XcmV2Instruction extends Enum { - readonly isWithdrawAsset: boolean; - readonly asWithdrawAsset: XcmV2MultiassetMultiAssets; - readonly isReserveAssetDeposited: boolean; - readonly asReserveAssetDeposited: XcmV2MultiassetMultiAssets; - readonly isReceiveTeleportedAsset: boolean; - readonly asReceiveTeleportedAsset: XcmV2MultiassetMultiAssets; - readonly isQueryResponse: boolean; - readonly asQueryResponse: { - readonly queryId: Compact; - readonly response: XcmV2Response; - readonly maxWeight: Compact; - } & Struct; - readonly isTransferAsset: boolean; - readonly asTransferAsset: { - readonly assets: XcmV2MultiassetMultiAssets; - readonly beneficiary: XcmV2MultiLocation; + /** @name PalletAppPromotionCall (331) */ + interface PalletAppPromotionCall extends Enum { + readonly isSetAdminAddress: boolean; + readonly asSetAdminAddress: { + readonly admin: PalletEvmAccountBasicCrossAccountIdRepr; } & Struct; - readonly isTransferReserveAsset: boolean; - readonly asTransferReserveAsset: { - readonly assets: XcmV2MultiassetMultiAssets; - readonly dest: XcmV2MultiLocation; - readonly xcm: XcmV2Xcm; + readonly isStake: boolean; + readonly asStake: { + readonly amount: u128; } & Struct; - readonly isTransact: boolean; - readonly asTransact: { - readonly originType: XcmV2OriginKind; - readonly requireWeightAtMost: Compact; - readonly call: XcmDoubleEncoded; + readonly isUnstakeAll: boolean; + readonly isSponsorCollection: boolean; + readonly asSponsorCollection: { + readonly collectionId: u32; } & Struct; - readonly isHrmpNewChannelOpenRequest: boolean; - readonly asHrmpNewChannelOpenRequest: { - readonly sender: Compact; - readonly maxMessageSize: Compact; - readonly maxCapacity: Compact; + readonly isStopSponsoringCollection: boolean; + readonly asStopSponsoringCollection: { + readonly collectionId: u32; } & Struct; - readonly isHrmpChannelAccepted: boolean; - readonly asHrmpChannelAccepted: { - readonly recipient: Compact; + readonly isSponsorContract: boolean; + readonly asSponsorContract: { + readonly contractId: H160; } & Struct; - readonly isHrmpChannelClosing: boolean; - readonly asHrmpChannelClosing: { - readonly initiator: Compact; - readonly sender: Compact; - readonly recipient: Compact; + readonly isStopSponsoringContract: boolean; + readonly asStopSponsoringContract: { + readonly contractId: H160; } & Struct; - readonly isClearOrigin: boolean; - readonly isDescendOrigin: boolean; - readonly asDescendOrigin: XcmV2MultilocationJunctions; - readonly isReportError: boolean; - readonly asReportError: { - readonly queryId: Compact; - readonly dest: XcmV2MultiLocation; - readonly maxResponseWeight: Compact; + readonly isPayoutStakers: boolean; + readonly asPayoutStakers: { + readonly stakersNumber: Option; } & Struct; - readonly isDepositAsset: boolean; - readonly asDepositAsset: { - readonly assets: XcmV2MultiassetMultiAssetFilter; - readonly maxAssets: Compact; - readonly beneficiary: XcmV2MultiLocation; + readonly isUnstakePartial: boolean; + readonly asUnstakePartial: { + readonly amount: u128; } & Struct; - readonly isDepositReserveAsset: boolean; - readonly asDepositReserveAsset: { - readonly assets: XcmV2MultiassetMultiAssetFilter; - readonly maxAssets: Compact; - readonly dest: XcmV2MultiLocation; - readonly xcm: XcmV2Xcm; + readonly isForceUnstake: boolean; + readonly asForceUnstake: { + readonly pendingBlocks: Vec; } & Struct; - readonly isExchangeAsset: boolean; - readonly asExchangeAsset: { - readonly give: XcmV2MultiassetMultiAssetFilter; - readonly receive: XcmV2MultiassetMultiAssets; + readonly type: 'SetAdminAddress' | 'Stake' | 'UnstakeAll' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers' | 'UnstakePartial' | 'ForceUnstake'; + } + + /** @name PalletForeignAssetsModuleCall (333) */ + interface PalletForeignAssetsModuleCall extends Enum { + readonly isRegisterForeignAsset: boolean; + readonly asRegisterForeignAsset: { + readonly owner: AccountId32; + readonly location: XcmVersionedMultiLocation; + readonly metadata: PalletForeignAssetsModuleAssetMetadata; } & Struct; - readonly isInitiateReserveWithdraw: boolean; - readonly asInitiateReserveWithdraw: { - readonly assets: XcmV2MultiassetMultiAssetFilter; - readonly reserve: XcmV2MultiLocation; - readonly xcm: XcmV2Xcm; + readonly isUpdateForeignAsset: boolean; + readonly asUpdateForeignAsset: { + readonly foreignAssetId: u32; + readonly location: XcmVersionedMultiLocation; + readonly metadata: PalletForeignAssetsModuleAssetMetadata; } & Struct; - readonly isInitiateTeleport: boolean; - readonly asInitiateTeleport: { - readonly assets: XcmV2MultiassetMultiAssetFilter; - readonly dest: XcmV2MultiLocation; - readonly xcm: XcmV2Xcm; + readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset'; + } + + /** @name PalletForeignAssetsModuleAssetMetadata (334) */ + interface PalletForeignAssetsModuleAssetMetadata extends Struct { + readonly name: Bytes; + readonly symbol: Bytes; + readonly decimals: u8; + readonly minimalBalance: u128; + } + + /** @name PalletEvmCall (337) */ + interface PalletEvmCall extends Enum { + readonly isWithdraw: boolean; + readonly asWithdraw: { + readonly address: H160; + readonly value: u128; } & Struct; - readonly isQueryHolding: boolean; - readonly asQueryHolding: { - readonly queryId: Compact; - readonly dest: XcmV2MultiLocation; - readonly assets: XcmV2MultiassetMultiAssetFilter; - readonly maxResponseWeight: Compact; + readonly isCall: boolean; + readonly asCall: { + readonly source: H160; + readonly target: H160; + readonly input: Bytes; + readonly value: U256; + readonly gasLimit: u64; + readonly maxFeePerGas: U256; + readonly maxPriorityFeePerGas: Option; + readonly nonce: Option; + readonly accessList: Vec]>>; } & Struct; - readonly isBuyExecution: boolean; - readonly asBuyExecution: { - readonly fees: XcmV2MultiAsset; - readonly weightLimit: XcmV2WeightLimit; + readonly isCreate: boolean; + readonly asCreate: { + readonly source: H160; + readonly init: Bytes; + readonly value: U256; + readonly gasLimit: u64; + readonly maxFeePerGas: U256; + readonly maxPriorityFeePerGas: Option; + readonly nonce: Option; + readonly accessList: Vec]>>; } & Struct; - readonly isRefundSurplus: boolean; - readonly isSetErrorHandler: boolean; - readonly asSetErrorHandler: XcmV2Xcm; - readonly isSetAppendix: boolean; - readonly asSetAppendix: XcmV2Xcm; - readonly isClearError: boolean; - readonly isClaimAsset: boolean; - readonly asClaimAsset: { - readonly assets: XcmV2MultiassetMultiAssets; - readonly ticket: XcmV2MultiLocation; + readonly isCreate2: boolean; + readonly asCreate2: { + readonly source: H160; + readonly init: Bytes; + readonly salt: H256; + readonly value: U256; + readonly gasLimit: u64; + readonly maxFeePerGas: U256; + readonly maxPriorityFeePerGas: Option; + readonly nonce: Option; + readonly accessList: Vec]>>; } & Struct; - readonly isTrap: boolean; - readonly asTrap: Compact; - readonly isSubscribeVersion: boolean; - readonly asSubscribeVersion: { - readonly queryId: Compact; - readonly maxResponseWeight: Compact; + readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2'; + } + + /** @name PalletEthereumCall (344) */ + interface PalletEthereumCall extends Enum { + readonly isTransact: boolean; + readonly asTransact: { + readonly transaction: EthereumTransactionTransactionV2; } & Struct; - readonly isUnsubscribeVersion: boolean; - readonly type: 'WithdrawAsset' | 'ReserveAssetDeposited' | 'ReceiveTeleportedAsset' | 'QueryResponse' | 'TransferAsset' | 'TransferReserveAsset' | 'Transact' | 'HrmpNewChannelOpenRequest' | 'HrmpChannelAccepted' | 'HrmpChannelClosing' | 'ClearOrigin' | 'DescendOrigin' | 'ReportError' | 'DepositAsset' | 'DepositReserveAsset' | 'ExchangeAsset' | 'InitiateReserveWithdraw' | 'InitiateTeleport' | 'QueryHolding' | 'BuyExecution' | 'RefundSurplus' | 'SetErrorHandler' | 'SetAppendix' | 'ClearError' | 'ClaimAsset' | 'Trap' | 'SubscribeVersion' | 'UnsubscribeVersion'; + readonly type: 'Transact'; } - /** @name XcmV2Response (310) */ - interface XcmV2Response extends Enum { - readonly isNull: boolean; - readonly isAssets: boolean; - readonly asAssets: XcmV2MultiassetMultiAssets; - readonly isExecutionResult: boolean; - readonly asExecutionResult: Option>; - readonly isVersion: boolean; - readonly asVersion: u32; - readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version'; + /** @name EthereumTransactionTransactionV2 (345) */ + interface EthereumTransactionTransactionV2 extends Enum { + readonly isLegacy: boolean; + readonly asLegacy: EthereumTransactionLegacyTransaction; + readonly isEip2930: boolean; + readonly asEip2930: EthereumTransactionEip2930Transaction; + readonly isEip1559: boolean; + readonly asEip1559: EthereumTransactionEip1559Transaction; + readonly type: 'Legacy' | 'Eip2930' | 'Eip1559'; } - /** @name XcmV2TraitsError (313) */ - interface XcmV2TraitsError extends Enum { - readonly isOverflow: boolean; - readonly isUnimplemented: boolean; - readonly isUntrustedReserveLocation: boolean; - readonly isUntrustedTeleportLocation: boolean; - readonly isMultiLocationFull: boolean; - readonly isMultiLocationNotInvertible: boolean; - readonly isBadOrigin: boolean; - readonly isInvalidLocation: boolean; - readonly isAssetNotFound: boolean; - readonly isFailedToTransactAsset: boolean; - readonly isNotWithdrawable: boolean; - readonly isLocationCannotHold: boolean; - readonly isExceedsMaxMessageSize: boolean; - readonly isDestinationUnsupported: boolean; - readonly isTransport: boolean; - readonly isUnroutable: boolean; - readonly isUnknownClaim: boolean; - readonly isFailedToDecode: boolean; - readonly isMaxWeightInvalid: boolean; - readonly isNotHoldingFees: boolean; - readonly isTooExpensive: boolean; - readonly isTrap: boolean; - readonly asTrap: u64; - readonly isUnhandledXcmVersion: boolean; - readonly isWeightLimitReached: boolean; - readonly asWeightLimitReached: u64; - readonly isBarrier: boolean; - readonly isWeightNotComputable: boolean; - readonly type: 'Overflow' | 'Unimplemented' | 'UntrustedReserveLocation' | 'UntrustedTeleportLocation' | 'MultiLocationFull' | 'MultiLocationNotInvertible' | 'BadOrigin' | 'InvalidLocation' | 'AssetNotFound' | 'FailedToTransactAsset' | 'NotWithdrawable' | 'LocationCannotHold' | 'ExceedsMaxMessageSize' | 'DestinationUnsupported' | 'Transport' | 'Unroutable' | 'UnknownClaim' | 'FailedToDecode' | 'MaxWeightInvalid' | 'NotHoldingFees' | 'TooExpensive' | 'Trap' | 'UnhandledXcmVersion' | 'WeightLimitReached' | 'Barrier' | 'WeightNotComputable'; + /** @name EthereumTransactionLegacyTransaction (346) */ + interface EthereumTransactionLegacyTransaction extends Struct { + readonly nonce: U256; + readonly gasPrice: U256; + readonly gasLimit: U256; + readonly action: EthereumTransactionTransactionAction; + readonly value: U256; + readonly input: Bytes; + readonly signature: EthereumTransactionTransactionSignature; } - /** @name XcmV2MultiassetMultiAssetFilter (314) */ - interface XcmV2MultiassetMultiAssetFilter extends Enum { - readonly isDefinite: boolean; - readonly asDefinite: XcmV2MultiassetMultiAssets; - readonly isWild: boolean; - readonly asWild: XcmV2MultiassetWildMultiAsset; - readonly type: 'Definite' | 'Wild'; + /** @name EthereumTransactionTransactionAction (347) */ + interface EthereumTransactionTransactionAction extends Enum { + readonly isCall: boolean; + readonly asCall: H160; + readonly isCreate: boolean; + readonly type: 'Call' | 'Create'; } - /** @name XcmV2MultiassetWildMultiAsset (315) */ - interface XcmV2MultiassetWildMultiAsset extends Enum { - readonly isAll: boolean; - readonly isAllOf: boolean; - readonly asAllOf: { - readonly id: XcmV2MultiassetAssetId; - readonly fun: XcmV2MultiassetWildFungibility; - } & Struct; - readonly type: 'All' | 'AllOf'; + /** @name EthereumTransactionTransactionSignature (348) */ + interface EthereumTransactionTransactionSignature extends Struct { + readonly v: u64; + readonly r: H256; + readonly s: H256; } - /** @name XcmV2MultiassetWildFungibility (316) */ - interface XcmV2MultiassetWildFungibility extends Enum { - readonly isFungible: boolean; - readonly isNonFungible: boolean; - readonly type: 'Fungible' | 'NonFungible'; + /** @name EthereumTransactionEip2930Transaction (350) */ + interface EthereumTransactionEip2930Transaction extends Struct { + readonly chainId: u64; + readonly nonce: U256; + readonly gasPrice: U256; + readonly gasLimit: U256; + readonly action: EthereumTransactionTransactionAction; + readonly value: U256; + readonly input: Bytes; + readonly accessList: Vec; + readonly oddYParity: bool; + readonly r: H256; + readonly s: H256; } - /** @name XcmV2WeightLimit (317) */ - interface XcmV2WeightLimit extends Enum { - readonly isUnlimited: boolean; - readonly isLimited: boolean; - readonly asLimited: Compact; - readonly type: 'Unlimited' | 'Limited'; + /** @name EthereumTransactionAccessListItem (352) */ + interface EthereumTransactionAccessListItem extends Struct { + readonly address: H160; + readonly storageKeys: Vec; } - /** @name CumulusPalletXcmCall (326) */ - type CumulusPalletXcmCall = Null; + /** @name EthereumTransactionEip1559Transaction (353) */ + interface EthereumTransactionEip1559Transaction extends Struct { + readonly chainId: u64; + readonly nonce: U256; + readonly maxPriorityFeePerGas: U256; + readonly maxFeePerGas: U256; + readonly gasLimit: U256; + readonly action: EthereumTransactionTransactionAction; + readonly value: U256; + readonly input: Bytes; + readonly accessList: Vec; + readonly oddYParity: bool; + readonly r: H256; + readonly s: H256; + } - /** @name CumulusPalletDmpQueueCall (327) */ - interface CumulusPalletDmpQueueCall extends Enum { - readonly isServiceOverweight: boolean; - readonly asServiceOverweight: { - readonly index: u64; - readonly weightLimit: SpWeightsWeightV2Weight; + /** @name PalletEvmContractHelpersCall (354) */ + interface PalletEvmContractHelpersCall extends Enum { + readonly isMigrateFromSelfSponsoring: boolean; + readonly asMigrateFromSelfSponsoring: { + readonly addresses: Vec; } & Struct; - readonly type: 'ServiceOverweight'; + readonly type: 'MigrateFromSelfSponsoring'; } - /** @name PalletInflationCall (328) */ - interface PalletInflationCall extends Enum { - readonly isStartInflation: boolean; - readonly asStartInflation: { - readonly inflationStartRelayBlock: u32; + /** @name PalletEvmMigrationCall (356) */ + interface PalletEvmMigrationCall extends Enum { + readonly isBegin: boolean; + readonly asBegin: { + readonly address: H160; + } & Struct; + readonly isSetData: boolean; + readonly asSetData: { + readonly address: H160; + readonly data: Vec>; + } & Struct; + readonly isFinish: boolean; + readonly asFinish: { + readonly address: H160; + readonly code: Bytes; + } & Struct; + readonly isInsertEthLogs: boolean; + readonly asInsertEthLogs: { + readonly logs: Vec; + } & Struct; + readonly isInsertEvents: boolean; + readonly asInsertEvents: { + readonly events: Vec; + } & Struct; + readonly isRemoveRmrkData: boolean; + readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents' | 'RemoveRmrkData'; + } + + /** @name EthereumLog (360) */ + interface EthereumLog extends Struct { + readonly address: H160; + readonly topics: Vec; + readonly data: Bytes; + } + + /** @name PalletMaintenanceCall (361) */ + interface PalletMaintenanceCall extends Enum { + readonly isEnable: boolean; + readonly isDisable: boolean; + readonly isExecutePreimage: boolean; + readonly asExecutePreimage: { + readonly hash_: H256; + readonly weightBound: SpWeightsWeightV2Weight; + } & Struct; + readonly type: 'Enable' | 'Disable' | 'ExecutePreimage'; + } + + /** @name PalletTestUtilsCall (362) */ + interface PalletTestUtilsCall extends Enum { + readonly isEnable: boolean; + readonly isSetTestValue: boolean; + readonly asSetTestValue: { + readonly value: u32; } & Struct; - readonly type: 'StartInflation'; + readonly isSetTestValueAndRollback: boolean; + readonly asSetTestValueAndRollback: { + readonly value: u32; + } & Struct; + readonly isIncTestValue: boolean; + readonly isJustTakeFee: boolean; + readonly isBatchAll: boolean; + readonly asBatchAll: { + readonly calls: Vec; + } & Struct; + readonly type: 'Enable' | 'SetTestValue' | 'SetTestValueAndRollback' | 'IncTestValue' | 'JustTakeFee' | 'BatchAll'; } - /** @name PalletUniqueCall (329) */ - interface PalletUniqueCall extends Enum { - readonly isCreateCollection: boolean; - readonly asCreateCollection: { - readonly collectionName: Vec; - readonly collectionDescription: Vec; - readonly tokenPrefix: Bytes; - readonly mode: UpDataStructsCollectionMode; - } & Struct; - readonly isCreateCollectionEx: boolean; - readonly asCreateCollectionEx: { - readonly data: UpDataStructsCreateCollectionData; + /** @name PalletSchedulerEvent (365) */ + interface PalletSchedulerEvent extends Enum { + readonly isScheduled: boolean; + readonly asScheduled: { + readonly when: u32; + readonly index: u32; } & Struct; - readonly isDestroyCollection: boolean; - readonly asDestroyCollection: { - readonly collectionId: u32; + readonly isCanceled: boolean; + readonly asCanceled: { + readonly when: u32; + readonly index: u32; } & Struct; - readonly isAddToAllowList: boolean; - readonly asAddToAllowList: { - readonly collectionId: u32; - readonly address: PalletEvmAccountBasicCrossAccountIdRepr; + readonly isDispatched: boolean; + readonly asDispatched: { + readonly task: ITuple<[u32, u32]>; + readonly id: Option; + readonly result: Result; } & Struct; - readonly isRemoveFromAllowList: boolean; - readonly asRemoveFromAllowList: { - readonly collectionId: u32; - readonly address: PalletEvmAccountBasicCrossAccountIdRepr; + readonly isCallUnavailable: boolean; + readonly asCallUnavailable: { + readonly task: ITuple<[u32, u32]>; + readonly id: Option; } & Struct; - readonly isChangeCollectionOwner: boolean; - readonly asChangeCollectionOwner: { - readonly collectionId: u32; - readonly newOwner: AccountId32; + readonly isPeriodicFailed: boolean; + readonly asPeriodicFailed: { + readonly task: ITuple<[u32, u32]>; + readonly id: Option; } & Struct; - readonly isAddCollectionAdmin: boolean; - readonly asAddCollectionAdmin: { - readonly collectionId: u32; - readonly newAdminId: PalletEvmAccountBasicCrossAccountIdRepr; + readonly isPermanentlyOverweight: boolean; + readonly asPermanentlyOverweight: { + readonly task: ITuple<[u32, u32]>; + readonly id: Option; } & Struct; - readonly isRemoveCollectionAdmin: boolean; - readonly asRemoveCollectionAdmin: { - readonly collectionId: u32; - readonly accountId: PalletEvmAccountBasicCrossAccountIdRepr; + readonly type: 'Scheduled' | 'Canceled' | 'Dispatched' | 'CallUnavailable' | 'PeriodicFailed' | 'PermanentlyOverweight'; + } + + /** @name CumulusPalletXcmpQueueEvent (366) */ + interface CumulusPalletXcmpQueueEvent extends Enum { + readonly isSuccess: boolean; + readonly asSuccess: { + readonly messageHash: Option; + readonly weight: SpWeightsWeightV2Weight; } & Struct; - readonly isSetCollectionSponsor: boolean; - readonly asSetCollectionSponsor: { - readonly collectionId: u32; - readonly newSponsor: AccountId32; + readonly isFail: boolean; + readonly asFail: { + readonly messageHash: Option; + readonly error: XcmV3TraitsError; + readonly weight: SpWeightsWeightV2Weight; } & Struct; - readonly isConfirmSponsorship: boolean; - readonly asConfirmSponsorship: { - readonly collectionId: u32; + readonly isBadVersion: boolean; + readonly asBadVersion: { + readonly messageHash: Option; } & Struct; - readonly isRemoveCollectionSponsor: boolean; - readonly asRemoveCollectionSponsor: { - readonly collectionId: u32; + readonly isBadFormat: boolean; + readonly asBadFormat: { + readonly messageHash: Option; } & Struct; - readonly isCreateItem: boolean; - readonly asCreateItem: { - readonly collectionId: u32; - readonly owner: PalletEvmAccountBasicCrossAccountIdRepr; - readonly data: UpDataStructsCreateItemData; + readonly isXcmpMessageSent: boolean; + readonly asXcmpMessageSent: { + readonly messageHash: Option; } & Struct; - readonly isCreateMultipleItems: boolean; - readonly asCreateMultipleItems: { - readonly collectionId: u32; - readonly owner: PalletEvmAccountBasicCrossAccountIdRepr; - readonly itemsData: Vec; + readonly isOverweightEnqueued: boolean; + readonly asOverweightEnqueued: { + readonly sender: u32; + readonly sentAt: u32; + readonly index: u64; + readonly required: SpWeightsWeightV2Weight; } & Struct; - readonly isSetCollectionProperties: boolean; - readonly asSetCollectionProperties: { - readonly collectionId: u32; - readonly properties: Vec; + readonly isOverweightServiced: boolean; + readonly asOverweightServiced: { + readonly index: u64; + readonly used: SpWeightsWeightV2Weight; } & Struct; - readonly isDeleteCollectionProperties: boolean; - readonly asDeleteCollectionProperties: { - readonly collectionId: u32; - readonly propertyKeys: Vec; + readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced'; + } + + /** @name PalletXcmEvent (367) */ + interface PalletXcmEvent extends Enum { + readonly isAttempted: boolean; + readonly asAttempted: XcmV3TraitsOutcome; + readonly isSent: boolean; + readonly asSent: ITuple<[XcmV3MultiLocation, XcmV3MultiLocation, XcmV3Xcm]>; + readonly isUnexpectedResponse: boolean; + readonly asUnexpectedResponse: ITuple<[XcmV3MultiLocation, u64]>; + readonly isResponseReady: boolean; + readonly asResponseReady: ITuple<[u64, XcmV3Response]>; + readonly isNotified: boolean; + readonly asNotified: ITuple<[u64, u8, u8]>; + readonly isNotifyOverweight: boolean; + readonly asNotifyOverweight: ITuple<[u64, u8, u8, SpWeightsWeightV2Weight, SpWeightsWeightV2Weight]>; + readonly isNotifyDispatchError: boolean; + readonly asNotifyDispatchError: ITuple<[u64, u8, u8]>; + readonly isNotifyDecodeFailed: boolean; + readonly asNotifyDecodeFailed: ITuple<[u64, u8, u8]>; + readonly isInvalidResponder: boolean; + readonly asInvalidResponder: ITuple<[XcmV3MultiLocation, u64, Option]>; + readonly isInvalidResponderVersion: boolean; + readonly asInvalidResponderVersion: ITuple<[XcmV3MultiLocation, u64]>; + readonly isResponseTaken: boolean; + readonly asResponseTaken: u64; + readonly isAssetsTrapped: boolean; + readonly asAssetsTrapped: ITuple<[H256, XcmV3MultiLocation, XcmVersionedMultiAssets]>; + readonly isVersionChangeNotified: boolean; + readonly asVersionChangeNotified: ITuple<[XcmV3MultiLocation, u32, XcmV3MultiassetMultiAssets]>; + readonly isSupportedVersionChanged: boolean; + readonly asSupportedVersionChanged: ITuple<[XcmV3MultiLocation, u32]>; + readonly isNotifyTargetSendFail: boolean; + readonly asNotifyTargetSendFail: ITuple<[XcmV3MultiLocation, u64, XcmV3TraitsError]>; + readonly isNotifyTargetMigrationFail: boolean; + readonly asNotifyTargetMigrationFail: ITuple<[XcmVersionedMultiLocation, u64]>; + readonly isInvalidQuerierVersion: boolean; + readonly asInvalidQuerierVersion: ITuple<[XcmV3MultiLocation, u64]>; + readonly isInvalidQuerier: boolean; + readonly asInvalidQuerier: ITuple<[XcmV3MultiLocation, u64, XcmV3MultiLocation, Option]>; + readonly isVersionNotifyStarted: boolean; + readonly asVersionNotifyStarted: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>; + readonly isVersionNotifyRequested: boolean; + readonly asVersionNotifyRequested: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>; + readonly isVersionNotifyUnrequested: boolean; + readonly asVersionNotifyUnrequested: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>; + readonly isFeesPaid: boolean; + readonly asFeesPaid: ITuple<[XcmV3MultiLocation, XcmV3MultiassetMultiAssets]>; + readonly isAssetsClaimed: boolean; + readonly asAssetsClaimed: ITuple<[H256, XcmV3MultiLocation, XcmVersionedMultiAssets]>; + readonly type: 'Attempted' | 'Sent' | 'UnexpectedResponse' | 'ResponseReady' | 'Notified' | 'NotifyOverweight' | 'NotifyDispatchError' | 'NotifyDecodeFailed' | 'InvalidResponder' | 'InvalidResponderVersion' | 'ResponseTaken' | 'AssetsTrapped' | 'VersionChangeNotified' | 'SupportedVersionChanged' | 'NotifyTargetSendFail' | 'NotifyTargetMigrationFail' | 'InvalidQuerierVersion' | 'InvalidQuerier' | 'VersionNotifyStarted' | 'VersionNotifyRequested' | 'VersionNotifyUnrequested' | 'FeesPaid' | 'AssetsClaimed'; + } + + /** @name XcmV3TraitsOutcome (368) */ + interface XcmV3TraitsOutcome extends Enum { + readonly isComplete: boolean; + readonly asComplete: SpWeightsWeightV2Weight; + readonly isIncomplete: boolean; + readonly asIncomplete: ITuple<[SpWeightsWeightV2Weight, XcmV3TraitsError]>; + readonly isError: boolean; + readonly asError: XcmV3TraitsError; + readonly type: 'Complete' | 'Incomplete' | 'Error'; + } + + /** @name CumulusPalletXcmEvent (369) */ + interface CumulusPalletXcmEvent extends Enum { + readonly isInvalidFormat: boolean; + readonly asInvalidFormat: U8aFixed; + readonly isUnsupportedVersion: boolean; + readonly asUnsupportedVersion: U8aFixed; + readonly isExecutedDownward: boolean; + readonly asExecutedDownward: ITuple<[U8aFixed, XcmV3TraitsOutcome]>; + readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward'; + } + + /** @name CumulusPalletDmpQueueEvent (370) */ + interface CumulusPalletDmpQueueEvent extends Enum { + readonly isInvalidFormat: boolean; + readonly asInvalidFormat: { + readonly messageId: U8aFixed; } & Struct; - readonly isSetTokenProperties: boolean; - readonly asSetTokenProperties: { - readonly collectionId: u32; - readonly tokenId: u32; - readonly properties: Vec; + readonly isUnsupportedVersion: boolean; + readonly asUnsupportedVersion: { + readonly messageId: U8aFixed; } & Struct; - readonly isDeleteTokenProperties: boolean; - readonly asDeleteTokenProperties: { - readonly collectionId: u32; - readonly tokenId: u32; - readonly propertyKeys: Vec; + readonly isExecutedDownward: boolean; + readonly asExecutedDownward: { + readonly messageId: U8aFixed; + readonly outcome: XcmV3TraitsOutcome; } & Struct; - readonly isSetTokenPropertyPermissions: boolean; - readonly asSetTokenPropertyPermissions: { - readonly collectionId: u32; - readonly propertyPermissions: Vec; + readonly isWeightExhausted: boolean; + readonly asWeightExhausted: { + readonly messageId: U8aFixed; + readonly remainingWeight: SpWeightsWeightV2Weight; + readonly requiredWeight: SpWeightsWeightV2Weight; } & Struct; - readonly isCreateMultipleItemsEx: boolean; - readonly asCreateMultipleItemsEx: { - readonly collectionId: u32; - readonly data: UpDataStructsCreateItemExData; + readonly isOverweightEnqueued: boolean; + readonly asOverweightEnqueued: { + readonly messageId: U8aFixed; + readonly overweightIndex: u64; + readonly requiredWeight: SpWeightsWeightV2Weight; } & Struct; - readonly isSetTransfersEnabledFlag: boolean; - readonly asSetTransfersEnabledFlag: { - readonly collectionId: u32; - readonly value: bool; + readonly isOverweightServiced: boolean; + readonly asOverweightServiced: { + readonly overweightIndex: u64; + readonly weightUsed: SpWeightsWeightV2Weight; } & Struct; - readonly isBurnItem: boolean; - readonly asBurnItem: { - readonly collectionId: u32; - readonly itemId: u32; - readonly value: u128; + readonly isMaxMessagesExhausted: boolean; + readonly asMaxMessagesExhausted: { + readonly messageId: U8aFixed; } & Struct; - readonly isBurnFrom: boolean; - readonly asBurnFrom: { - readonly collectionId: u32; - readonly from: PalletEvmAccountBasicCrossAccountIdRepr; - readonly itemId: u32; - readonly value: u128; + readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced' | 'MaxMessagesExhausted'; + } + + /** @name PalletConfigurationEvent (371) */ + interface PalletConfigurationEvent extends Enum { + readonly isNewDesiredCollators: boolean; + readonly asNewDesiredCollators: { + readonly desiredCollators: Option; } & Struct; - readonly isTransfer: boolean; - readonly asTransfer: { - readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr; - readonly collectionId: u32; - readonly itemId: u32; - readonly value: u128; + readonly isNewCollatorLicenseBond: boolean; + readonly asNewCollatorLicenseBond: { + readonly bondCost: Option; } & Struct; - readonly isApprove: boolean; - readonly asApprove: { - readonly spender: PalletEvmAccountBasicCrossAccountIdRepr; - readonly collectionId: u32; - readonly itemId: u32; - readonly amount: u128; + readonly isNewCollatorKickThreshold: boolean; + readonly asNewCollatorKickThreshold: { + readonly lengthInBlocks: Option; } & Struct; - readonly isApproveFrom: boolean; - readonly asApproveFrom: { - readonly from: PalletEvmAccountBasicCrossAccountIdRepr; - readonly to: PalletEvmAccountBasicCrossAccountIdRepr; - readonly collectionId: u32; - readonly itemId: u32; - readonly amount: u128; + readonly type: 'NewDesiredCollators' | 'NewCollatorLicenseBond' | 'NewCollatorKickThreshold'; + } + + /** @name PalletCommonEvent (372) */ + interface PalletCommonEvent extends Enum { + readonly isCollectionCreated: boolean; + readonly asCollectionCreated: ITuple<[u32, u8, AccountId32]>; + readonly isCollectionDestroyed: boolean; + readonly asCollectionDestroyed: u32; + readonly isItemCreated: boolean; + readonly asItemCreated: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>; + readonly isItemDestroyed: boolean; + readonly asItemDestroyed: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, u128]>; + readonly isTransfer: boolean; + readonly asTransfer: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>; + readonly isApproved: boolean; + readonly asApproved: ITuple<[u32, u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, u128]>; + readonly isApprovedForAll: boolean; + readonly asApprovedForAll: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr, PalletEvmAccountBasicCrossAccountIdRepr, bool]>; + readonly isCollectionPropertySet: boolean; + readonly asCollectionPropertySet: ITuple<[u32, Bytes]>; + readonly isCollectionPropertyDeleted: boolean; + readonly asCollectionPropertyDeleted: ITuple<[u32, Bytes]>; + readonly isTokenPropertySet: boolean; + readonly asTokenPropertySet: ITuple<[u32, u32, Bytes]>; + readonly isTokenPropertyDeleted: boolean; + readonly asTokenPropertyDeleted: ITuple<[u32, u32, Bytes]>; + readonly isPropertyPermissionSet: boolean; + readonly asPropertyPermissionSet: ITuple<[u32, Bytes]>; + readonly isAllowListAddressAdded: boolean; + readonly asAllowListAddressAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>; + readonly isAllowListAddressRemoved: boolean; + readonly asAllowListAddressRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>; + readonly isCollectionAdminAdded: boolean; + readonly asCollectionAdminAdded: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>; + readonly isCollectionAdminRemoved: boolean; + readonly asCollectionAdminRemoved: ITuple<[u32, PalletEvmAccountBasicCrossAccountIdRepr]>; + readonly isCollectionLimitSet: boolean; + readonly asCollectionLimitSet: u32; + readonly isCollectionOwnerChanged: boolean; + readonly asCollectionOwnerChanged: ITuple<[u32, AccountId32]>; + readonly isCollectionPermissionSet: boolean; + readonly asCollectionPermissionSet: u32; + readonly isCollectionSponsorSet: boolean; + readonly asCollectionSponsorSet: ITuple<[u32, AccountId32]>; + readonly isSponsorshipConfirmed: boolean; + readonly asSponsorshipConfirmed: ITuple<[u32, AccountId32]>; + readonly isCollectionSponsorRemoved: boolean; + readonly asCollectionSponsorRemoved: u32; + readonly type: 'CollectionCreated' | 'CollectionDestroyed' | 'ItemCreated' | 'ItemDestroyed' | 'Transfer' | 'Approved' | 'ApprovedForAll' | 'CollectionPropertySet' | 'CollectionPropertyDeleted' | 'TokenPropertySet' | 'TokenPropertyDeleted' | 'PropertyPermissionSet' | 'AllowListAddressAdded' | 'AllowListAddressRemoved' | 'CollectionAdminAdded' | 'CollectionAdminRemoved' | 'CollectionLimitSet' | 'CollectionOwnerChanged' | 'CollectionPermissionSet' | 'CollectionSponsorSet' | 'SponsorshipConfirmed' | 'CollectionSponsorRemoved'; + } + + /** @name PalletStructureEvent (373) */ + interface PalletStructureEvent extends Enum { + readonly isExecuted: boolean; + readonly asExecuted: Result; + readonly type: 'Executed'; + } + + /** @name PalletAppPromotionEvent (374) */ + interface PalletAppPromotionEvent extends Enum { + readonly isStakingRecalculation: boolean; + readonly asStakingRecalculation: ITuple<[AccountId32, u128, u128]>; + readonly isStake: boolean; + readonly asStake: ITuple<[AccountId32, u128]>; + readonly isUnstake: boolean; + readonly asUnstake: ITuple<[AccountId32, u128]>; + readonly isSetAdmin: boolean; + readonly asSetAdmin: AccountId32; + readonly type: 'StakingRecalculation' | 'Stake' | 'Unstake' | 'SetAdmin'; + } + + /** @name PalletForeignAssetsModuleEvent (375) */ + interface PalletForeignAssetsModuleEvent extends Enum { + readonly isForeignAssetRegistered: boolean; + readonly asForeignAssetRegistered: { + readonly assetId: u32; + readonly assetAddress: XcmV3MultiLocation; + readonly metadata: PalletForeignAssetsModuleAssetMetadata; } & Struct; - readonly isTransferFrom: boolean; - readonly asTransferFrom: { - readonly from: PalletEvmAccountBasicCrossAccountIdRepr; - readonly recipient: PalletEvmAccountBasicCrossAccountIdRepr; - readonly collectionId: u32; - readonly itemId: u32; - readonly value: u128; + readonly isForeignAssetUpdated: boolean; + readonly asForeignAssetUpdated: { + readonly assetId: u32; + readonly assetAddress: XcmV3MultiLocation; + readonly metadata: PalletForeignAssetsModuleAssetMetadata; } & Struct; - readonly isSetCollectionLimits: boolean; - readonly asSetCollectionLimits: { - readonly collectionId: u32; - readonly newLimit: UpDataStructsCollectionLimits; + readonly isAssetRegistered: boolean; + readonly asAssetRegistered: { + readonly assetId: PalletForeignAssetsAssetIds; + readonly metadata: PalletForeignAssetsModuleAssetMetadata; } & Struct; - readonly isSetCollectionPermissions: boolean; - readonly asSetCollectionPermissions: { - readonly collectionId: u32; - readonly newPermission: UpDataStructsCollectionPermissions; + readonly isAssetUpdated: boolean; + readonly asAssetUpdated: { + readonly assetId: PalletForeignAssetsAssetIds; + readonly metadata: PalletForeignAssetsModuleAssetMetadata; } & Struct; - readonly isRepartition: boolean; - readonly asRepartition: { - readonly collectionId: u32; - readonly tokenId: u32; - readonly amount: u128; + readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated'; + } + + /** @name PalletEvmEvent (376) */ + interface PalletEvmEvent extends Enum { + readonly isLog: boolean; + readonly asLog: { + readonly log: EthereumLog; } & Struct; - readonly isSetAllowanceForAll: boolean; - readonly asSetAllowanceForAll: { - readonly collectionId: u32; - readonly operator: PalletEvmAccountBasicCrossAccountIdRepr; - readonly approve: bool; + readonly isCreated: boolean; + readonly asCreated: { + readonly address: H160; } & Struct; - readonly isForceRepairCollection: boolean; - readonly asForceRepairCollection: { - readonly collectionId: u32; + readonly isCreatedFailed: boolean; + readonly asCreatedFailed: { + readonly address: H160; } & Struct; - readonly isForceRepairItem: boolean; - readonly asForceRepairItem: { - readonly collectionId: u32; - readonly itemId: u32; + readonly isExecuted: boolean; + readonly asExecuted: { + readonly address: H160; } & Struct; - readonly type: 'CreateCollection' | 'CreateCollectionEx' | 'DestroyCollection' | 'AddToAllowList' | 'RemoveFromAllowList' | 'ChangeCollectionOwner' | 'AddCollectionAdmin' | 'RemoveCollectionAdmin' | 'SetCollectionSponsor' | 'ConfirmSponsorship' | 'RemoveCollectionSponsor' | 'CreateItem' | 'CreateMultipleItems' | 'SetCollectionProperties' | 'DeleteCollectionProperties' | 'SetTokenProperties' | 'DeleteTokenProperties' | 'SetTokenPropertyPermissions' | 'CreateMultipleItemsEx' | 'SetTransfersEnabledFlag' | 'BurnItem' | 'BurnFrom' | 'Transfer' | 'Approve' | 'ApproveFrom' | 'TransferFrom' | 'SetCollectionLimits' | 'SetCollectionPermissions' | 'Repartition' | 'SetAllowanceForAll' | 'ForceRepairCollection' | 'ForceRepairItem'; + readonly isExecutedFailed: boolean; + readonly asExecutedFailed: { + readonly address: H160; + } & Struct; + readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed'; } - /** @name UpDataStructsCollectionMode (334) */ - interface UpDataStructsCollectionMode extends Enum { - readonly isNft: boolean; - readonly isFungible: boolean; - readonly asFungible: u8; - readonly isReFungible: boolean; - readonly type: 'Nft' | 'Fungible' | 'ReFungible'; + /** @name PalletEthereumEvent (377) */ + interface PalletEthereumEvent extends Enum { + readonly isExecuted: boolean; + readonly asExecuted: { + readonly from: H160; + readonly to: H160; + readonly transactionHash: H256; + readonly exitReason: EvmCoreErrorExitReason; + readonly extraData: Bytes; + } & Struct; + readonly type: 'Executed'; } - /** @name UpDataStructsCreateCollectionData (335) */ - interface UpDataStructsCreateCollectionData extends Struct { - readonly mode: UpDataStructsCollectionMode; - readonly access: Option; - readonly name: Vec; - readonly description: Vec; - readonly tokenPrefix: Bytes; - readonly limits: Option; - readonly permissions: Option; - readonly tokenPropertyPermissions: Vec; - readonly properties: Vec; - readonly adminList: Vec; - readonly pendingSponsor: Option; - readonly flags: U8aFixed; + /** @name EvmCoreErrorExitReason (378) */ + interface EvmCoreErrorExitReason extends Enum { + readonly isSucceed: boolean; + readonly asSucceed: EvmCoreErrorExitSucceed; + readonly isError: boolean; + readonly asError: EvmCoreErrorExitError; + readonly isRevert: boolean; + readonly asRevert: EvmCoreErrorExitRevert; + readonly isFatal: boolean; + readonly asFatal: EvmCoreErrorExitFatal; + readonly type: 'Succeed' | 'Error' | 'Revert' | 'Fatal'; } - /** @name UpDataStructsAccessMode (337) */ - interface UpDataStructsAccessMode extends Enum { - readonly isNormal: boolean; - readonly isAllowList: boolean; - readonly type: 'Normal' | 'AllowList'; + /** @name EvmCoreErrorExitSucceed (379) */ + interface EvmCoreErrorExitSucceed extends Enum { + readonly isStopped: boolean; + readonly isReturned: boolean; + readonly isSuicided: boolean; + readonly type: 'Stopped' | 'Returned' | 'Suicided'; } - /** @name UpDataStructsCollectionLimits (339) */ - interface UpDataStructsCollectionLimits extends Struct { - readonly accountTokenOwnershipLimit: Option; - readonly sponsoredDataSize: Option; - readonly sponsoredDataRateLimit: Option; - readonly tokenLimit: Option; - readonly sponsorTransferTimeout: Option; - readonly sponsorApproveTimeout: Option; - readonly ownerCanTransfer: Option; - readonly ownerCanDestroy: Option; - readonly transfersEnabled: Option; + /** @name EvmCoreErrorExitError (380) */ + interface EvmCoreErrorExitError extends Enum { + readonly isStackUnderflow: boolean; + readonly isStackOverflow: boolean; + readonly isInvalidJump: boolean; + readonly isInvalidRange: boolean; + readonly isDesignatedInvalid: boolean; + readonly isCallTooDeep: boolean; + readonly isCreateCollision: boolean; + readonly isCreateContractLimit: boolean; + readonly isOutOfOffset: boolean; + readonly isOutOfGas: boolean; + readonly isOutOfFund: boolean; + readonly isPcUnderflow: boolean; + readonly isCreateEmpty: boolean; + readonly isOther: boolean; + readonly asOther: Text; + readonly isMaxNonce: boolean; + readonly isInvalidCode: boolean; + readonly asInvalidCode: u8; + readonly type: 'StackUnderflow' | 'StackOverflow' | 'InvalidJump' | 'InvalidRange' | 'DesignatedInvalid' | 'CallTooDeep' | 'CreateCollision' | 'CreateContractLimit' | 'OutOfOffset' | 'OutOfGas' | 'OutOfFund' | 'PcUnderflow' | 'CreateEmpty' | 'Other' | 'MaxNonce' | 'InvalidCode'; } - /** @name UpDataStructsSponsoringRateLimit (341) */ - interface UpDataStructsSponsoringRateLimit extends Enum { - readonly isSponsoringDisabled: boolean; - readonly isBlocks: boolean; - readonly asBlocks: u32; - readonly type: 'SponsoringDisabled' | 'Blocks'; + /** @name EvmCoreErrorExitRevert (384) */ + interface EvmCoreErrorExitRevert extends Enum { + readonly isReverted: boolean; + readonly type: 'Reverted'; } - /** @name UpDataStructsCollectionPermissions (344) */ - interface UpDataStructsCollectionPermissions extends Struct { - readonly access: Option; - readonly mintMode: Option; - readonly nesting: Option; + /** @name EvmCoreErrorExitFatal (385) */ + interface EvmCoreErrorExitFatal extends Enum { + readonly isNotSupported: boolean; + readonly isUnhandledInterrupt: boolean; + readonly isCallErrorAsFatal: boolean; + readonly asCallErrorAsFatal: EvmCoreErrorExitError; + readonly isOther: boolean; + readonly asOther: Text; + readonly type: 'NotSupported' | 'UnhandledInterrupt' | 'CallErrorAsFatal' | 'Other'; } - /** @name UpDataStructsNestingPermissions (346) */ - interface UpDataStructsNestingPermissions extends Struct { - readonly tokenOwner: bool; - readonly collectionAdmin: bool; - readonly restricted: Option; + /** @name PalletEvmContractHelpersEvent (386) */ + interface PalletEvmContractHelpersEvent extends Enum { + readonly isContractSponsorSet: boolean; + readonly asContractSponsorSet: ITuple<[H160, AccountId32]>; + readonly isContractSponsorshipConfirmed: boolean; + readonly asContractSponsorshipConfirmed: ITuple<[H160, AccountId32]>; + readonly isContractSponsorRemoved: boolean; + readonly asContractSponsorRemoved: H160; + readonly type: 'ContractSponsorSet' | 'ContractSponsorshipConfirmed' | 'ContractSponsorRemoved'; } - /** @name UpDataStructsOwnerRestrictedSet (348) */ - interface UpDataStructsOwnerRestrictedSet extends BTreeSet {} - - /** @name UpDataStructsPropertyKeyPermission (353) */ - interface UpDataStructsPropertyKeyPermission extends Struct { - readonly key: Bytes; - readonly permission: UpDataStructsPropertyPermission; + /** @name PalletEvmMigrationEvent (387) */ + interface PalletEvmMigrationEvent extends Enum { + readonly isTestEvent: boolean; + readonly type: 'TestEvent'; } - /** @name UpDataStructsPropertyPermission (354) */ - interface UpDataStructsPropertyPermission extends Struct { - readonly mutable: bool; - readonly collectionAdmin: bool; - readonly tokenOwner: bool; + /** @name PalletMaintenanceEvent (388) */ + interface PalletMaintenanceEvent extends Enum { + readonly isMaintenanceEnabled: boolean; + readonly isMaintenanceDisabled: boolean; + readonly type: 'MaintenanceEnabled' | 'MaintenanceDisabled'; } - /** @name UpDataStructsProperty (357) */ - interface UpDataStructsProperty extends Struct { - readonly key: Bytes; - readonly value: Bytes; + /** @name PalletTestUtilsEvent (389) */ + interface PalletTestUtilsEvent extends Enum { + readonly isValueIsSet: boolean; + readonly isShouldRollback: boolean; + readonly isBatchCompleted: boolean; + readonly type: 'ValueIsSet' | 'ShouldRollback' | 'BatchCompleted'; } - /** @name UpDataStructsCreateItemData (362) */ - interface UpDataStructsCreateItemData extends Enum { - readonly isNft: boolean; - readonly asNft: UpDataStructsCreateNftData; - readonly isFungible: boolean; - readonly asFungible: UpDataStructsCreateFungibleData; - readonly isReFungible: boolean; - readonly asReFungible: UpDataStructsCreateReFungibleData; - readonly type: 'Nft' | 'Fungible' | 'ReFungible'; + /** @name FrameSystemPhase (390) */ + interface FrameSystemPhase extends Enum { + readonly isApplyExtrinsic: boolean; + readonly asApplyExtrinsic: u32; + readonly isFinalization: boolean; + readonly isInitialization: boolean; + readonly type: 'ApplyExtrinsic' | 'Finalization' | 'Initialization'; } - /** @name UpDataStructsCreateNftData (363) */ - interface UpDataStructsCreateNftData extends Struct { - readonly properties: Vec; + /** @name FrameSystemLastRuntimeUpgradeInfo (392) */ + interface FrameSystemLastRuntimeUpgradeInfo extends Struct { + readonly specVersion: Compact; + readonly specName: Text; } - /** @name UpDataStructsCreateFungibleData (364) */ - interface UpDataStructsCreateFungibleData extends Struct { - readonly value: u128; + /** @name FrameSystemLimitsBlockWeights (393) */ + interface FrameSystemLimitsBlockWeights extends Struct { + readonly baseBlock: SpWeightsWeightV2Weight; + readonly maxBlock: SpWeightsWeightV2Weight; + readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass; } - /** @name UpDataStructsCreateReFungibleData (365) */ - interface UpDataStructsCreateReFungibleData extends Struct { - readonly pieces: u128; - readonly properties: Vec; + /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (394) */ + interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct { + readonly normal: FrameSystemLimitsWeightsPerClass; + readonly operational: FrameSystemLimitsWeightsPerClass; + readonly mandatory: FrameSystemLimitsWeightsPerClass; } - /** @name UpDataStructsCreateItemExData (368) */ - interface UpDataStructsCreateItemExData extends Enum { - readonly isNft: boolean; - readonly asNft: Vec; - readonly isFungible: boolean; - readonly asFungible: BTreeMap; - readonly isRefungibleMultipleItems: boolean; - readonly asRefungibleMultipleItems: Vec; - readonly isRefungibleMultipleOwners: boolean; - readonly asRefungibleMultipleOwners: UpDataStructsCreateRefungibleExMultipleOwners; - readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners'; + /** @name FrameSystemLimitsWeightsPerClass (395) */ + interface FrameSystemLimitsWeightsPerClass extends Struct { + readonly baseExtrinsic: SpWeightsWeightV2Weight; + readonly maxExtrinsic: Option; + readonly maxTotal: Option; + readonly reserved: Option; } - /** @name UpDataStructsCreateNftExData (370) */ - interface UpDataStructsCreateNftExData extends Struct { - readonly properties: Vec; - readonly owner: PalletEvmAccountBasicCrossAccountIdRepr; + /** @name FrameSystemLimitsBlockLength (397) */ + interface FrameSystemLimitsBlockLength extends Struct { + readonly max: FrameSupportDispatchPerDispatchClassU32; } - /** @name UpDataStructsCreateRefungibleExSingleOwner (377) */ - interface UpDataStructsCreateRefungibleExSingleOwner extends Struct { - readonly user: PalletEvmAccountBasicCrossAccountIdRepr; - readonly pieces: u128; - readonly properties: Vec; + /** @name FrameSupportDispatchPerDispatchClassU32 (398) */ + interface FrameSupportDispatchPerDispatchClassU32 extends Struct { + readonly normal: u32; + readonly operational: u32; + readonly mandatory: u32; } - /** @name UpDataStructsCreateRefungibleExMultipleOwners (379) */ - interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct { - readonly users: BTreeMap; - readonly properties: Vec; + /** @name SpWeightsRuntimeDbWeight (399) */ + interface SpWeightsRuntimeDbWeight extends Struct { + readonly read: u64; + readonly write: u64; } - /** @name PalletConfigurationCall (380) */ - interface PalletConfigurationCall extends Enum { - readonly isSetWeightToFeeCoefficientOverride: boolean; - readonly asSetWeightToFeeCoefficientOverride: { - readonly coeff: Option; - } & Struct; - readonly isSetMinGasPriceOverride: boolean; - readonly asSetMinGasPriceOverride: { - readonly coeff: Option; - } & Struct; - readonly isSetAppPromotionConfigurationOverride: boolean; - readonly asSetAppPromotionConfigurationOverride: { - readonly configuration: PalletConfigurationAppPromotionConfiguration; - } & Struct; - readonly isSetCollatorSelectionDesiredCollators: boolean; - readonly asSetCollatorSelectionDesiredCollators: { - readonly max: Option; - } & Struct; - readonly isSetCollatorSelectionLicenseBond: boolean; - readonly asSetCollatorSelectionLicenseBond: { - readonly amount: Option; - } & Struct; - readonly isSetCollatorSelectionKickThreshold: boolean; - readonly asSetCollatorSelectionKickThreshold: { - readonly threshold: Option; - } & Struct; - readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride' | 'SetAppPromotionConfigurationOverride' | 'SetCollatorSelectionDesiredCollators' | 'SetCollatorSelectionLicenseBond' | 'SetCollatorSelectionKickThreshold'; + /** @name SpVersionRuntimeVersion (400) */ + interface SpVersionRuntimeVersion extends Struct { + readonly specName: Text; + readonly implName: Text; + readonly authoringVersion: u32; + readonly specVersion: u32; + readonly implVersion: u32; + readonly apis: Vec>; + readonly transactionVersion: u32; + readonly stateVersion: u8; } - /** @name PalletConfigurationAppPromotionConfiguration (382) */ - interface PalletConfigurationAppPromotionConfiguration extends Struct { - readonly recalculationInterval: Option; - readonly pendingInterval: Option; - readonly intervalIncome: Option; - readonly maxStakersPerCalculation: Option; + /** @name FrameSystemError (404) */ + interface FrameSystemError extends Enum { + readonly isInvalidSpecName: boolean; + readonly isSpecVersionNeedsToIncrease: boolean; + readonly isFailedToExtractRuntimeVersion: boolean; + readonly isNonDefaultComposite: boolean; + readonly isNonZeroRefCount: boolean; + readonly isCallFiltered: boolean; + readonly type: 'InvalidSpecName' | 'SpecVersionNeedsToIncrease' | 'FailedToExtractRuntimeVersion' | 'NonDefaultComposite' | 'NonZeroRefCount' | 'CallFiltered'; } - /** @name PalletStructureCall (386) */ - type PalletStructureCall = Null; - - /** @name PalletAppPromotionCall (387) */ - interface PalletAppPromotionCall extends Enum { - readonly isSetAdminAddress: boolean; - readonly asSetAdminAddress: { - readonly admin: PalletEvmAccountBasicCrossAccountIdRepr; - } & Struct; - readonly isStake: boolean; - readonly asStake: { - readonly amount: u128; - } & Struct; - readonly isUnstakeAll: boolean; - readonly isSponsorCollection: boolean; - readonly asSponsorCollection: { - readonly collectionId: u32; - } & Struct; - readonly isStopSponsoringCollection: boolean; - readonly asStopSponsoringCollection: { - readonly collectionId: u32; - } & Struct; - readonly isSponsorContract: boolean; - readonly asSponsorContract: { - readonly contractId: H160; - } & Struct; - readonly isStopSponsoringContract: boolean; - readonly asStopSponsoringContract: { - readonly contractId: H160; - } & Struct; - readonly isPayoutStakers: boolean; - readonly asPayoutStakers: { - readonly stakersNumber: Option; - } & Struct; - readonly isUnstakePartial: boolean; - readonly asUnstakePartial: { - readonly amount: u128; - } & Struct; - readonly isForceUnstake: boolean; - readonly asForceUnstake: { - readonly pendingBlocks: Vec; - } & Struct; - readonly type: 'SetAdminAddress' | 'Stake' | 'UnstakeAll' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers' | 'UnstakePartial' | 'ForceUnstake'; + /** @name PolkadotPrimitivesV4UpgradeRestriction (406) */ + interface PolkadotPrimitivesV4UpgradeRestriction extends Enum { + readonly isPresent: boolean; + readonly type: 'Present'; } - /** @name PalletForeignAssetsModuleCall (388) */ - interface PalletForeignAssetsModuleCall extends Enum { - readonly isRegisterForeignAsset: boolean; - readonly asRegisterForeignAsset: { - readonly owner: AccountId32; - readonly location: XcmVersionedMultiLocation; - readonly metadata: PalletForeignAssetsModuleAssetMetadata; - } & Struct; - readonly isUpdateForeignAsset: boolean; - readonly asUpdateForeignAsset: { - readonly foreignAssetId: u32; - readonly location: XcmVersionedMultiLocation; - readonly metadata: PalletForeignAssetsModuleAssetMetadata; - } & Struct; - readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset'; + /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (407) */ + interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct { + readonly dmqMqcHead: H256; + readonly relayDispatchQueueSize: CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize; + readonly ingressChannels: Vec>; + readonly egressChannels: Vec>; } - - /** @name PalletEvmCall (389) */ - interface PalletEvmCall extends Enum { - readonly isWithdraw: boolean; - readonly asWithdraw: { - readonly address: H160; - readonly value: u128; - } & Struct; - readonly isCall: boolean; - readonly asCall: { - readonly source: H160; - readonly target: H160; - readonly input: Bytes; - readonly value: U256; - readonly gasLimit: u64; - readonly maxFeePerGas: U256; - readonly maxPriorityFeePerGas: Option; - readonly nonce: Option; - readonly accessList: Vec]>>; - } & Struct; - readonly isCreate: boolean; - readonly asCreate: { - readonly source: H160; - readonly init: Bytes; - readonly value: U256; - readonly gasLimit: u64; - readonly maxFeePerGas: U256; - readonly maxPriorityFeePerGas: Option; - readonly nonce: Option; - readonly accessList: Vec]>>; - } & Struct; - readonly isCreate2: boolean; - readonly asCreate2: { - readonly source: H160; - readonly init: Bytes; - readonly salt: H256; - readonly value: U256; - readonly gasLimit: u64; - readonly maxFeePerGas: U256; - readonly maxPriorityFeePerGas: Option; - readonly nonce: Option; - readonly accessList: Vec]>>; - } & Struct; - readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2'; + + /** @name CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize (408) */ + interface CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize extends Struct { + readonly remainingCount: u32; + readonly remainingSize: u32; } - /** @name PalletEthereumCall (395) */ - interface PalletEthereumCall extends Enum { - readonly isTransact: boolean; - readonly asTransact: { - readonly transaction: EthereumTransactionTransactionV2; - } & Struct; - readonly type: 'Transact'; + /** @name PolkadotPrimitivesV4AbridgedHrmpChannel (411) */ + interface PolkadotPrimitivesV4AbridgedHrmpChannel extends Struct { + readonly maxCapacity: u32; + readonly maxTotalSize: u32; + readonly maxMessageSize: u32; + readonly msgCount: u32; + readonly totalSize: u32; + readonly mqcHead: Option; } - /** @name EthereumTransactionTransactionV2 (396) */ - interface EthereumTransactionTransactionV2 extends Enum { - readonly isLegacy: boolean; - readonly asLegacy: EthereumTransactionLegacyTransaction; - readonly isEip2930: boolean; - readonly asEip2930: EthereumTransactionEip2930Transaction; - readonly isEip1559: boolean; - readonly asEip1559: EthereumTransactionEip1559Transaction; - readonly type: 'Legacy' | 'Eip2930' | 'Eip1559'; + /** @name PolkadotPrimitivesV4AbridgedHostConfiguration (412) */ + interface PolkadotPrimitivesV4AbridgedHostConfiguration extends Struct { + readonly maxCodeSize: u32; + readonly maxHeadDataSize: u32; + readonly maxUpwardQueueCount: u32; + readonly maxUpwardQueueSize: u32; + readonly maxUpwardMessageSize: u32; + readonly maxUpwardMessageNumPerCandidate: u32; + readonly hrmpMaxMessageNumPerCandidate: u32; + readonly validationUpgradeCooldown: u32; + readonly validationUpgradeDelay: u32; } - /** @name EthereumTransactionLegacyTransaction (397) */ - interface EthereumTransactionLegacyTransaction extends Struct { - readonly nonce: U256; - readonly gasPrice: U256; - readonly gasLimit: U256; - readonly action: EthereumTransactionTransactionAction; - readonly value: U256; - readonly input: Bytes; - readonly signature: EthereumTransactionTransactionSignature; + /** @name PolkadotCorePrimitivesOutboundHrmpMessage (418) */ + interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct { + readonly recipient: u32; + readonly data: Bytes; } - /** @name EthereumTransactionTransactionAction (398) */ - interface EthereumTransactionTransactionAction extends Enum { - readonly isCall: boolean; - readonly asCall: H160; - readonly isCreate: boolean; - readonly type: 'Call' | 'Create'; + /** @name CumulusPalletParachainSystemCodeUpgradeAuthorization (419) */ + interface CumulusPalletParachainSystemCodeUpgradeAuthorization extends Struct { + readonly codeHash: H256; + readonly checkVersion: bool; } - /** @name EthereumTransactionTransactionSignature (399) */ - interface EthereumTransactionTransactionSignature extends Struct { - readonly v: u64; - readonly r: H256; - readonly s: H256; + /** @name CumulusPalletParachainSystemError (420) */ + interface CumulusPalletParachainSystemError extends Enum { + readonly isOverlappingUpgrades: boolean; + readonly isProhibitedByPolkadot: boolean; + readonly isTooBig: boolean; + readonly isValidationDataNotAvailable: boolean; + readonly isHostConfigurationNotAvailable: boolean; + readonly isNotScheduled: boolean; + readonly isNothingAuthorized: boolean; + readonly isUnauthorized: boolean; + readonly type: 'OverlappingUpgrades' | 'ProhibitedByPolkadot' | 'TooBig' | 'ValidationDataNotAvailable' | 'HostConfigurationNotAvailable' | 'NotScheduled' | 'NothingAuthorized' | 'Unauthorized'; } - /** @name EthereumTransactionEip2930Transaction (401) */ - interface EthereumTransactionEip2930Transaction extends Struct { - readonly chainId: u64; - readonly nonce: U256; - readonly gasPrice: U256; - readonly gasLimit: U256; - readonly action: EthereumTransactionTransactionAction; - readonly value: U256; - readonly input: Bytes; - readonly accessList: Vec; - readonly oddYParity: bool; - readonly r: H256; - readonly s: H256; + /** @name PalletCollatorSelectionError (422) */ + interface PalletCollatorSelectionError extends Enum { + readonly isTooManyCandidates: boolean; + readonly isUnknown: boolean; + readonly isPermission: boolean; + readonly isAlreadyHoldingLicense: boolean; + readonly isNoLicense: boolean; + readonly isAlreadyCandidate: boolean; + readonly isNotCandidate: boolean; + readonly isTooManyInvulnerables: boolean; + readonly isTooFewInvulnerables: boolean; + readonly isAlreadyInvulnerable: boolean; + readonly isNotInvulnerable: boolean; + readonly isNoAssociatedValidatorId: boolean; + readonly isValidatorNotRegistered: boolean; + readonly type: 'TooManyCandidates' | 'Unknown' | 'Permission' | 'AlreadyHoldingLicense' | 'NoLicense' | 'AlreadyCandidate' | 'NotCandidate' | 'TooManyInvulnerables' | 'TooFewInvulnerables' | 'AlreadyInvulnerable' | 'NotInvulnerable' | 'NoAssociatedValidatorId' | 'ValidatorNotRegistered'; } - /** @name EthereumTransactionAccessListItem (403) */ - interface EthereumTransactionAccessListItem extends Struct { - readonly address: H160; - readonly storageKeys: Vec; + /** @name SpCoreCryptoKeyTypeId (426) */ + interface SpCoreCryptoKeyTypeId extends U8aFixed {} + + /** @name PalletSessionError (427) */ + interface PalletSessionError extends Enum { + readonly isInvalidProof: boolean; + readonly isNoAssociatedValidatorId: boolean; + readonly isDuplicatedKey: boolean; + readonly isNoKeys: boolean; + readonly isNoAccount: boolean; + readonly type: 'InvalidProof' | 'NoAssociatedValidatorId' | 'DuplicatedKey' | 'NoKeys' | 'NoAccount'; } - /** @name EthereumTransactionEip1559Transaction (404) */ - interface EthereumTransactionEip1559Transaction extends Struct { - readonly chainId: u64; - readonly nonce: U256; - readonly maxPriorityFeePerGas: U256; - readonly maxFeePerGas: U256; - readonly gasLimit: U256; - readonly action: EthereumTransactionTransactionAction; - readonly value: U256; - readonly input: Bytes; - readonly accessList: Vec; - readonly oddYParity: bool; - readonly r: H256; - readonly s: H256; + /** @name PalletBalancesBalanceLock (432) */ + interface PalletBalancesBalanceLock extends Struct { + readonly id: U8aFixed; + readonly amount: u128; + readonly reasons: PalletBalancesReasons; } - /** @name PalletEvmContractHelpersCall (405) */ - interface PalletEvmContractHelpersCall extends Enum { - readonly isMigrateFromSelfSponsoring: boolean; - readonly asMigrateFromSelfSponsoring: { - readonly addresses: Vec; - } & Struct; - readonly type: 'MigrateFromSelfSponsoring'; + /** @name PalletBalancesReasons (433) */ + interface PalletBalancesReasons extends Enum { + readonly isFee: boolean; + readonly isMisc: boolean; + readonly isAll: boolean; + readonly type: 'Fee' | 'Misc' | 'All'; } - /** @name PalletEvmMigrationCall (407) */ - interface PalletEvmMigrationCall extends Enum { - readonly isBegin: boolean; - readonly asBegin: { - readonly address: H160; - } & Struct; - readonly isSetData: boolean; - readonly asSetData: { - readonly address: H160; - readonly data: Vec>; - } & Struct; - readonly isFinish: boolean; - readonly asFinish: { - readonly address: H160; - readonly code: Bytes; - } & Struct; - readonly isInsertEthLogs: boolean; - readonly asInsertEthLogs: { - readonly logs: Vec; - } & Struct; - readonly isInsertEvents: boolean; - readonly asInsertEvents: { - readonly events: Vec; - } & Struct; - readonly isRemoveRmrkData: boolean; - readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents' | 'RemoveRmrkData'; + /** @name PalletBalancesReserveData (436) */ + interface PalletBalancesReserveData extends Struct { + readonly id: U8aFixed; + readonly amount: u128; } - /** @name PalletMaintenanceCall (411) */ - interface PalletMaintenanceCall extends Enum { - readonly isEnable: boolean; - readonly isDisable: boolean; - readonly isExecutePreimage: boolean; - readonly asExecutePreimage: { - readonly hash_: H256; - readonly weightBound: SpWeightsWeightV2Weight; - } & Struct; - readonly type: 'Enable' | 'Disable' | 'ExecutePreimage'; + /** @name PalletBalancesIdAmount (439) */ + interface PalletBalancesIdAmount extends Struct { + readonly id: U8aFixed; + readonly amount: u128; } - /** @name PalletTestUtilsCall (412) */ - interface PalletTestUtilsCall extends Enum { - readonly isEnable: boolean; - readonly isSetTestValue: boolean; - readonly asSetTestValue: { - readonly value: u32; - } & Struct; - readonly isSetTestValueAndRollback: boolean; - readonly asSetTestValueAndRollback: { - readonly value: u32; - } & Struct; - readonly isIncTestValue: boolean; - readonly isJustTakeFee: boolean; - readonly isBatchAll: boolean; - readonly asBatchAll: { - readonly calls: Vec; - } & Struct; - readonly type: 'Enable' | 'SetTestValue' | 'SetTestValueAndRollback' | 'IncTestValue' | 'JustTakeFee' | 'BatchAll'; + /** @name PalletBalancesError (442) */ + interface PalletBalancesError extends Enum { + readonly isVestingBalance: boolean; + readonly isLiquidityRestrictions: boolean; + readonly isInsufficientBalance: boolean; + readonly isExistentialDeposit: boolean; + readonly isExpendability: boolean; + readonly isExistingVestingSchedule: boolean; + readonly isDeadAccount: boolean; + readonly isTooManyReserves: boolean; + readonly isTooManyHolds: boolean; + readonly isTooManyFreezes: boolean; + readonly type: 'VestingBalance' | 'LiquidityRestrictions' | 'InsufficientBalance' | 'ExistentialDeposit' | 'Expendability' | 'ExistingVestingSchedule' | 'DeadAccount' | 'TooManyReserves' | 'TooManyHolds' | 'TooManyFreezes'; + } + + /** @name PalletTransactionPaymentReleases (444) */ + interface PalletTransactionPaymentReleases extends Enum { + readonly isV1Ancient: boolean; + readonly isV2: boolean; + readonly type: 'V1Ancient' | 'V2'; + } + + /** @name PalletTreasuryProposal (445) */ + interface PalletTreasuryProposal extends Struct { + readonly proposer: AccountId32; + readonly value: u128; + readonly beneficiary: AccountId32; + readonly bond: u128; + } + + /** @name FrameSupportPalletId (448) */ + interface FrameSupportPalletId extends U8aFixed {} + + /** @name PalletTreasuryError (449) */ + interface PalletTreasuryError extends Enum { + readonly isInsufficientProposersBalance: boolean; + readonly isInvalidIndex: boolean; + readonly isTooManyApprovals: boolean; + readonly isInsufficientPermission: boolean; + readonly isProposalNotApproved: boolean; + readonly type: 'InsufficientProposersBalance' | 'InvalidIndex' | 'TooManyApprovals' | 'InsufficientPermission' | 'ProposalNotApproved'; } - /** @name PalletSudoError (414) */ + /** @name PalletSudoError (450) */ interface PalletSudoError extends Enum { readonly isRequireSudo: boolean; readonly type: 'RequireSudo'; } - /** @name OrmlVestingModuleError (416) */ + /** @name OrmlVestingModuleError (452) */ interface OrmlVestingModuleError extends Enum { readonly isZeroVestingPeriod: boolean; readonly isZeroVestingPeriodCount: boolean; @@ -3626,7 +4347,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ZeroVestingPeriod' | 'ZeroVestingPeriodCount' | 'InsufficientBalanceToLock' | 'TooManyVestingSchedules' | 'AmountLow' | 'MaxVestingSchedulesExceeded'; } - /** @name OrmlXtokensModuleError (417) */ + /** @name OrmlXtokensModuleError (453) */ interface OrmlXtokensModuleError extends Enum { readonly isAssetHasNoReserve: boolean; readonly isNotCrossChainTransfer: boolean; @@ -3650,26 +4371,26 @@ declare module '@polkadot/types/lookup' { readonly type: 'AssetHasNoReserve' | 'NotCrossChainTransfer' | 'InvalidDest' | 'NotCrossChainTransferableCurrency' | 'UnweighableMessage' | 'XcmExecutionFailed' | 'CannotReanchor' | 'InvalidAncestry' | 'InvalidAsset' | 'DestinationNotInvertible' | 'BadVersion' | 'DistinctReserveForAssetAndFee' | 'ZeroFee' | 'ZeroAmount' | 'TooManyAssetsBeingSent' | 'AssetIndexNonExistent' | 'FeeNotEnough' | 'NotSupportedMultiLocation' | 'MinXcmFeeNotDefined'; } - /** @name OrmlTokensBalanceLock (420) */ + /** @name OrmlTokensBalanceLock (456) */ interface OrmlTokensBalanceLock extends Struct { readonly id: U8aFixed; readonly amount: u128; } - /** @name OrmlTokensAccountData (422) */ + /** @name OrmlTokensAccountData (458) */ interface OrmlTokensAccountData extends Struct { readonly free: u128; readonly reserved: u128; readonly frozen: u128; } - /** @name OrmlTokensReserveData (424) */ + /** @name OrmlTokensReserveData (460) */ interface OrmlTokensReserveData extends Struct { readonly id: Null; readonly amount: u128; } - /** @name OrmlTokensModuleError (426) */ + /** @name OrmlTokensModuleError (462) */ interface OrmlTokensModuleError extends Enum { readonly isBalanceTooLow: boolean; readonly isAmountIntoBalanceFailed: boolean; @@ -3682,14 +4403,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'BalanceTooLow' | 'AmountIntoBalanceFailed' | 'LiquidityRestrictions' | 'MaxLocksExceeded' | 'KeepAlive' | 'ExistentialDeposit' | 'DeadAccount' | 'TooManyReserves'; } - /** @name PalletIdentityRegistrarInfo (431) */ + /** @name PalletIdentityRegistrarInfo (467) */ interface PalletIdentityRegistrarInfo extends Struct { readonly account: AccountId32; readonly fee: u128; readonly fields: PalletIdentityBitFlags; } - /** @name PalletIdentityError (433) */ + /** @name PalletIdentityError (469) */ interface PalletIdentityError extends Enum { readonly isTooManySubAccounts: boolean; readonly isNotFound: boolean; @@ -3712,7 +4433,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'TooManySubAccounts' | 'NotFound' | 'NotNamed' | 'EmptyIndex' | 'FeeChanged' | 'NoIdentity' | 'StickyJudgement' | 'JudgementGiven' | 'InvalidJudgement' | 'InvalidIndex' | 'InvalidTarget' | 'TooManyFields' | 'TooManyRegistrars' | 'AlreadyClaimed' | 'NotSub' | 'NotOwned' | 'JudgementForDifferentIdentity' | 'JudgementPaymentFailed'; } - /** @name PalletPreimageRequestStatus (434) */ + /** @name PalletPreimageRequestStatus (470) */ interface PalletPreimageRequestStatus extends Enum { readonly isUnrequested: boolean; readonly asUnrequested: { @@ -3728,7 +4449,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unrequested' | 'Requested'; } - /** @name PalletPreimageError (439) */ + /** @name PalletPreimageError (475) */ interface PalletPreimageError extends Enum { readonly isTooBig: boolean; readonly isAlreadyNoted: boolean; @@ -3739,21 +4460,275 @@ declare module '@polkadot/types/lookup' { readonly type: 'TooBig' | 'AlreadyNoted' | 'NotAuthorized' | 'NotNoted' | 'Requested' | 'NotRequested'; } - /** @name CumulusPalletXcmpQueueInboundChannelDetails (441) */ + /** @name PalletDemocracyReferendumInfo (481) */ + interface PalletDemocracyReferendumInfo extends Enum { + readonly isOngoing: boolean; + readonly asOngoing: PalletDemocracyReferendumStatus; + readonly isFinished: boolean; + readonly asFinished: { + readonly approved: bool; + readonly end: u32; + } & Struct; + readonly type: 'Ongoing' | 'Finished'; + } + + /** @name PalletDemocracyReferendumStatus (482) */ + interface PalletDemocracyReferendumStatus extends Struct { + readonly end: u32; + readonly proposal: FrameSupportPreimagesBounded; + readonly threshold: PalletDemocracyVoteThreshold; + readonly delay: u32; + readonly tally: PalletDemocracyTally; + } + + /** @name PalletDemocracyTally (483) */ + interface PalletDemocracyTally extends Struct { + readonly ayes: u128; + readonly nays: u128; + readonly turnout: u128; + } + + /** @name PalletDemocracyVoteVoting (484) */ + interface PalletDemocracyVoteVoting extends Enum { + readonly isDirect: boolean; + readonly asDirect: { + readonly votes: Vec>; + readonly delegations: PalletDemocracyDelegations; + readonly prior: PalletDemocracyVotePriorLock; + } & Struct; + readonly isDelegating: boolean; + readonly asDelegating: { + readonly balance: u128; + readonly target: AccountId32; + readonly conviction: PalletDemocracyConviction; + readonly delegations: PalletDemocracyDelegations; + readonly prior: PalletDemocracyVotePriorLock; + } & Struct; + readonly type: 'Direct' | 'Delegating'; + } + + /** @name PalletDemocracyDelegations (488) */ + interface PalletDemocracyDelegations extends Struct { + readonly votes: u128; + readonly capital: u128; + } + + /** @name PalletDemocracyVotePriorLock (489) */ + interface PalletDemocracyVotePriorLock extends ITuple<[u32, u128]> {} + + /** @name PalletDemocracyError (492) */ + interface PalletDemocracyError extends Enum { + readonly isValueLow: boolean; + readonly isProposalMissing: boolean; + readonly isAlreadyCanceled: boolean; + readonly isDuplicateProposal: boolean; + readonly isProposalBlacklisted: boolean; + readonly isNotSimpleMajority: boolean; + readonly isInvalidHash: boolean; + readonly isNoProposal: boolean; + readonly isAlreadyVetoed: boolean; + readonly isReferendumInvalid: boolean; + readonly isNoneWaiting: boolean; + readonly isNotVoter: boolean; + readonly isNoPermission: boolean; + readonly isAlreadyDelegating: boolean; + readonly isInsufficientFunds: boolean; + readonly isNotDelegating: boolean; + readonly isVotesExist: boolean; + readonly isInstantNotAllowed: boolean; + readonly isNonsense: boolean; + readonly isWrongUpperBound: boolean; + readonly isMaxVotesReached: boolean; + readonly isTooMany: boolean; + readonly isVotingPeriodLow: boolean; + readonly isPreimageNotExist: boolean; + readonly type: 'ValueLow' | 'ProposalMissing' | 'AlreadyCanceled' | 'DuplicateProposal' | 'ProposalBlacklisted' | 'NotSimpleMajority' | 'InvalidHash' | 'NoProposal' | 'AlreadyVetoed' | 'ReferendumInvalid' | 'NoneWaiting' | 'NotVoter' | 'NoPermission' | 'AlreadyDelegating' | 'InsufficientFunds' | 'NotDelegating' | 'VotesExist' | 'InstantNotAllowed' | 'Nonsense' | 'WrongUpperBound' | 'MaxVotesReached' | 'TooMany' | 'VotingPeriodLow' | 'PreimageNotExist'; + } + + /** @name PalletCollectiveVotes (494) */ + interface PalletCollectiveVotes extends Struct { + readonly index: u32; + readonly threshold: u32; + readonly ayes: Vec; + readonly nays: Vec; + readonly end: u32; + } + + /** @name PalletCollectiveError (495) */ + interface PalletCollectiveError extends Enum { + readonly isNotMember: boolean; + readonly isDuplicateProposal: boolean; + readonly isProposalMissing: boolean; + readonly isWrongIndex: boolean; + readonly isDuplicateVote: boolean; + readonly isAlreadyInitialized: boolean; + readonly isTooEarly: boolean; + readonly isTooManyProposals: boolean; + readonly isWrongProposalWeight: boolean; + readonly isWrongProposalLength: boolean; + readonly type: 'NotMember' | 'DuplicateProposal' | 'ProposalMissing' | 'WrongIndex' | 'DuplicateVote' | 'AlreadyInitialized' | 'TooEarly' | 'TooManyProposals' | 'WrongProposalWeight' | 'WrongProposalLength'; + } + + /** @name PalletMembershipError (499) */ + interface PalletMembershipError extends Enum { + readonly isAlreadyMember: boolean; + readonly isNotMember: boolean; + readonly isTooManyMembers: boolean; + readonly type: 'AlreadyMember' | 'NotMember' | 'TooManyMembers'; + } + + /** @name PalletRankedCollectiveMemberRecord (502) */ + interface PalletRankedCollectiveMemberRecord extends Struct { + readonly rank: u16; + } + + /** @name PalletRankedCollectiveError (507) */ + interface PalletRankedCollectiveError extends Enum { + readonly isAlreadyMember: boolean; + readonly isNotMember: boolean; + readonly isNotPolling: boolean; + readonly isOngoing: boolean; + readonly isNoneRemaining: boolean; + readonly isCorruption: boolean; + readonly isRankTooLow: boolean; + readonly isInvalidWitness: boolean; + readonly isNoPermission: boolean; + readonly type: 'AlreadyMember' | 'NotMember' | 'NotPolling' | 'Ongoing' | 'NoneRemaining' | 'Corruption' | 'RankTooLow' | 'InvalidWitness' | 'NoPermission'; + } + + /** @name PalletReferendaReferendumInfo (508) */ + interface PalletReferendaReferendumInfo extends Enum { + readonly isOngoing: boolean; + readonly asOngoing: PalletReferendaReferendumStatus; + readonly isApproved: boolean; + readonly asApproved: ITuple<[u32, Option, Option]>; + readonly isRejected: boolean; + readonly asRejected: ITuple<[u32, Option, Option]>; + readonly isCancelled: boolean; + readonly asCancelled: ITuple<[u32, Option, Option]>; + readonly isTimedOut: boolean; + readonly asTimedOut: ITuple<[u32, Option, Option]>; + readonly isKilled: boolean; + readonly asKilled: u32; + readonly type: 'Ongoing' | 'Approved' | 'Rejected' | 'Cancelled' | 'TimedOut' | 'Killed'; + } + + /** @name PalletReferendaReferendumStatus (509) */ + interface PalletReferendaReferendumStatus extends Struct { + readonly track: u16; + readonly origin: QuartzRuntimeOriginCaller; + readonly proposal: FrameSupportPreimagesBounded; + readonly enactment: FrameSupportScheduleDispatchTime; + readonly submitted: u32; + readonly submissionDeposit: PalletReferendaDeposit; + readonly decisionDeposit: Option; + readonly deciding: Option; + readonly tally: PalletRankedCollectiveTally; + readonly inQueue: bool; + readonly alarm: Option]>>; + } + + /** @name PalletReferendaDeposit (510) */ + interface PalletReferendaDeposit extends Struct { + readonly who: AccountId32; + readonly amount: u128; + } + + /** @name PalletReferendaDecidingStatus (513) */ + interface PalletReferendaDecidingStatus extends Struct { + readonly since: u32; + readonly confirming: Option; + } + + /** @name PalletReferendaTrackInfo (519) */ + interface PalletReferendaTrackInfo extends Struct { + readonly name: Text; + readonly maxDeciding: u32; + readonly decisionDeposit: u128; + readonly preparePeriod: u32; + readonly decisionPeriod: u32; + readonly confirmPeriod: u32; + readonly minEnactmentPeriod: u32; + readonly minApproval: PalletReferendaCurve; + readonly minSupport: PalletReferendaCurve; + } + + /** @name PalletReferendaCurve (520) */ + interface PalletReferendaCurve extends Enum { + readonly isLinearDecreasing: boolean; + readonly asLinearDecreasing: { + readonly length: Perbill; + readonly floor: Perbill; + readonly ceil: Perbill; + } & Struct; + readonly isSteppedDecreasing: boolean; + readonly asSteppedDecreasing: { + readonly begin: Perbill; + readonly end: Perbill; + readonly step: Perbill; + readonly period: Perbill; + } & Struct; + readonly isReciprocal: boolean; + readonly asReciprocal: { + readonly factor: i64; + readonly xOffset: i64; + readonly yOffset: i64; + } & Struct; + readonly type: 'LinearDecreasing' | 'SteppedDecreasing' | 'Reciprocal'; + } + + /** @name PalletReferendaError (523) */ + interface PalletReferendaError extends Enum { + readonly isNotOngoing: boolean; + readonly isHasDeposit: boolean; + readonly isBadTrack: boolean; + readonly isFull: boolean; + readonly isQueueEmpty: boolean; + readonly isBadReferendum: boolean; + readonly isNothingToDo: boolean; + readonly isNoTrack: boolean; + readonly isUnfinished: boolean; + readonly isNoPermission: boolean; + readonly isNoDeposit: boolean; + readonly isBadStatus: boolean; + readonly isPreimageNotExist: boolean; + readonly type: 'NotOngoing' | 'HasDeposit' | 'BadTrack' | 'Full' | 'QueueEmpty' | 'BadReferendum' | 'NothingToDo' | 'NoTrack' | 'Unfinished' | 'NoPermission' | 'NoDeposit' | 'BadStatus' | 'PreimageNotExist'; + } + + /** @name PalletSchedulerScheduled (526) */ + interface PalletSchedulerScheduled extends Struct { + readonly maybeId: Option; + readonly priority: u8; + readonly call: FrameSupportPreimagesBounded; + readonly maybePeriodic: Option>; + readonly origin: QuartzRuntimeOriginCaller; + } + + /** @name PalletSchedulerError (528) */ + interface PalletSchedulerError extends Enum { + readonly isFailedToSchedule: boolean; + readonly isNotFound: boolean; + readonly isTargetBlockNumberInPast: boolean; + readonly isRescheduleNoChange: boolean; + readonly isNamed: boolean; + readonly type: 'FailedToSchedule' | 'NotFound' | 'TargetBlockNumberInPast' | 'RescheduleNoChange' | 'Named'; + } + + /** @name CumulusPalletXcmpQueueInboundChannelDetails (530) */ interface CumulusPalletXcmpQueueInboundChannelDetails extends Struct { readonly sender: u32; readonly state: CumulusPalletXcmpQueueInboundState; readonly messageMetadata: Vec>; } - /** @name CumulusPalletXcmpQueueInboundState (442) */ + /** @name CumulusPalletXcmpQueueInboundState (531) */ interface CumulusPalletXcmpQueueInboundState extends Enum { readonly isOk: boolean; readonly isSuspended: boolean; readonly type: 'Ok' | 'Suspended'; } - /** @name PolkadotParachainPrimitivesXcmpMessageFormat (445) */ + /** @name PolkadotParachainPrimitivesXcmpMessageFormat (534) */ interface PolkadotParachainPrimitivesXcmpMessageFormat extends Enum { readonly isConcatenatedVersionedXcm: boolean; readonly isConcatenatedEncodedBlob: boolean; @@ -3761,7 +4736,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'ConcatenatedVersionedXcm' | 'ConcatenatedEncodedBlob' | 'Signals'; } - /** @name CumulusPalletXcmpQueueOutboundChannelDetails (448) */ + /** @name CumulusPalletXcmpQueueOutboundChannelDetails (537) */ interface CumulusPalletXcmpQueueOutboundChannelDetails extends Struct { readonly recipient: u32; readonly state: CumulusPalletXcmpQueueOutboundState; @@ -3770,14 +4745,14 @@ declare module '@polkadot/types/lookup' { readonly lastIndex: u16; } - /** @name CumulusPalletXcmpQueueOutboundState (449) */ + /** @name CumulusPalletXcmpQueueOutboundState (538) */ interface CumulusPalletXcmpQueueOutboundState extends Enum { readonly isOk: boolean; readonly isSuspended: boolean; readonly type: 'Ok' | 'Suspended'; } - /** @name CumulusPalletXcmpQueueQueueConfigData (451) */ + /** @name CumulusPalletXcmpQueueQueueConfigData (540) */ interface CumulusPalletXcmpQueueQueueConfigData extends Struct { readonly suspendThreshold: u32; readonly dropThreshold: u32; @@ -3787,7 +4762,7 @@ declare module '@polkadot/types/lookup' { readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight; } - /** @name CumulusPalletXcmpQueueError (453) */ + /** @name CumulusPalletXcmpQueueError (542) */ interface CumulusPalletXcmpQueueError extends Enum { readonly isFailedToSend: boolean; readonly isBadXcmOrigin: boolean; @@ -3797,7 +4772,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'FailedToSend' | 'BadXcmOrigin' | 'BadXcm' | 'BadOverweightIndex' | 'WeightOverLimit'; } - /** @name PalletXcmQueryStatus (454) */ + /** @name PalletXcmQueryStatus (543) */ interface PalletXcmQueryStatus extends Enum { readonly isPending: boolean; readonly asPending: { @@ -3819,7 +4794,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Pending' | 'VersionNotifier' | 'Ready'; } - /** @name XcmVersionedResponse (458) */ + /** @name XcmVersionedResponse (547) */ interface XcmVersionedResponse extends Enum { readonly isV2: boolean; readonly asV2: XcmV2Response; @@ -3828,7 +4803,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'V2' | 'V3'; } - /** @name PalletXcmVersionMigrationStage (464) */ + /** @name PalletXcmVersionMigrationStage (553) */ interface PalletXcmVersionMigrationStage extends Enum { readonly isMigrateSupportedVersion: boolean; readonly isMigrateVersionNotifiers: boolean; @@ -3838,14 +4813,14 @@ declare module '@polkadot/types/lookup' { readonly type: 'MigrateSupportedVersion' | 'MigrateVersionNotifiers' | 'NotifyCurrentTargets' | 'MigrateAndNotifyOldTargets'; } - /** @name XcmVersionedAssetId (467) */ + /** @name XcmVersionedAssetId (556) */ interface XcmVersionedAssetId extends Enum { readonly isV3: boolean; readonly asV3: XcmV3MultiassetAssetId; readonly type: 'V3'; } - /** @name PalletXcmRemoteLockedFungibleRecord (468) */ + /** @name PalletXcmRemoteLockedFungibleRecord (557) */ interface PalletXcmRemoteLockedFungibleRecord extends Struct { readonly amount: u128; readonly owner: XcmVersionedMultiLocation; @@ -3853,7 +4828,7 @@ declare module '@polkadot/types/lookup' { readonly consumers: Vec>; } - /** @name PalletXcmError (475) */ + /** @name PalletXcmError (564) */ interface PalletXcmError extends Enum { readonly isUnreachable: boolean; readonly isSendFailure: boolean; @@ -3878,29 +4853,29 @@ declare module '@polkadot/types/lookup' { readonly type: 'Unreachable' | 'SendFailure' | 'Filtered' | 'UnweighableMessage' | 'DestinationNotInvertible' | 'Empty' | 'CannotReanchor' | 'TooManyAssets' | 'InvalidOrigin' | 'BadVersion' | 'BadLocation' | 'NoSubscription' | 'AlreadySubscribed' | 'InvalidAsset' | 'LowBalance' | 'TooManyLocks' | 'AccountNotSovereign' | 'FeesNotMet' | 'LockNotFound' | 'InUse'; } - /** @name CumulusPalletXcmError (476) */ + /** @name CumulusPalletXcmError (565) */ type CumulusPalletXcmError = Null; - /** @name CumulusPalletDmpQueueConfigData (477) */ + /** @name CumulusPalletDmpQueueConfigData (566) */ interface CumulusPalletDmpQueueConfigData extends Struct { readonly maxIndividual: SpWeightsWeightV2Weight; } - /** @name CumulusPalletDmpQueuePageIndexData (478) */ + /** @name CumulusPalletDmpQueuePageIndexData (567) */ interface CumulusPalletDmpQueuePageIndexData extends Struct { readonly beginUsed: u32; readonly endUsed: u32; readonly overweightCount: u64; } - /** @name CumulusPalletDmpQueueError (481) */ + /** @name CumulusPalletDmpQueueError (570) */ interface CumulusPalletDmpQueueError extends Enum { readonly isUnknown: boolean; readonly isOverLimit: boolean; readonly type: 'Unknown' | 'OverLimit'; } - /** @name PalletUniqueError (485) */ + /** @name PalletUniqueError (574) */ interface PalletUniqueError extends Enum { readonly isCollectionDecimalPointLimitExceeded: boolean; readonly isEmptyArgument: boolean; @@ -3908,13 +4883,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'CollectionDecimalPointLimitExceeded' | 'EmptyArgument' | 'RepartitionCalledOnNonRefungibleCollection'; } - /** @name PalletConfigurationError (486) */ + /** @name PalletConfigurationError (575) */ interface PalletConfigurationError extends Enum { readonly isInconsistentConfiguration: boolean; readonly type: 'InconsistentConfiguration'; } - /** @name UpDataStructsCollection (487) */ + /** @name UpDataStructsCollection (576) */ interface UpDataStructsCollection extends Struct { readonly owner: AccountId32; readonly mode: UpDataStructsCollectionMode; @@ -3927,7 +4902,7 @@ declare module '@polkadot/types/lookup' { readonly flags: U8aFixed; } - /** @name UpDataStructsSponsorshipStateAccountId32 (488) */ + /** @name UpDataStructsSponsorshipStateAccountId32 (577) */ interface UpDataStructsSponsorshipStateAccountId32 extends Enum { readonly isDisabled: boolean; readonly isUnconfirmed: boolean; @@ -3937,43 +4912,43 @@ declare module '@polkadot/types/lookup' { readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed'; } - /** @name UpDataStructsProperties (489) */ + /** @name UpDataStructsProperties (578) */ interface UpDataStructsProperties extends Struct { readonly map: UpDataStructsPropertiesMapBoundedVec; readonly consumedSpace: u32; readonly reserved: u32; } - /** @name UpDataStructsPropertiesMapBoundedVec (490) */ + /** @name UpDataStructsPropertiesMapBoundedVec (579) */ interface UpDataStructsPropertiesMapBoundedVec extends BTreeMap {} - /** @name UpDataStructsPropertiesMapPropertyPermission (495) */ + /** @name UpDataStructsPropertiesMapPropertyPermission (584) */ interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap {} - /** @name UpDataStructsCollectionStats (502) */ + /** @name UpDataStructsCollectionStats (591) */ interface UpDataStructsCollectionStats extends Struct { readonly created: u32; readonly destroyed: u32; readonly alive: u32; } - /** @name UpDataStructsTokenChild (503) */ + /** @name UpDataStructsTokenChild (592) */ interface UpDataStructsTokenChild extends Struct { readonly token: u32; readonly collection: u32; } - /** @name PhantomTypeUpDataStructs (504) */ + /** @name PhantomTypeUpDataStructs (593) */ interface PhantomTypeUpDataStructs extends Vec> {} - /** @name UpDataStructsTokenData (506) */ + /** @name UpDataStructsTokenData (595) */ interface UpDataStructsTokenData extends Struct { readonly properties: Vec; readonly owner: Option; readonly pieces: u128; } - /** @name UpDataStructsRpcCollection (507) */ + /** @name UpDataStructsRpcCollection (596) */ interface UpDataStructsRpcCollection extends Struct { readonly owner: AccountId32; readonly mode: UpDataStructsCollectionMode; @@ -3989,13 +4964,13 @@ declare module '@polkadot/types/lookup' { readonly flags: UpDataStructsRpcCollectionFlags; } - /** @name UpDataStructsRpcCollectionFlags (508) */ + /** @name UpDataStructsRpcCollectionFlags (597) */ interface UpDataStructsRpcCollectionFlags extends Struct { readonly foreign: bool; readonly erc721metadata: bool; } - /** @name UpPovEstimateRpcPovInfo (509) */ + /** @name UpPovEstimateRpcPovInfo (598) */ interface UpPovEstimateRpcPovInfo extends Struct { readonly proofSize: u64; readonly compactProofSize: u64; @@ -4004,7 +4979,7 @@ declare module '@polkadot/types/lookup' { readonly keyValues: Vec; } - /** @name SpRuntimeTransactionValidityTransactionValidityError (512) */ + /** @name SpRuntimeTransactionValidityTransactionValidityError (601) */ interface SpRuntimeTransactionValidityTransactionValidityError extends Enum { readonly isInvalid: boolean; readonly asInvalid: SpRuntimeTransactionValidityInvalidTransaction; @@ -4013,7 +4988,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Invalid' | 'Unknown'; } - /** @name SpRuntimeTransactionValidityInvalidTransaction (513) */ + /** @name SpRuntimeTransactionValidityInvalidTransaction (602) */ interface SpRuntimeTransactionValidityInvalidTransaction extends Enum { readonly isCall: boolean; readonly isPayment: boolean; @@ -4030,7 +5005,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Call' | 'Payment' | 'Future' | 'Stale' | 'BadProof' | 'AncientBirthBlock' | 'ExhaustsResources' | 'Custom' | 'BadMandatory' | 'MandatoryValidation' | 'BadSigner'; } - /** @name SpRuntimeTransactionValidityUnknownTransaction (514) */ + /** @name SpRuntimeTransactionValidityUnknownTransaction (603) */ interface SpRuntimeTransactionValidityUnknownTransaction extends Enum { readonly isCannotLookup: boolean; readonly isNoUnsignedValidator: boolean; @@ -4039,13 +5014,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'CannotLookup' | 'NoUnsignedValidator' | 'Custom'; } - /** @name UpPovEstimateRpcTrieKeyValue (516) */ + /** @name UpPovEstimateRpcTrieKeyValue (605) */ interface UpPovEstimateRpcTrieKeyValue extends Struct { readonly key: Bytes; readonly value: Bytes; } - /** @name PalletCommonError (518) */ + /** @name PalletCommonError (607) */ interface PalletCommonError extends Enum { readonly isCollectionNotFound: boolean; readonly isMustBeTokenOwner: boolean; @@ -4087,7 +5062,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'CollectionNotFound' | 'MustBeTokenOwner' | 'NoPermission' | 'CantDestroyNotEmptyCollection' | 'PublicMintingNotAllowed' | 'AddressNotInAllowlist' | 'CollectionNameLimitExceeded' | 'CollectionDescriptionLimitExceeded' | 'CollectionTokenPrefixLimitExceeded' | 'TotalCollectionsLimitExceeded' | 'CollectionAdminCountExceeded' | 'CollectionLimitBoundsExceeded' | 'OwnerPermissionsCantBeReverted' | 'TransferNotAllowed' | 'AccountTokenLimitExceeded' | 'CollectionTokenLimitExceeded' | 'MetadataFlagFrozen' | 'TokenNotFound' | 'TokenValueTooLow' | 'ApprovedValueTooLow' | 'CantApproveMoreThanOwned' | 'AddressIsNotEthMirror' | 'AddressIsZero' | 'UnsupportedOperation' | 'NotSufficientFounds' | 'UserIsNotAllowedToNest' | 'SourceCollectionIsNotAllowedToNest' | 'CollectionFieldSizeExceeded' | 'NoSpaceForProperty' | 'PropertyLimitReached' | 'PropertyKeyIsTooLong' | 'InvalidCharacterInPropertyKey' | 'EmptyPropertyKey' | 'CollectionIsExternal' | 'CollectionIsInternal' | 'ConfirmSponsorshipFail' | 'UserIsNotCollectionAdmin'; } - /** @name PalletFungibleError (520) */ + /** @name PalletFungibleError (609) */ interface PalletFungibleError extends Enum { readonly isNotFungibleDataUsedToMintFungibleCollectionToken: boolean; readonly isFungibleItemsHaveNoId: boolean; @@ -4099,7 +5074,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotFungibleDataUsedToMintFungibleCollectionToken' | 'FungibleItemsHaveNoId' | 'FungibleItemsDontHaveData' | 'FungibleDisallowsNesting' | 'SettingPropertiesNotAllowed' | 'SettingAllowanceForAllNotAllowed' | 'FungibleTokensAreAlwaysValid'; } - /** @name PalletRefungibleError (525) */ + /** @name PalletRefungibleError (614) */ interface PalletRefungibleError extends Enum { readonly isNotRefungibleDataUsedToMintFungibleCollectionToken: boolean; readonly isWrongRefungiblePieces: boolean; @@ -4109,19 +5084,19 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotRefungibleDataUsedToMintFungibleCollectionToken' | 'WrongRefungiblePieces' | 'RepartitionWhileNotOwningAllPieces' | 'RefungibleDisallowsNesting' | 'SettingPropertiesNotAllowed'; } - /** @name PalletNonfungibleItemData (526) */ + /** @name PalletNonfungibleItemData (615) */ interface PalletNonfungibleItemData extends Struct { readonly owner: PalletEvmAccountBasicCrossAccountIdRepr; } - /** @name UpDataStructsPropertyScope (528) */ + /** @name UpDataStructsPropertyScope (617) */ interface UpDataStructsPropertyScope extends Enum { readonly isNone: boolean; readonly isRmrk: boolean; readonly type: 'None' | 'Rmrk'; } - /** @name PalletNonfungibleError (531) */ + /** @name PalletNonfungibleError (620) */ interface PalletNonfungibleError extends Enum { readonly isNotNonfungibleDataUsedToMintFungibleCollectionToken: boolean; readonly isNonfungibleItemsHaveNoAmount: boolean; @@ -4129,7 +5104,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NotNonfungibleDataUsedToMintFungibleCollectionToken' | 'NonfungibleItemsHaveNoAmount' | 'CantBurnNftWithChildren'; } - /** @name PalletStructureError (532) */ + /** @name PalletStructureError (621) */ interface PalletStructureError extends Enum { readonly isOuroborosDetected: boolean; readonly isDepthLimit: boolean; @@ -4139,7 +5114,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'OuroborosDetected' | 'DepthLimit' | 'BreadthLimit' | 'TokenNotFound' | 'CantNestTokenUnderCollection'; } - /** @name PalletAppPromotionError (537) */ + /** @name PalletAppPromotionError (626) */ interface PalletAppPromotionError extends Enum { readonly isAdminNotSet: boolean; readonly isNoPermission: boolean; @@ -4151,7 +5126,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'AdminNotSet' | 'NoPermission' | 'NotSufficientFunds' | 'PendingForBlockOverflow' | 'SponsorNotSet' | 'InsufficientStakedBalance' | 'InconsistencyState'; } - /** @name PalletForeignAssetsModuleError (538) */ + /** @name PalletForeignAssetsModuleError (627) */ interface PalletForeignAssetsModuleError extends Enum { readonly isBadLocation: boolean; readonly isMultiLocationExisted: boolean; @@ -4160,13 +5135,13 @@ declare module '@polkadot/types/lookup' { readonly type: 'BadLocation' | 'MultiLocationExisted' | 'AssetIdNotExists' | 'AssetIdExisted'; } - /** @name PalletEvmCodeMetadata (539) */ + /** @name PalletEvmCodeMetadata (628) */ interface PalletEvmCodeMetadata extends Struct { readonly size_: u64; readonly hash_: H256; } - /** @name PalletEvmError (541) */ + /** @name PalletEvmError (630) */ interface PalletEvmError extends Enum { readonly isBalanceLow: boolean; readonly isFeeOverflow: boolean; @@ -4182,7 +5157,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'BalanceLow' | 'FeeOverflow' | 'PaymentOverflow' | 'WithdrawFailed' | 'GasPriceTooLow' | 'InvalidNonce' | 'GasLimitTooLow' | 'GasLimitTooHigh' | 'Undefined' | 'Reentrancy' | 'TransactionMustComeFromEOA'; } - /** @name FpRpcTransactionStatus (544) */ + /** @name FpRpcTransactionStatus (633) */ interface FpRpcTransactionStatus extends Struct { readonly transactionHash: H256; readonly transactionIndex: u32; @@ -4193,10 +5168,10 @@ declare module '@polkadot/types/lookup' { readonly logsBloom: EthbloomBloom; } - /** @name EthbloomBloom (546) */ + /** @name EthbloomBloom (635) */ interface EthbloomBloom extends U8aFixed {} - /** @name EthereumReceiptReceiptV3 (548) */ + /** @name EthereumReceiptReceiptV3 (637) */ interface EthereumReceiptReceiptV3 extends Enum { readonly isLegacy: boolean; readonly asLegacy: EthereumReceiptEip658ReceiptData; @@ -4207,7 +5182,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Legacy' | 'Eip2930' | 'Eip1559'; } - /** @name EthereumReceiptEip658ReceiptData (549) */ + /** @name EthereumReceiptEip658ReceiptData (638) */ interface EthereumReceiptEip658ReceiptData extends Struct { readonly statusCode: u8; readonly usedGas: U256; @@ -4215,14 +5190,14 @@ declare module '@polkadot/types/lookup' { readonly logs: Vec; } - /** @name EthereumBlock (550) */ + /** @name EthereumBlock (639) */ interface EthereumBlock extends Struct { readonly header: EthereumHeader; readonly transactions: Vec; readonly ommers: Vec; } - /** @name EthereumHeader (551) */ + /** @name EthereumHeader (640) */ interface EthereumHeader extends Struct { readonly parentHash: H256; readonly ommersHash: H256; @@ -4241,24 +5216,24 @@ declare module '@polkadot/types/lookup' { readonly nonce: EthereumTypesHashH64; } - /** @name EthereumTypesHashH64 (552) */ + /** @name EthereumTypesHashH64 (641) */ interface EthereumTypesHashH64 extends U8aFixed {} - /** @name PalletEthereumError (557) */ + /** @name PalletEthereumError (646) */ interface PalletEthereumError extends Enum { readonly isInvalidSignature: boolean; readonly isPreLogExists: boolean; readonly type: 'InvalidSignature' | 'PreLogExists'; } - /** @name PalletEvmCoderSubstrateError (558) */ + /** @name PalletEvmCoderSubstrateError (647) */ interface PalletEvmCoderSubstrateError extends Enum { readonly isOutOfGas: boolean; readonly isOutOfFund: boolean; readonly type: 'OutOfGas' | 'OutOfFund'; } - /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (559) */ + /** @name UpDataStructsSponsorshipStateBasicCrossAccountIdRepr (648) */ interface UpDataStructsSponsorshipStateBasicCrossAccountIdRepr extends Enum { readonly isDisabled: boolean; readonly isUnconfirmed: boolean; @@ -4268,7 +5243,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Disabled' | 'Unconfirmed' | 'Confirmed'; } - /** @name PalletEvmContractHelpersSponsoringModeT (560) */ + /** @name PalletEvmContractHelpersSponsoringModeT (649) */ interface PalletEvmContractHelpersSponsoringModeT extends Enum { readonly isDisabled: boolean; readonly isAllowlisted: boolean; @@ -4276,7 +5251,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'Disabled' | 'Allowlisted' | 'Generous'; } - /** @name PalletEvmContractHelpersError (566) */ + /** @name PalletEvmContractHelpersError (655) */ interface PalletEvmContractHelpersError extends Enum { readonly isNoPermission: boolean; readonly isNoPendingSponsor: boolean; @@ -4284,7 +5259,7 @@ declare module '@polkadot/types/lookup' { readonly type: 'NoPermission' | 'NoPendingSponsor' | 'TooManyMethodsHaveSponsoredLimit'; } - /** @name PalletEvmMigrationError (567) */ + /** @name PalletEvmMigrationError (656) */ interface PalletEvmMigrationError extends Enum { readonly isAccountNotEmpty: boolean; readonly isAccountIsNotMigrating: boolean; @@ -4292,17 +5267,17 @@ declare module '@polkadot/types/lookup' { readonly type: 'AccountNotEmpty' | 'AccountIsNotMigrating' | 'BadEvent'; } - /** @name PalletMaintenanceError (568) */ + /** @name PalletMaintenanceError (657) */ type PalletMaintenanceError = Null; - /** @name PalletTestUtilsError (569) */ + /** @name PalletTestUtilsError (658) */ interface PalletTestUtilsError extends Enum { readonly isTestPalletDisabled: boolean; readonly isTriggerRollback: boolean; readonly type: 'TestPalletDisabled' | 'TriggerRollback'; } - /** @name SpRuntimeMultiSignature (571) */ + /** @name SpRuntimeMultiSignature (660) */ interface SpRuntimeMultiSignature extends Enum { readonly isEd25519: boolean; readonly asEd25519: SpCoreEd25519Signature; @@ -4313,43 +5288,43 @@ declare module '@polkadot/types/lookup' { readonly type: 'Ed25519' | 'Sr25519' | 'Ecdsa'; } - /** @name SpCoreEd25519Signature (572) */ + /** @name SpCoreEd25519Signature (661) */ interface SpCoreEd25519Signature extends U8aFixed {} - /** @name SpCoreSr25519Signature (574) */ + /** @name SpCoreSr25519Signature (663) */ interface SpCoreSr25519Signature extends U8aFixed {} - /** @name SpCoreEcdsaSignature (575) */ + /** @name SpCoreEcdsaSignature (664) */ interface SpCoreEcdsaSignature extends U8aFixed {} - /** @name FrameSystemExtensionsCheckSpecVersion (578) */ + /** @name FrameSystemExtensionsCheckSpecVersion (667) */ type FrameSystemExtensionsCheckSpecVersion = Null; - /** @name FrameSystemExtensionsCheckTxVersion (579) */ + /** @name FrameSystemExtensionsCheckTxVersion (668) */ type FrameSystemExtensionsCheckTxVersion = Null; - /** @name FrameSystemExtensionsCheckGenesis (580) */ + /** @name FrameSystemExtensionsCheckGenesis (669) */ type FrameSystemExtensionsCheckGenesis = Null; - /** @name FrameSystemExtensionsCheckNonce (583) */ + /** @name FrameSystemExtensionsCheckNonce (672) */ interface FrameSystemExtensionsCheckNonce extends Compact {} - /** @name FrameSystemExtensionsCheckWeight (584) */ + /** @name FrameSystemExtensionsCheckWeight (673) */ type FrameSystemExtensionsCheckWeight = Null; - /** @name OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance (585) */ - type OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance = Null; + /** @name QuartzRuntimeRuntimeCommonMaintenanceCheckMaintenance (674) */ + type QuartzRuntimeRuntimeCommonMaintenanceCheckMaintenance = Null; - /** @name OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls (586) */ - type OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls = Null; + /** @name QuartzRuntimeRuntimeCommonIdentityDisableIdentityCalls (675) */ + type QuartzRuntimeRuntimeCommonIdentityDisableIdentityCalls = Null; - /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (587) */ + /** @name PalletTemplateTransactionPaymentChargeTransactionPayment (676) */ interface PalletTemplateTransactionPaymentChargeTransactionPayment extends Compact {} - /** @name OpalRuntimeRuntime (588) */ - type OpalRuntimeRuntime = Null; + /** @name QuartzRuntimeRuntime (677) */ + type QuartzRuntimeRuntime = Null; - /** @name PalletEthereumFakeTransactionFinalizer (589) */ + /** @name PalletEthereumFakeTransactionFinalizer (678) */ type PalletEthereumFakeTransactionFinalizer = Null; } // declare module diff --git a/tests/src/maintenance.seqtest.ts b/tests/src/maintenance.seqtest.ts index 4f0652a36f..1212946a0c 100644 --- a/tests/src/maintenance.seqtest.ts +++ b/tests/src/maintenance.seqtest.ts @@ -173,7 +173,7 @@ describe('Integration Test: Maintenance Functionality', () => { await expect(helper.balance.transferToSubstrate(bob, superuser.address, 1n)).to.be.fulfilled; }); - itSched.ifWithPallets('MM blocks scheduled calls and the scheduler itself', [Pallets.Scheduler], async (scheduleKind, {helper}) => { + itSched.ifWithPallets('MM blocks scheduled calls and the scheduler itself', [Pallets.UniqueScheduler], async (scheduleKind, {helper}) => { const collection = await helper.nft.mintCollection(bob); const nftBeforeMM = await collection.mintToken(bob); @@ -284,13 +284,6 @@ describe('Integration Test: Maintenance Functionality', () => { describe('Preimage Execution', () => { const preimageHashes: string[] = []; - async function notePreimage(helper: UniqueHelper, preimage: any): Promise { - const result = await helper.preimage.notePreimage(bob, preimage); - const events = result.result.events.filter(x => x.event.method === 'Noted' && x.event.section === 'preimage'); - const preimageHash = events[0].event.data[0].toHuman(); - return preimageHash; - } - before(async function() { await usingPlaygrounds(async (helper) => { requirePalletsOrSkip(this, helper, [Pallets.Preimage, Pallets.Maintenance]); @@ -309,7 +302,7 @@ describe('Integration Test: Maintenance Functionality', () => { }, ]); const preimage = helper.constructApiCall('api.tx.identity.forceInsertIdentities', [randomIdentities]).method.toHex(); - preimageHashes.push(await notePreimage(helper, preimage)); + preimageHashes.push(await helper.preimage.notePreimage(bob, preimage, true)); }); }); @@ -332,7 +325,7 @@ describe('Integration Test: Maintenance Functionality', () => { const preimage = helper.constructApiCall('api.tx.balances.forceTransfer', [ {Id: zeroAccount.address}, {Id: superuser.address}, 1000n, ]).method.toHex(); - const preimageHash = await notePreimage(helper, preimage); + const preimageHash = await helper.preimage.notePreimage(bob, preimage, true); preimageHashes.push(preimageHash); await expect(helper.getSudo().executeExtrinsic(superuser, 'api.tx.maintenance.executePreimage', [ diff --git a/tests/src/pallet-presence.test.ts b/tests/src/pallet-presence.test.ts index 6b42dbdcf5..6f41df7c2a 100644 --- a/tests/src/pallet-presence.test.ts +++ b/tests/src/pallet-presence.test.ts @@ -68,6 +68,17 @@ describe('Pallet presence', () => { const appPromotion = 'apppromotion'; const collatorSelection = ['authorship', 'session', 'collatorselection', 'identity']; const preimage = ['preimage']; + const governance = [ + 'council', + 'councilmembership', + 'democracy', + 'fellowshipcollective', + 'fellowshipreferenda', + 'origins', + 'scheduler', + 'technicalcommittee', + 'technicalcommitteemembership', + ]; const testUtils = 'testutils'; if(chain.eq('OPAL by UNIQUE')) { @@ -78,6 +89,7 @@ describe('Pallet presence', () => { testUtils, ...collatorSelection, ...preimage, + ...governance, ); } else if(chain.eq('QUARTZ by UNIQUE') || chain.eq('SAPPHIRE by UNIQUE')) { requiredPallets.push( @@ -86,6 +98,7 @@ describe('Pallet presence', () => { foreignAssets, ...collatorSelection, ...preimage, + ...governance, ); } else if(chain.eq('UNIQUE')) { // Insert Unique additional pallets here diff --git a/tests/src/scheduler.seqtest.ts b/tests/src/scheduler.seqtest.ts index e41cd85202..376b0c5c97 100644 --- a/tests/src/scheduler.seqtest.ts +++ b/tests/src/scheduler.seqtest.ts @@ -26,7 +26,7 @@ describe('Scheduling token and balance transfers', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.Scheduler]); + requirePalletsOrSkip(this, helper, [Pallets.UniqueScheduler]); superuser = await privateKey('//Alice'); const donor = await privateKey({url: import.meta.url}); @@ -411,7 +411,7 @@ describe('Scheduling token and balance transfers', () => { const priority = 112; await helper.getSudo().scheduler.changePriority(superuser, scheduledId, priority); - const priorityChanged = await helper.wait.expectEvent(waitForBlocks, Event.Scheduler.PriorityChanged); + const priorityChanged = await helper.wait.expectEvent(waitForBlocks, Event.UniqueScheduler.PriorityChanged); const [blockNumber, index] = priorityChanged.task(); expect(blockNumber).to.be.equal(executionBlock); @@ -567,7 +567,7 @@ describe('Negative Test: Scheduling', () => { before(async function() { await usingPlaygrounds(async (helper, privateKey) => { - requirePalletsOrSkip(this, helper, [Pallets.Scheduler]); + requirePalletsOrSkip(this, helper, [Pallets.UniqueScheduler]); const donor = await privateKey({url: import.meta.url}); [alice, bob] = await helper.arrange.createAccounts([100n, 100n], donor); @@ -662,7 +662,7 @@ describe('Negative Test: Scheduling', () => { await expect(helper.scheduler.changePriority(alice, scheduledId, priority)) .to.be.rejectedWith(/BadOrigin/); - await helper.wait.expectEvent(waitForBlocks, Event.Scheduler.PriorityChanged); + await helper.wait.expectEvent(waitForBlocks, Event.UniqueScheduler.PriorityChanged); }); }); diff --git a/tests/src/util/index.ts b/tests/src/util/index.ts index a260d103ed..147ddd3f0e 100644 --- a/tests/src/util/index.ts +++ b/tests/src/util/index.ts @@ -23,12 +23,16 @@ const getTestHash = (filename: string) => crypto.createHash('md5').update(filena export const getTestSeed = (filename: string) => `//Alice+${getTestHash(filename)}`; -async function usingPlaygroundsGeneral(helperType: new(logger: ILogger) => T, url: string, code: (helper: T, privateKey: (seed: string | {filename?: string, url?: string, ignoreFundsPresence?: boolean}) => Promise) => Promise) { +async function usingPlaygroundsGeneral( + helperType: new (logger: ILogger) => T, + url: string, + code: (helper: T, privateKey: (seed: string | { filename?: string, url?: string, ignoreFundsPresence?: boolean }) => Promise) => Promise, +): Promise { const silentConsole = new SilentConsole(); silentConsole.enable(); const helper = new helperType(new SilentLogger()); - + let result; try { await helper.connect(url); const ss58Format = helper.chain.getChainProperties().ss58Format; @@ -53,15 +57,16 @@ async function usingPlaygroundsGeneral(helperType: ne } return account; }; - await code(helper, privateKey); + result = await code(helper, privateKey); } finally { await helper.disconnect(); silentConsole.disable(); } + return result as any as R; } -export const usingPlaygrounds = (code: (helper: DevUniqueHelper, privateKey: (seed: string | {filename?: string, url?: string, ignoreFundsPresence?: boolean}) => Promise) => Promise, url: string = config.substrateUrl) => usingPlaygroundsGeneral(DevUniqueHelper, url, code); +export const usingPlaygrounds = (code: (helper: DevUniqueHelper, privateKey: (seed: string | {filename?: string, url?: string, ignoreFundsPresence?: boolean}) => Promise) => Promise, url: string = config.substrateUrl) => usingPlaygroundsGeneral(DevUniqueHelper, url, code); export const usingWestmintPlaygrounds = (url: string, code: (helper: DevWestmintHelper, privateKey: (seed: string) => Promise) => Promise) => usingPlaygroundsGeneral(DevWestmintHelper, url, code); @@ -83,8 +88,8 @@ export const usingAstarPlaygrounds = (url: string, code: (helper: DevAstarHelper export const usingShidenPlaygrounds = (url: string, code: (helper: DevShidenHelper, privateKey: (seed: string) => Promise) => Promise) => usingPlaygroundsGeneral(DevShidenHelper, url, code); -export const MINIMUM_DONOR_FUND = 100_000n; -export const DONOR_FUNDING = 2_000_000n; +export const MINIMUM_DONOR_FUND = 4_000_000n; +export const DONOR_FUNDING = 4_000_000n; // App-promotion periods: export const LOCKING_PERIOD = 12n; // 12 blocks of relay @@ -100,10 +105,16 @@ export enum Pallets { Fungible = 'fungible', NFT = 'nonfungible', Scheduler = 'scheduler', + UniqueScheduler = 'uniqueScheduler', AppPromotion = 'apppromotion', CollatorSelection = 'collatorselection', Session = 'session', Identity = 'identity', + Democracy = 'democracy', + Council = 'council', + //CouncilMembership = 'councilmembership', + TechnicalCommittee = 'technicalcommittee', + Fellowship = 'fellowshipcollective', Preimage = 'preimage', Maintenance = 'maintenance', TestUtils = 'testutils', @@ -167,6 +178,14 @@ export function describeXCM(title: string, fn: (this: Mocha.Suite) => void, opts describeXCM.skip = (name: string, fn: (this: Mocha.Suite) => void) => describeXCM(name, fn, {skip: true}); +export function describeGov(title: string, fn: (this: Mocha.Suite) => void, opts: {skip?: boolean} = {}) { + (process.env.RUN_GOV_TESTS && !opts.skip + ? describe + : describe.skip)(title, fn); +} + +describeGov.skip = (name: string, fn: (this: Mocha.Suite) => void) => describeGov(name, fn, {skip: true}); + export function sizeOfInt(i: number) { if(i < 0 || i > 0xffffffff) throw new Error('out of range'); if(i < 0b11_1111) { diff --git a/tests/src/util/playgrounds/types.ts b/tests/src/util/playgrounds/types.ts index aab18d5b01..004fa96acc 100644 --- a/tests/src/util/playgrounds/types.ts +++ b/tests/src/util/playgrounds/types.ts @@ -5,6 +5,11 @@ import {IKeyringPair} from '@polkadot/types/types'; export const NON_EXISTENT_COLLECTION_ID = 4_294_967_295; +export const MILLISECS_PER_BLOCK = 12000; +export const MINUTES = 60_000 / MILLISECS_PER_BLOCK; +export const HOURS = MINUTES * 60; +export const DAYS = HOURS * 24; + export interface IEvent { section: string; method: string; @@ -13,14 +18,16 @@ export interface IEvent { phase: {applyExtrinsic: number} | 'Initialization', } +export interface IPhasicEvent { + phase: any, // {ApplyExtrinsic: number} | 'Initialization', + event: IEvent; +} + export interface ITransactionResult { status: 'Fail' | 'Success'; result: { dispatchError: any, - events: { - phase: any, // {ApplyExtrinsic: number} | 'Initialization', - event: IEvent; - }[]; + events: IPhasicEvent[]; }, blockHash: string, moduleError?: string | object; @@ -246,6 +253,11 @@ export interface DemocracyStandardAccountVote { }, } +export interface DemocracySplitAccount { + aye: bigint, + nay: bigint, +} + export type TSubstrateAccount = string; export type TEthereumAccount = string; export type TApiAllowedListeners = 'connected' | 'disconnected' | 'error' | 'ready' | 'decorated'; diff --git a/tests/src/util/playgrounds/unique.dev.ts b/tests/src/util/playgrounds/unique.dev.ts index 3cb380eef7..0e4546c07e 100644 --- a/tests/src/util/playgrounds/unique.dev.ts +++ b/tests/src/util/playgrounds/unique.dev.ts @@ -8,8 +8,8 @@ import {ApiPromise, Keyring, WsProvider} from '@polkadot/api'; import * as defs from '../../interfaces/definitions'; import {IKeyringPair} from '@polkadot/types/types'; import {EventRecord} from '@polkadot/types/interfaces'; -import {ICrossAccountId, IPovInfo, TSigner} from './types'; -import {FrameSystemEventRecord, XcmV2TraitsError} from '@polkadot/types/lookup'; +import {ICrossAccountId, IPovInfo, ITransactionResult, TSigner} from './types'; +import {FrameSystemEventRecord, XcmV2TraitsError, PalletSchedulerEvent} from '@polkadot/types/lookup'; import {VoidFn} from '@polkadot/api/types'; import {Pallets} from '..'; import {spawnSync} from 'child_process'; @@ -64,20 +64,18 @@ export interface IEventHelper { method(): string; - bindEventRecord(e: FrameSystemEventRecord): void; - - raw(): FrameSystemEventRecord; + wrapEvent(data: any[]): any; } // eslint-disable-next-line @typescript-eslint/naming-convention -function EventHelper(section: string, method: string) { - return class implements IEventHelper { - eventRecord: FrameSystemEventRecord | null; +function EventHelper(section: string, method: string, wrapEvent: (data: any[]) => any) { + const helperClass = class implements IEventHelper { + wrapEvent: (data: any[]) => any; _section: string; _method: string; constructor() { - this.eventRecord = null; + this.wrapEvent = wrapEvent; this._section = section; this._method = method; } @@ -90,22 +88,39 @@ function EventHelper(section: string, method: string) { return this._method; } - bindEventRecord(e: FrameSystemEventRecord) { - this.eventRecord = e; - } - - raw() { - return this.eventRecord!; + filter(txres: ITransactionResult) { + return txres.result.events.filter(e => e.event.section === section && e.event.method === method) + .map(e => this.wrapEvent(e.event.data)); } - eventJsonData(index: number) { - return this.raw().event.data[index].toJSON() as T; + find(txres: ITransactionResult) { + const e = txres.result.events.find(e => e.event.section === section && e.event.method === method); + return e ? this.wrapEvent(e.event.data) : null; } - eventData(index: number) { - return this.raw().event.data[index] as T; + expect(txres: ITransactionResult) { + const e = this.find(txres); + if(e) { + return e; + } else { + throw Error(`Expected event ${section}.${method}`); + } } }; + + return helperClass; +} + +function eventJsonData(data: any[], index: number) { + return data[index].toJSON() as T; +} + +function eventHumanData(data: any[], index: number) { + return data[index].toHuman(); +} + +function eventData(data: any[], index: number) { + return data[index] as T; } // eslint-disable-next-line @typescript-eslint/naming-convention @@ -113,73 +128,100 @@ function EventSection(section: string) { return class Section { static section = section; - static Method(name: string) { - return EventHelper(Section.section, name); + static Method(name: string, wrapEvent: (data: any[]) => any = () => {}) { + const helperClass = EventHelper(Section.section, name, wrapEvent); + return new helperClass(); } }; } +function schedulerSection(schedulerInstance: string) { + return class extends EventSection(schedulerInstance) { + static Dispatched = this.Method('Dispatched', data => ({ + task: eventJsonData(data, 0), + id: eventHumanData(data, 1), + result: data[2], + })); + + static PriorityChanged = this.Method('PriorityChanged', data => ({ + task: eventJsonData(data, 0), + priority: eventJsonData(data, 1), + })); + }; +} + export class Event { static Democracy = class extends EventSection('democracy') { - static Started = class extends this.Method('Started') { - referendumIndex() { - return this.eventJsonData(0); - } + static Proposed = this.Method('Proposed', data => ({ + proposalIndex: eventJsonData(data, 0), + })); - threshold() { - return this.eventJsonData(1); - } - }; + static ExternalTabled = this.Method('ExternalTabled'); - static Voted = class extends this.Method('Voted') { - voter() { - return this.eventJsonData(0); - } + static Started = this.Method('Started', data => ({ + referendumIndex: eventJsonData(data, 0), + threshold: eventHumanData(data, 1), + })); - referendumIndex() { - return this.eventJsonData(1); - } + static Voted = this.Method('Voted', data => ({ + voter: eventJsonData(data, 0), + referendumIndex: eventJsonData(data, 1), + vote: eventJsonData(data, 2), + })); - vote() { - return this.eventJsonData(2); - } - }; + static Passed = this.Method('Passed', data => ({ + referendumIndex: eventJsonData(data, 0), + })); + }; - static Passed = class extends this.Method('Passed') { - referendumIndex() { - return this.eventJsonData(0); - } - }; + static Council = class extends EventSection('council') { + static Proposed = this.Method('Proposed', data => ({ + account: eventHumanData(data, 0), + proposalIndex: eventJsonData(data, 1), + proposalHash: eventHumanData(data, 2), + threshold: eventJsonData(data, 3), + })); + static Closed = this.Method('Closed', data => ({ + proposalHash: eventHumanData(data, 0), + yes: eventJsonData(data, 1), + no: eventJsonData(data, 2), + })); }; - static Scheduler = class extends EventSection('scheduler') { - static PriorityChanged = class extends this.Method('PriorityChanged') { - task() { - return this.eventJsonData(0); - } + static TechnicalCommittee = class extends EventSection('technicalCommittee') { + static Proposed = this.Method('Proposed', data => ({ + account: eventHumanData(data, 0), + proposalIndex: eventJsonData(data, 1), + proposalHash: eventHumanData(data, 2), + threshold: eventJsonData(data, 3), + })); + static Closed = this.Method('Closed', data => ({ + proposalHash: eventHumanData(data, 0), + yes: eventJsonData(data, 1), + no: eventJsonData(data, 2), + })); + }; - priority() { - return this.eventJsonData(1); - } - }; + static FellowshipReferenda = class extends EventSection('fellowshipReferenda') { + static Submitted = this.Method('Submitted', data => ({ + referendumIndex: eventJsonData(data, 0), + trackId: eventJsonData(data, 1), + proposal: eventJsonData(data, 2), + })); }; - static XcmpQueue = class extends EventSection('xcmpQueue') { - static XcmpMessageSent = class extends this.Method('XcmpMessageSent') { - messageHash() { - return this.eventJsonData(0); - } - }; + static UniqueScheduler = schedulerSection('uniqueScheduler'); + static Scheduler = schedulerSection('scheduler'); - static Fail = class extends this.Method('Fail') { - messageHash() { - return this.eventJsonData(0); - } + static XcmpQueue = class extends EventSection('xcmpQueue') { + static XcmpMessageSent = this.Method('XcmpMessageSent', data => ({ + messageHash: eventJsonData(data, 0), + })); - outcome() { - return this.eventData(1); - } - }; + static Fail = this.Method('Fail', data => ({ + messageHash: eventJsonData(data, 0), + outcome: eventData(data, 1), + })); }; } @@ -445,6 +487,16 @@ export class ArrangeGroup { return crowd; }; + /** + * Generates one account with zero balance + * @returns the newly generated account + * @example const account = await helper.arrange.createEmptyAccount(); + */ + createEmptyAccount = (): IKeyringPair => { + const ss58Format = this.helper.chain.getChainProperties().ss58Format; + return this.helper.util.fromSeed(mnemonicGenerate(), ss58Format); + }; + isDevNode = async () => { let blockNumber = (await this.helper.callRpc('api.query.system.number')).toJSON(); if(blockNumber == 0) { @@ -759,7 +811,7 @@ class MoonbeamFastDemocracyGroup { // <<< Fast track proposal through technical committee <<< const democracyStarted = await this.helper.wait.expectEvent(3, Event.Democracy.Started); - const referendumIndex = democracyStarted.referendumIndex(); + const referendumIndex = democracyStarted.referendumIndex; // >>> Referendum voting >>> console.log(`\t* Referendum #${referendumIndex} voting.......`); @@ -771,7 +823,7 @@ class MoonbeamFastDemocracyGroup { // <<< Referendum voting <<< // Wait the proposal to pass - await this.helper.wait.expectEvent(3, Event.Democracy.Passed, event => event.referendumIndex() == referendumIndex); + await this.helper.wait.expectEvent(3, Event.Democracy.Passed, event => event.referendumIndex == referendumIndex); await this.helper.wait.newBlocks(1); @@ -919,15 +971,28 @@ class WaitGroup { return promise; } + parachainBlockMultiplesOf(val: bigint) { + // eslint-disable-next-line no-async-promise-executor + const promise = new Promise(async resolve => { + const unsubscribe = await this.helper.getApi().rpc.chain.subscribeNewHeads((data: any) => { + if(data.number.toBigInt() % val == 0n) { + console.log(`from waiter: ${data.number.toBigInt()}`); + unsubscribe(); + resolve(); + } + }); + }); + return promise; + } + event( maxBlocksToWait: number, - eventHelperType: new () => T, - filter: (_: T) => boolean = () => true, - ) { + eventHelper: T, + filter: (_: any) => boolean = () => true, + ): any { // eslint-disable-next-line no-async-promise-executor const promise = new Promise(async (resolve) => { const unsubscribe = await this.helper.getApi().rpc.chain.subscribeNewHeads(async header => { - const eventHelper = new eventHelperType(); const blockNumber = header.number.toHuman(); const blockHash = header.hash; const eventIdStr = `${eventHelper.section()}.${eventHelper.method()}`; @@ -938,21 +1003,14 @@ class WaitGroup { const apiAt = await this.helper.getApi().at(blockHash); const eventRecords = (await apiAt.query.system.events()) as any; - const neededEvent = eventRecords.toArray().find((r: FrameSystemEventRecord) => { - if( - r.event.section == eventHelper.section() - && r.event.method == eventHelper.method() - ) { - eventHelper.bindEventRecord(r); - return filter(eventHelper); - } else { - return false; - } - }); + const neededEvent = eventRecords.toArray() + .filter((r: FrameSystemEventRecord) => r.event.section == eventHelper.section() && r.event.method == eventHelper.method()) + .map((r: FrameSystemEventRecord) => eventHelper.wrapEvent(r.event.data)) + .find(filter); if(neededEvent) { unsubscribe(); - resolve(eventHelper); + resolve(neededEvent); } else if(maxBlocksToWait > 0) { maxBlocksToWait--; } else { @@ -967,12 +1025,11 @@ class WaitGroup { async expectEvent( maxBlocksToWait: number, - eventHelperType: new () => T, - filter: (e: T) => boolean = () => true, + eventHelper: T, + filter: (e: any) => boolean = () => true, ) { - const e = await this.event(maxBlocksToWait, eventHelperType, filter); + const e = await this.event(maxBlocksToWait, eventHelper, filter); if(e == null) { - const eventHelper = new eventHelperType(); throw Error(`The event '${eventHelper.section()}.${eventHelper.method()}' is expected`); } else { return e; diff --git a/tests/src/util/playgrounds/unique.ts b/tests/src/util/playgrounds/unique.ts index 82292c2428..f4aa9c4fcc 100644 --- a/tests/src/util/playgrounds/unique.ts +++ b/tests/src/util/playgrounds/unique.ts @@ -10,7 +10,7 @@ import {SignerOptions} from '@polkadot/api/types/submittable'; import '../../interfaces/augment-api'; import {AugmentedSubmittables} from '@polkadot/api-base/types/submittable'; import {ApiInterfaceEvents} from '@polkadot/api/types'; -import {encodeAddress, decodeAddress, keccakAsHex, evmToAddress, addressToEvm, base58Encode, blake2AsU8a} from '@polkadot/util-crypto'; +import {encodeAddress, decodeAddress, keccakAsHex, evmToAddress, addressToEvm, base58Encode, blake2AsU8a, blake2AsHex} from '@polkadot/util-crypto'; import {IKeyringPair} from '@polkadot/types/types'; import {hexToU8a} from '@polkadot/util/hex'; import {u8aConcat} from '@polkadot/util/u8a'; @@ -45,11 +45,14 @@ import { DemocracyStandardAccountVote, IEthCrossAccountId, CollectionFlag, + IPhasicEvent, + DemocracySplitAccount, } from './types'; import {RuntimeDispatchInfo} from '@polkadot/types/interfaces'; import type {Vec} from '@polkadot/types-codec'; -import {FrameSystemEventRecord, PalletBalancesIdAmount} from '@polkadot/types/lookup'; +import {FrameSupportPreimagesBounded, FrameSupportScheduleDispatchTime, FrameSystemEventRecord, PalletBalancesIdAmount, PalletDemocracyConviction, PalletDemocracyVoteAccountVote} from '@polkadot/types/lookup'; import {arrayUnzip} from '@polkadot/util'; +import {Event} from './unique.dev'; export class CrossAccountId { Substrate!: TSubstrateAccount; @@ -2960,11 +2963,543 @@ class CollatorSelectionGroup extends HelperGroup { } } +class CollectiveGroup extends HelperGroup { + /** + * Pallet name to make an API call to. Examples: 'council', 'technicalCommittee' + */ + private collective: string; + + constructor(helper: UniqueHelper, collective: string) { + super(helper); + this.collective = collective; + } + + /** + * Check the result of a proposal execution for the success of the underlying proposed extrinsic. + * @param events events of the proposal execution + * @returns proposal hash + */ + private checkExecutedEvent(events: IPhasicEvent[]): string { + const executionEvents = events.filter(x => + x.event.section === this.collective && (x.event.method === 'Executed' || x.event.method === 'MemberExecuted')); + + if(executionEvents.length != 1) { + if(events.filter(x => x.event.section === this.collective && x.event.method === 'Disapproved').length > 0) + throw new Error(`Disapproved by ${this.collective}`); + else + throw new Error(`Expected one 'Executed' or 'MemberExecuted' event for ${this.collective}`); + } + + const result = (executionEvents[0].event.data as any).result; + + if(result.isErr) { + if(result.asErr.isModule) { + const error = result.asErr.asModule; + const metaError = this.helper.getApi()?.registry.findMetaError(error); + throw new Error(`Proposal execution failed with ${metaError.section}.${metaError.name}`); + } else { + throw new Error('Proposal execution failed with ' + result.asErr.toHuman()); + } + } + + return (executionEvents[0].event.data as any).proposalHash; + } + + /** + * Returns an array of members' addresses. + */ + async getMembers() { + return (await this.helper.callRpc(`api.query.${this.collective}.members`, [])).toHuman(); + } + + /** + * Returns the optional address of the prime member of the collective. + */ + async getPrimeMember() { + return (await this.helper.callRpc(`api.query.${this.collective}.prime`, [])).toHuman(); + } + + /** + * Returns an array of proposal hashes that are currently active for this collective. + */ + async getProposals() { + return (await this.helper.callRpc(`api.query.${this.collective}.proposals`, [])).toHuman(); + } + + /** + * Returns the call originally encoded under the specified hash. + * @param hash h256-encoded proposal + * @returns the optional call that the proposal hash stands for. + */ + async getProposalCallOf(hash: string) { + return (await this.helper.callRpc(`api.query.${this.collective}.proposalOf`, [hash])).toHuman(); + } + + /** + * Returns the total number of proposals so far. + */ + async getTotalProposalsCount() { + return (await this.helper.callRpc(`api.query.${this.collective}.proposalCount`, [])).toNumber(); + } + + /** + * Creates a new proposal up for voting. If the threshold is set to 1, the proposal will be executed immediately. + * @param signer keyring of the proposer + * @param proposal constructed call to be executed if the proposal is successful + * @param voteThreshold minimal number of votes for the proposal to be verified and executed + * @param lengthBound byte length of the encoded call + * @returns promise of extrinsic execution and its result + */ + async propose(signer: TSigner, proposal: any, voteThreshold: number, lengthBound = 10000) { + return await this.helper.executeExtrinsic(signer, `api.tx.${this.collective}.propose`, [voteThreshold, proposal, lengthBound]); + } + + /** + * Casts a vote to either approve or reject a proposal. + * @param signer keyring of the voter + * @param proposalHash hash of the proposal to be voted for + * @param proposalIndex absolute index of the proposal used for absolutely nothing but throwing pointless errors + * @param approve aye or nay + * @returns promise of extrinsic execution and its result + */ + vote(signer: TSigner, proposalHash: string, proposalIndex: number, approve: boolean) { + return this.helper.executeExtrinsic(signer, `api.tx.${this.collective}.vote`, [proposalHash, proposalIndex, approve]); + } + + /** + * Executes a call immediately as a member of the collective. Needed for the Member origin. + * @param signer keyring of the executor member + * @param proposal constructed call to be executed by the member + * @param lengthBound byte length of the encoded call + * @returns promise of extrinsic execution + */ + async execute(signer: TSigner, proposal: any, lengthBound = 10000) { + const result = await this.helper.executeExtrinsic(signer, `api.tx.${this.collective}.execute`, [proposal, lengthBound]); + this.checkExecutedEvent(result.result.events); + return result; + } + + /** + * Attempt to close and execute a proposal. Note that there must already be enough votes to meet the threshold set when proposing. + * @param signer keyring of the executor. Can be absolutely anyone. + * @param proposalHash hash of the proposal to close + * @param proposalIndex index of the proposal generated on its creation + * @param weightBound weight of the proposed call. Can be obtained by calling `paymentInfo()` on the call. + * @param lengthBound byte length of the encoded call + * @returns promise of extrinsic execution and its result + */ + async close( + signer: TSigner, + proposalHash: string, + proposalIndex: number, + weightBound: [number, number] | any = [20_000_000_000, 1000_000], + lengthBound = 10_000, + ) { + const result = await this.helper.executeExtrinsic(signer, `api.tx.${this.collective}.close`, [ + proposalHash, + proposalIndex, + weightBound, + lengthBound, + ]); + this.checkExecutedEvent(result.result.events); + return result; + } + + /** + * Shut down a proposal, regardless of its current state. + * @param signer keyring of the disapprover. Must be root + * @param proposalHash hash of the proposal to close + * @returns promise of extrinsic execution and its result + */ + disapproveProposal(signer: TSigner, proposalHash: string) { + return this.helper.executeExtrinsic(signer, `api.tx.${this.collective}.disapproveProposal`, [proposalHash]); + } +} + +class CollectiveMembershipGroup extends HelperGroup { + /** + * Pallet name to make an API call to. Examples: 'councilMembership', 'technicalCommitteeMembership' + */ + private membership: string; + + constructor(helper: UniqueHelper, membership: string) { + super(helper); + this.membership = membership; + } + + /** + * Returns an array of members' addresses according to the membership pallet's perception. + * Note that it does not recognize the original pallet's members set with `setMembers()`. + */ + async getMembers() { + return (await this.helper.callRpc(`api.query.${this.membership}.members`, [])).toHuman(); + } + + /** + * Returns the optional address of the prime member of the collective. + */ + async getPrimeMember() { + return (await this.helper.callRpc(`api.query.${this.membership}.prime`, [])).toHuman(); + } + + /** + * Add a member to the collective. + * @param signer keyring of the setter. Must be root + * @param member address of the member to add + * @returns promise of extrinsic execution and its result + */ + addMember(signer: TSigner, member: string) { + return this.helper.executeExtrinsic(signer, `api.tx.${this.membership}.addMember`, [member]); + } + + addMemberCall(member: string) { + return this.helper.constructApiCall(`api.tx.${this.membership}.addMember`, [member]); + } + + /** + * Remove a member from the collective. + * @param signer keyring of the setter. Must be root + * @param member address of the member to remove + * @returns promise of extrinsic execution and its result + */ + removeMember(signer: TSigner, member: string) { + return this.helper.executeExtrinsic(signer, `api.tx.${this.membership}.removeMember`, [member]); + } + + removeMemberCall(member: string) { + return this.helper.constructApiCall(`api.tx.${this.membership}.removeMember`, [member]); + } + + /** + * Set members of the collective to the given list of addresses. + * @param signer keyring of the setter. Must be root (for the direct call, bypassing a public motion) + * @param members addresses of the members to set + * @returns promise of extrinsic execution and its result + */ + resetMembers(signer: TSigner, members: string[]) { + return this.helper.executeExtrinsic(signer, `api.tx.${this.membership}.resetMembers`, [members]); + } + + /** + * Set the collective's prime member to the given address. + * @param signer keyring of the setter. Must be root (for the direct call, bypassing a public motion) + * @param prime address of the prime member of the collective + * @returns promise of extrinsic execution and its result + */ + setPrime(signer: TSigner, prime: string) { + return this.helper.executeExtrinsic(signer, `api.tx.${this.membership}.setPrime`, [prime]); + } + + setPrimeCall(member: string) { + return this.helper.constructApiCall(`api.tx.${this.membership}.setPrime`, [member]); + } + + /** + * Remove the collective's prime member. + * @param signer keyring of the setter. Must be root (for the direct call, bypassing a public motion) + * @returns promise of extrinsic execution and its result + */ + clearPrime(signer: TSigner) { + return this.helper.executeExtrinsic(signer, `api.tx.${this.membership}.clearPrime`, []); + } + + clearPrimeCall() { + return this.helper.constructApiCall(`api.tx.${this.membership}.clearPrime`, []); + } +} + +class RankedCollectiveGroup extends HelperGroup { + /** + * Pallet name to make an API call to. Examples: 'FellowshipCollective' + */ + private collective: string; + + constructor(helper: UniqueHelper, collective: string) { + super(helper); + this.collective = collective; + } + + addMember(signer: TSigner, newMember: string) { + return this.helper.executeExtrinsic(signer, `api.tx.${this.collective}.addMember`, [newMember]); + } + + addMemberCall(newMember: string) { + return this.helper.constructApiCall(`api.tx.${this.collective}.addMember`, [newMember]); + } + + removeMember(signer: TSigner, member: string, minRank: number) { + return this.helper.executeExtrinsic(signer, `api.tx.${this.collective}.removeMember`, [member, minRank]); + } + + removeMemberCall(newMember: string, minRank: number) { + return this.helper.constructApiCall(`api.tx.${this.collective}.removeMember`, [newMember, minRank]); + } + + promote(signer: TSigner, member: string) { + return this.helper.executeExtrinsic(signer, `api.tx.${this.collective}.promoteMember`, [member]); + } + + promoteCall(newMember: string) { + return this.helper.constructApiCall(`api.tx.${this.collective}.promoteMember`, [newMember]); + } + + demote(signer: TSigner, member: string) { + return this.helper.executeExtrinsic(signer, `api.tx.${this.collective}.demoteMember`, [member]); + } + + demoteCall(newMember: string) { + return this.helper.constructApiCall(`api.tx.${this.collective}.demoteMember`, [newMember]); + } + + vote(signer: TSigner, pollIndex: number, aye: boolean) { + return this.helper.executeExtrinsic(signer, `api.tx.${this.collective}.vote`, [pollIndex, aye]); + } + + async getMembers() { + return (await this.helper.getApi().query.fellowshipCollective.members.keys()) + .map((key) => key.args[0].toString()); + } +} + +class ReferendaGroup extends HelperGroup { + /** + * Pallet name to make an API call to. Examples: 'FellowshipReferenda' + */ + private referenda: string; + + constructor(helper: UniqueHelper, referenda: string) { + super(helper); + this.referenda = referenda; + } + + submit( + signer: TSigner, + proposalOrigin: string, + proposal: any, + enactmentMoment: any, + ) { + return this.helper.executeExtrinsic(signer, `api.tx.${this.referenda}.submit`, [ + {Origins: proposalOrigin}, + proposal, + enactmentMoment, + ]); + } + + placeDecisionDeposit(signer: TSigner, referendumIndex: number) { + return this.helper.executeExtrinsic(signer, `api.tx.${this.referenda}.placeDecisionDeposit`, [referendumIndex]); + } + + cancel(signer: TSigner, referendumIndex: number) { + return this.helper.executeExtrinsic(signer, `api.tx.${this.referenda}.cancel`, [referendumIndex]); + } + + cancelCall(referendumIndex: number) { + return this.helper.constructApiCall(`api.tx.${this.referenda}.cancel`, [referendumIndex]); + } + + async referendumInfo(referendumIndex: number) { + return (await this.helper.callRpc(`api.query.${this.referenda}.referendumInfoFor`, [referendumIndex])).toJSON(); + } + + async enactmentEventId(referendumIndex: number) { + const api = await this.helper.getApi(); + + const bytes = api.createType('([u8;8], Text, u32)', ['assembly', 'enactment', referendumIndex]).toU8a(); + return blake2AsHex(bytes, 256); + } +} + +export interface IFellowshipGroup { + collective: RankedCollectiveGroup; + referenda: ReferendaGroup; +} + +export interface ICollectiveGroup { + collective: CollectiveGroup; + membership: CollectiveMembershipGroup; +} + +class DemocracyGroup extends HelperGroup { + // todo displace proposal into types? + propose(signer: TSigner, call: any, deposit: bigint) { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.propose', [{Inline: call.method.toHex()}, deposit]); + } + + proposeWithPreimage(signer: TSigner, preimage: string, deposit: bigint) { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.propose', [{Legacy: preimage}, deposit]); + } + + proposeCall(call: any, deposit: bigint) { + return this.helper.constructApiCall('api.tx.democracy.propose', [{Inline: call.method.toHex()}, deposit]); + } + + second(signer: TSigner, proposalIndex: number) { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.second', [proposalIndex]); + } + + externalPropose(signer: TSigner, proposalCall: any) { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.externalPropose', [{Inline: proposalCall.method.toHex()}]); + } + + externalProposeMajority(signer: TSigner, proposalCall: any) { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.externalProposeMajority', [{Inline: proposalCall.method.toHex()}]); + } + + externalProposeDefault(signer: TSigner, proposalCall: any) { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.externalProposeDefault', [{Inline: proposalCall.method.toHex()}]); + } + + externalProposeDefaultWithPreimage(signer: TSigner, preimage: string) { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.externalProposeDefault', [{Legacy: preimage}]); + } + + externalProposeCall(proposalCall: any) { + return this.helper.constructApiCall('api.tx.democracy.externalPropose', [{Inline: proposalCall.method.toHex()}]); + } + + externalProposeMajorityCall(proposalCall: any) { + return this.helper.constructApiCall('api.tx.democracy.externalProposeMajority', [{Inline: proposalCall.method.toHex()}]); + } + + externalProposeDefaultCall(proposalCall: any) { + return this.helper.constructApiCall('api.tx.democracy.externalProposeDefault', [{Inline: proposalCall.method.toHex()}]); + } + + // ... and blacklist external proposal hash. + vetoExternal(signer: TSigner, proposalHash: string) { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.vetoExternal', [proposalHash]); + } + + vetoExternalCall(proposalHash: string) { + return this.helper.constructApiCall('api.tx.democracy.vetoExternal', [proposalHash]); + } + + blacklist(signer: TSigner, proposalHash: string, referendumIndex: number | null = null) { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.blacklist', [proposalHash, referendumIndex]); + } + + blacklistCall(proposalHash: string, referendumIndex: number | null = null) { + return this.helper.constructApiCall('api.tx.democracy.blacklist', [proposalHash, referendumIndex]); + } + + // proposal. CancelProposalOrigin (root or all techcom) + cancelProposal(signer: TSigner, proposalIndex: number) { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.cancelProposal', [proposalIndex]); + } + + cancelProposalCall(proposalIndex: number) { + return this.helper.constructApiCall('api.tx.democracy.cancelProposal', [proposalIndex]); + } + + clearPublicProposals(signer: TSigner) { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.clearPublicProposals', []); + } + + fastTrack(signer: TSigner, proposalHash: string, votingPeriod: number, delayPeriod: number) { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.fastTrack', [proposalHash, votingPeriod, delayPeriod]); + } + + fastTrackCall(proposalHash: string, votingPeriod: number, delayPeriod: number) { + return this.helper.constructApiCall('api.tx.democracy.fastTrack', [proposalHash, votingPeriod, delayPeriod]); + } + + // referendum. CancellationOrigin (TechCom member) + emergencyCancel(signer: TSigner, referendumIndex: number) { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.emergencyCancel', [referendumIndex]); + } + + emergencyCancelCall(referendumIndex: number) { + return this.helper.constructApiCall('api.tx.democracy.emergencyCancel', [referendumIndex]); + } + + vote(signer: TSigner, referendumIndex: number, vote: any) { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.vote', [referendumIndex, vote]); + } + + removeVote(signer: TSigner, referendumIndex: number, targetAccount?: string) { + if(targetAccount) { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.removeOtherVote', [targetAccount, referendumIndex]); + } else { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.removeVote', [referendumIndex]); + } + } + + unlock(signer: TSigner, targetAccount: string) { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.unlock', [targetAccount]); + } + + delegate(signer: TSigner, toAccount: string, conviction: PalletDemocracyConviction, balance: bigint) { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.delegate', [toAccount, conviction, balance]); + } + + undelegate(signer: TSigner) { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.undelegate', []); + } + + async referendumInfo(referendumIndex: number) { + return (await this.helper.callRpc('api.query.democracy.referendumInfoOf', [referendumIndex])).toJSON(); + } + + async publicProposals() { + return (await this.helper.callRpc('api.query.democracy.publicProps', [])).toJSON(); + } + + async findPublicProposal(proposalIndex: number) { + const proposalInfo = (await this.publicProposals()).find((proposalInfo: any[]) => proposalInfo[0] == proposalIndex); + + return proposalInfo ? proposalInfo[1] : null; + } + + async expectPublicProposal(proposalIndex: number) { + const proposal = await this.findPublicProposal(proposalIndex); + + if(proposal) { + return proposal; + } else { + throw Error(`Proposal #${proposalIndex} is expected to exist`); + } + } + + async getExternalProposal() { + return (await this.helper.callRpc('api.query.democracy.nextExternal', [])); + } + + async expectExternalProposal() { + const proposal = await this.getExternalProposal(); + + if(proposal) { + return proposal; + } else { + throw Error('An external proposal is expected to exist'); + } + } + + /* setMetadata? */ + + /* todo? + referendumVote(signer: TSigner, referendumIndex: number, accountVote: DemocracyStandardAccountVote) { + return this.helper.executeExtrinsic(signer, 'api.tx.democracy.vote', [referendumIndex, {Standard: accountVote}], true); + }*/ +} + class PreimageGroup extends HelperGroup { async getPreimageInfo(h256: string) { return (await this.helper.callRpc('api.query.preimage.statusFor', [h256])).toJSON(); } + /** + * Create a preimage from an API call. + * @param signer keyring of the signer. + * @param call an extrinsic call + * @example await notePreimageFromCall(preimageMaker, + * helper.constructApiCall('api.tx.identity.forceInsertIdentities', [identitiesToAdd]) + * ); + * @returns promise of extrinsic execution. + */ + notePreimageFromCall(signer: TSigner, call: any, returnPreimageHash = false) { + return this.notePreimage(signer, call.method.toHex(), returnPreimageHash); + } + /** * Create a preimage with a hex or a byte array. * @param signer keyring of the signer. @@ -2974,8 +3509,15 @@ class PreimageGroup extends HelperGroup { * ); * @returns promise of extrinsic execution. */ - notePreimage(signer: TSigner, bytes: string | Uint8Array) { - return this.helper.executeExtrinsic(signer, 'api.tx.preimage.notePreimage', [bytes]); + async notePreimage(signer: TSigner, bytes: string | Uint8Array, returnPreimageHash = false) { + const promise = this.helper.executeExtrinsic(signer, 'api.tx.preimage.notePreimage', [bytes]); + if(returnPreimageHash) { + const result = await promise; + const events = result.result.events.filter(x => x.event.method === 'Noted' && x.event.section === 'preimage'); + const preimageHash = events[0].event.data[0].toHuman(); + return preimageHash; + } + return promise; } /** @@ -3262,6 +3804,10 @@ export class UniqueHelper extends ChainHelperBase { staking: StakingGroup; scheduler: SchedulerGroup; collatorSelection: CollatorSelectionGroup; + council: ICollectiveGroup; + technicalCommittee: ICollectiveGroup; + fellowship: IFellowshipGroup; + democracy: DemocracyGroup; preimage: PreimageGroup; foreignAssets: ForeignAssetsGroup; xcm: XcmGroup; @@ -3279,6 +3825,19 @@ export class UniqueHelper extends ChainHelperBase { this.staking = new StakingGroup(this); this.scheduler = new SchedulerGroup(this); this.collatorSelection = new CollatorSelectionGroup(this); + this.council = { + collective: new CollectiveGroup(this, 'council'), + membership: new CollectiveMembershipGroup(this, 'councilMembership'), + }; + this.technicalCommittee = { + collective: new CollectiveGroup(this, 'technicalCommittee'), + membership: new CollectiveMembershipGroup(this, 'technicalCommitteeMembership'), + }; + this.fellowship = { + collective: new RankedCollectiveGroup(this, 'fellowshipCollective'), + referenda: new ReferendaGroup(this, 'fellowshipReferenda'), + }; + this.democracy = new DemocracyGroup(this); this.preimage = new PreimageGroup(this); this.foreignAssets = new ForeignAssetsGroup(this); this.xcm = new XcmGroup(this, 'polkadotXcm'); diff --git a/tests/src/xcm/xcmQuartz.test.ts b/tests/src/xcm/xcmQuartz.test.ts index 7705099dea..b19e7e02aa 100644 --- a/tests/src/xcm/xcmQuartz.test.ts +++ b/tests/src/xcm/xcmQuartz.test.ts @@ -682,7 +682,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with Karura', () => { maliciousXcmProgramSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); }); - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == maliciousXcmProgramSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == maliciousXcmProgramSent.messageHash && event.outcome().isFailedToTransactAsset); targetAccountBalance = await helper.balance.getSubstrate(targetAccount.address); @@ -763,7 +763,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with Karura', () => { maliciousXcmProgramFullIdSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); }); - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == maliciousXcmProgramFullIdSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == maliciousXcmProgramFullIdSent.messageHash && event.outcome().isUntrustedReserveLocation); let accountBalance = await helper.balance.getSubstrate(targetAccount.address); @@ -776,7 +776,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with Karura', () => { maliciousXcmProgramHereIdSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); }); - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == maliciousXcmProgramHereIdSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == maliciousXcmProgramHereIdSent.messageHash && event.outcome().isUntrustedReserveLocation); accountBalance = await helper.balance.getSubstrate(targetAccount.address); @@ -862,7 +862,7 @@ describeXCM('[XCM] Integration test: Quartz rejects non-native tokens', () => { }); const expectFailedToTransact = async (helper: DevUniqueHelper, messageSent: any) => { - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == messageSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == messageSent.messageHash && event.outcome().isFailedToTransactAsset); }; @@ -1174,7 +1174,7 @@ describeXCM('[XCM] Integration test: Exchanging QTZ with Moonriver', () => { maliciousXcmProgramSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); }); - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == maliciousXcmProgramSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == maliciousXcmProgramSent.messageHash && event.outcome().isFailedToTransactAsset); targetAccountBalance = await helper.balance.getSubstrate(targetAccount.address); @@ -1263,7 +1263,7 @@ describeXCM('[XCM] Integration test: Exchanging QTZ with Moonriver', () => { maliciousXcmProgramFullIdSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); }); - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == maliciousXcmProgramFullIdSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == maliciousXcmProgramFullIdSent.messageHash && event.outcome().isUntrustedReserveLocation); let accountBalance = await helper.balance.getSubstrate(targetAccount.address); @@ -1280,7 +1280,7 @@ describeXCM('[XCM] Integration test: Exchanging QTZ with Moonriver', () => { maliciousXcmProgramHereIdSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); }); - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == maliciousXcmProgramHereIdSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == maliciousXcmProgramHereIdSent.messageHash && event.outcome().isUntrustedReserveLocation); accountBalance = await helper.balance.getSubstrate(targetAccount.address); @@ -1540,7 +1540,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with Shiden', () => { maliciousXcmProgramSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); }); - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == maliciousXcmProgramSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == maliciousXcmProgramSent.messageHash && event.outcome().isFailedToTransactAsset); targetAccountBalance = await helper.balance.getSubstrate(targetAccount.address); @@ -1621,7 +1621,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with Shiden', () => { maliciousXcmProgramFullIdSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); }); - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == maliciousXcmProgramFullIdSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == maliciousXcmProgramFullIdSent.messageHash && event.outcome().isUntrustedReserveLocation); let accountBalance = await helper.balance.getSubstrate(targetAccount.address); @@ -1634,7 +1634,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with Shiden', () => { maliciousXcmProgramHereIdSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); }); - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == maliciousXcmProgramHereIdSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == maliciousXcmProgramHereIdSent.messageHash && event.outcome().isUntrustedReserveLocation); accountBalance = await helper.balance.getSubstrate(targetAccount.address); diff --git a/tests/src/xcm/xcmUnique.test.ts b/tests/src/xcm/xcmUnique.test.ts index 2a9bd86d4c..9ba3187df7 100644 --- a/tests/src/xcm/xcmUnique.test.ts +++ b/tests/src/xcm/xcmUnique.test.ts @@ -684,7 +684,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with Acala', () => { maliciousXcmProgramSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); }); - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == maliciousXcmProgramSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == maliciousXcmProgramSent.messageHash && event.outcome().isFailedToTransactAsset); targetAccountBalance = await helper.balance.getSubstrate(targetAccount.address); @@ -765,7 +765,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with Acala', () => { maliciousXcmProgramFullIdSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); }); - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == maliciousXcmProgramFullIdSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == maliciousXcmProgramFullIdSent.messageHash && event.outcome().isUntrustedReserveLocation); let accountBalance = await helper.balance.getSubstrate(targetAccount.address); @@ -778,7 +778,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with Acala', () => { maliciousXcmProgramHereIdSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); }); - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == maliciousXcmProgramHereIdSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == maliciousXcmProgramHereIdSent.messageHash && event.outcome().isUntrustedReserveLocation); accountBalance = await helper.balance.getSubstrate(targetAccount.address); @@ -864,7 +864,7 @@ describeXCM('[XCM] Integration test: Unique rejects non-native tokens', () => { }); const expectFailedToTransact = async (helper: DevUniqueHelper, messageSent: any) => { - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == messageSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == messageSent.messageHash && event.outcome().isFailedToTransactAsset); }; @@ -1177,7 +1177,7 @@ describeXCM('[XCM] Integration test: Exchanging UNQ with Moonbeam', () => { maliciousXcmProgramSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); }); - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == maliciousXcmProgramSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == maliciousXcmProgramSent.messageHash && event.outcome().isFailedToTransactAsset); targetAccountBalance = await helper.balance.getSubstrate(targetAccount.address); @@ -1266,7 +1266,7 @@ describeXCM('[XCM] Integration test: Exchanging UNQ with Moonbeam', () => { maliciousXcmProgramFullIdSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); }); - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == maliciousXcmProgramFullIdSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == maliciousXcmProgramFullIdSent.messageHash && event.outcome().isUntrustedReserveLocation); let accountBalance = await helper.balance.getSubstrate(targetAccount.address); @@ -1283,7 +1283,7 @@ describeXCM('[XCM] Integration test: Exchanging UNQ with Moonbeam', () => { maliciousXcmProgramHereIdSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); }); - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == maliciousXcmProgramHereIdSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == maliciousXcmProgramHereIdSent.messageHash && event.outcome().isUntrustedReserveLocation); accountBalance = await helper.balance.getSubstrate(targetAccount.address); @@ -1542,7 +1542,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with Astar', () => { maliciousXcmProgramSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); }); - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == maliciousXcmProgramSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == maliciousXcmProgramSent.messageHash && event.outcome().isFailedToTransactAsset); targetAccountBalance = await helper.balance.getSubstrate(targetAccount.address); @@ -1623,7 +1623,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with Astar', () => { maliciousXcmProgramFullIdSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); }); - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == maliciousXcmProgramFullIdSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == maliciousXcmProgramFullIdSent.messageHash && event.outcome().isUntrustedReserveLocation); let accountBalance = await helper.balance.getSubstrate(targetAccount.address); @@ -1636,7 +1636,7 @@ describeXCM('[XCM] Integration test: Exchanging tokens with Astar', () => { maliciousXcmProgramHereIdSent = await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.XcmpMessageSent); }); - await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash() == maliciousXcmProgramHereIdSent.messageHash() + await helper.wait.expectEvent(maxWaitBlocks, Event.XcmpQueue.Fail, event => event.messageHash == maliciousXcmProgramHereIdSent.messageHash && event.outcome().isUntrustedReserveLocation); accountBalance = await helper.balance.getSubstrate(targetAccount.address); diff --git a/tests/tsconfig.json b/tests/tsconfig.json index 29c26df928..6f1bce89ee 100644 --- a/tests/tsconfig.json +++ b/tests/tsconfig.json @@ -1,33 +1,22 @@ { - "compilerOptions": { - "target": "ES2020", - "moduleResolution": "node", - "esModuleInterop": true, - "resolveJsonModule": true, - "module": "ESNext", - "sourceMap": true, - "outDir": "dist", - "strict": true, - "paths": { - "@polkadot/types/lookup": [ - "./src/interfaces/types-lookup.ts" - ], - "@unique-nft/types/*": [ - "./src/interfaces/*" - ] - } - }, - "include": [ - "./src/**/*", - "./src/interfaces/*.ts" - ], - "exclude": [ - "./src/.outdated" - ], - "lib": [ - "es2017" - ], - "ts-node": { - "experimentalSpecifierResolution": "node" - } + "compilerOptions": { + "target": "ES2020", + "moduleResolution": "node", + "esModuleInterop": true, + "resolveJsonModule": true, + "module": "ESNext", + "sourceMap": true, + "outDir": "dist", + "strict": true, + "paths": { + "@polkadot/types/lookup": ["./src/interfaces/types-lookup.ts"], + "@unique-nft/types/*": ["./src/interfaces/*"] + } + }, + "include": ["./src/**/*", "./src/interfaces/*.ts"], + "exclude": ["./src/.outdated"], + "lib": ["es2017"], + "ts-node": { + "experimentalSpecifierResolution": "node" + } }