difftreelog
feat introduce democracy (#965)
in: master
* feature: democracy draft * fix: basic democracy setup * fix: cargo fmt * feat: setup maintenance manager origin * feat: root or tech comm cna set collators * feat: root or tech commm can set identities * fix: remove democracy benchmarks * fix: pallet-presence * fix: externalDefaultOrigin * fix: all tech comm can suspend/resume xcm * test(governance): first batch * revert(democracy): launch-config * refactor(governance): address suggestions * refactor(governance): switch to frame's democracy pallet * chore: update deps * chore: fix deps * chore: fix xcm mod * feature(governance): add new associated types from 42 v * feat(governance): add ranked collective * refactor(governance): split codebase to entities * feature(governance): pallets config & refactor * feat(governance): fix tracks and mapping * feature(governance): tune types for maintenance&xcm * feat(governance): rename pallet name to integrate with apps ui * feature(governance): remove unused origins * feature(governance): rename track * feature(governance): change rank mapper & democracy track id * feat(governance): configuration impl * refactor: remove old gov tests, add new test-cases + minor fix * feature(governance): aded events, config impl, bencmarks * feature(governance): set correct weight to `set_governance_arg` * refactor(governance): `ClassToRankMapper` * Update runtime/common/config/pallets/governance/types.rs Co-authored-by: Daniel Shiposha <mrshiposha@gmail.com> * Update pallets/configuration/src/lib.rs Co-authored-by: Daniel Shiposha <mrshiposha@gmail.com> * Update runtime/common/config/pallets/governance/council_collective.rs Co-authored-by: Daniel Shiposha <mrshiposha@gmail.com> * Update runtime/common/config/pallets/governance/council_collective.rs Co-authored-by: Daniel Shiposha <mrshiposha@gmail.com> * Update runtime/common/config/pallets/governance/council_collective.rs Co-authored-by: Daniel Shiposha <mrshiposha@gmail.com> * Update runtime/common/config/pallets/governance/technical_committee.rs Co-authored-by: Daniel Shiposha <mrshiposha@gmail.com> * Update runtime/common/config/pallets/governance/technical_committee.rs Co-authored-by: Daniel Shiposha <mrshiposha@gmail.com> * Update runtime/common/config/pallets/governance/technical_committee.rs Co-authored-by: Daniel Shiposha <mrshiposha@gmail.com> * refactor(governance): code organization * fix: format * feature(governance): added new types * refactor: gov origins, minor fixes * chore: regenerate types * chore: update Cargo.lock * fix: governance playground fixes * fix: cargo fmt * Initialize Council and Technical Committee tests * refactor: governance params + test timings * feat(tests): add time-to-block constants * refactor(tests): event helpers * feat(tests): add fellowship helpers * fix(tests): xcm tests use new event helpers * test: fellowship basic tests * feat: add fellowship timing MIN_ENACTMENT_PERIOD * refactor(tests): instroduce governance test infrastructure * fix: cargo fmt * fix: yarn lint * feat: add moreThanHalfCouncil * fix: council test * test: fellowship * test(council): added impl for 14 cases + helpers + refac * test(council): prime member impl + Closed events parser * test(council): tests + helpers * test(goverment): refactor test organization * test(governance): comm tests * fix: quartz test-env feature * feat: add gov workflow, add describeGov * test: democracy * fix: optimize techcomm imports * fix: exclude unique from gov workflow * Update tests/src/governance/council.test.ts Co-authored-by: Daniel Shiposha <mrshiposha@gmail.com> * fix(test governance): origin for council members * No more state in governance test utils * fix typo * fix(test gov): dummy prop impl * test(governance): refactor & remove unused * refactor(gobv test): initCouncil * chore(governance): after rebase fixes * fix: fmt * fix: fmt & types * chore: polkadot types * chore(gov): fix gov workflow * change api port to rpc for 0.9.43 polkadot * test(gov): fix waiter for block Added fn for hard reset some of pallets * test(gov): fix waiter for block Added hard reset for some of the pallets * Update runtime/common/config/pallets/governance/fellowship.rs Co-authored-by: Yaroslav Bolyukin <iam@lach.pw> * add var wasm_name for goverments workflow for running sapphire * fix(runtime): spces -> tabs * add var wasm_name for goverments workflow for running sapphire * refactor(governance): - Removed debug test info - Added new test for current Add\Remove assoc. type - Changed gov settings -Added helper `getMembers` for RankedCollective group * refactor(governacne): nitpicks * refactor(governance):construct runtime. Fixed condition for skipping unique scheduler tests. Added full name codec dep . * fix(gov): added `origins` to pallets list ---------
61 files changed
.docker/docker-compose.gov.j2diffbeforeafterboth--- /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
.github/workflows/ci-develop.ymldiffbeforeafterboth--- a/.github/workflows/ci-develop.yml
+++ b/.github/workflows/ci-develop.yml
@@ -61,7 +61,12 @@
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
.github/workflows/gov.ymldiffbeforeafterboth--- /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
Cargo.lockdiffbeforeafterboth--- a/Cargo.lock
+++ b/Cargo.lock
@@ -172,9 +172,9 @@
[[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 @@
[[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 @@
[[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 @@
"num-traits",
"rusticata-macros",
"thiserror",
- "time 0.3.23",
+ "time 0.3.25",
]
[[package]]
@@ -349,7 +349,7 @@
"num-traits",
"rusticata-macros",
"thiserror",
- "time 0.3.23",
+ "time 0.3.25",
]
[[package]]
@@ -426,9 +426,9 @@
[[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 @@
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 @@
"futures-sink",
"futures-util",
"memchr",
- "pin-project-lite 0.2.10",
+ "pin-project-lite 0.2.12",
]
[[package]]
@@ -599,7 +599,7 @@
"regex",
"rustc-hash",
"shlex",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -610,9 +610,9 @@
[[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 @@
[[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 @@
[[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 @@
[[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 @@
[[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 @@
"heck",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -1126,9 +1127,9 @@
[[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 @@
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -2000,9 +2001,9 @@
[[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 @@
[[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 @@
"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 @@
[[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",
@@ -2153,6 +2154,12 @@
]
[[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"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -2303,7 +2310,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -2369,7 +2376,7 @@
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 @@
[[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 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -2507,7 +2514,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -2550,9 +2557,9 @@
[[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 @@
"fs-err",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -3008,13 +3015,13 @@
[[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 @@
[[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 @@
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -3397,7 +3404,7 @@
"proc-macro-warning",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -3409,7 +3416,7 @@
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -3419,7 +3426,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -3499,7 +3506,7 @@
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 @@
"futures-io",
"memchr",
"parking",
- "pin-project-lite 0.2.10",
+ "pin-project-lite 0.2.12",
"waker-fn",
]
@@ -3581,7 +3588,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -3626,7 +3633,7 @@
"futures-sink",
"futures-task",
"memchr",
- "pin-project-lite 0.2.10",
+ "pin-project-lite 0.2.12",
"pin-utils",
"slab",
]
@@ -3731,9 +3738,9 @@
[[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 @@
dependencies = [
"bytes",
"http",
- "pin-project-lite 0.2.10",
+ "pin-project-lite 0.2.12",
]
[[package]]
@@ -3971,9 +3978,9 @@
[[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 @@
"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 @@
[[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 @@
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 @@
[[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 @@
[[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 @@
[[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 @@
[[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 @@
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -5949,8 +5956,10 @@
"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 @@
"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 @@
"sp-core",
"sp-io",
"sp-std",
+ "up-common",
"xcm",
]
@@ -6804,6 +6819,16 @@
]
[[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"
source = "git+https://github.com/paritytech/substrate?branch=polkadot-v0.9.43#5e49f6e44820affccaf517fd22af564f4b495d40"
@@ -7323,7 +7348,7 @@
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -7773,7 +7798,7 @@
"libc",
"redox_syscall 0.3.5",
"smallvec",
- "windows-targets 0.48.1",
+ "windows-targets 0.48.2",
]
[[package]]
@@ -7838,9 +7863,9 @@
[[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 @@
[[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 @@
[[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 @@
[[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 @@
[[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 @@
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 @@
"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 @@
[[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 @@
checksum = "6c64d9ba0963cdcea2e1b2230fbae2bab30eb25a174be395c41e764bfb65dd62"
dependencies = [
"proc-macro2",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -9334,7 +9359,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -9374,13 +9399,13 @@
[[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 @@
"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 @@
"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 @@
[[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 @@
[[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 @@
dependencies = [
"pem",
"ring",
- "time 0.3.23",
+ "time 0.3.25",
"x509-parser 0.13.2",
"yasna",
]
@@ -9748,7 +9780,7 @@
dependencies = [
"pem",
"ring",
- "time 0.3.23",
+ "time 0.3.25",
"yasna",
]
@@ -9811,7 +9843,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -9828,13 +9860,13 @@
[[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 @@
[[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 @@
[[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 @@
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -11391,7 +11423,7 @@
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -11579,7 +11611,7 @@
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 @@
[[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 @@
[[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 @@
[[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 @@
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -12227,7 +12259,7 @@
"proc-macro2",
"quote",
"sp-core-hashing",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -12246,7 +12278,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -12457,7 +12489,7 @@
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -12643,7 +12675,7 @@
"parity-scale-codec",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -12683,7 +12715,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -12720,14 +12752,14 @@
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 @@
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -13008,9 +13040,9 @@
[[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 @@
[[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 @@
[[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 @@
[[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 @@
[[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 @@
[[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 @@
[[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 @@
[[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 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -13352,7 +13384,7 @@
checksum = "397c988d37662c7dda6d2208364a706264bf3d6138b11d436cbac0ad38832842"
dependencies = [
"futures-core",
- "pin-project-lite 0.2.10",
+ "pin-project-lite 0.2.12",
"tokio",
"tokio-util",
]
@@ -13367,7 +13399,7 @@
"futures-core",
"futures-io",
"futures-sink",
- "pin-project-lite 0.2.10",
+ "pin-project-lite 0.2.12",
"tokio",
"tracing",
]
@@ -13432,14 +13464,14 @@
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 @@
dependencies = [
"cfg-if",
"log",
- "pin-project-lite 0.2.10",
+ "pin-project-lite 0.2.12",
"tracing-attributes",
"tracing-core",
]
@@ -13477,7 +13509,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -13520,7 +13552,7 @@
"proc-macro-crate",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -13981,8 +14013,10 @@
"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 @@
"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 @@
"once_cell",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
"wasm-bindgen-shared",
]
@@ -14303,7 +14342,7 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
"wasm-bindgen-backend",
"wasm-bindgen-shared",
]
@@ -14681,7 +14720,7 @@
"sha2 0.10.7",
"stun",
"thiserror",
- "time 0.3.23",
+ "time 0.3.25",
"tokio",
"turn",
"url",
@@ -15048,7 +15087,7 @@
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 @@
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 @@
[[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 @@
[[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 @@
[[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 @@
[[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 @@
[[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 @@
[[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 @@
[[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 @@
[[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 @@
"ring",
"rusticata-macros",
"thiserror",
- "time 0.3.23",
+ "time 0.3.25",
]
[[package]]
@@ -15297,7 +15336,7 @@
"oid-registry 0.6.1",
"rusticata-macros",
"thiserror",
- "time 0.3.23",
+ "time 0.3.25",
]
[[package]]
@@ -15366,7 +15405,7 @@
"Inflector",
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
@@ -15389,7 +15428,7 @@
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 @@
dependencies = [
"proc-macro2",
"quote",
- "syn 2.0.27",
+ "syn 2.0.28",
]
[[package]]
Cargo.tomldiffbeforeafterboth--- a/Cargo.toml
+++ b/Cargo.toml
@@ -27,7 +27,9 @@
[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-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 @@
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-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" }
launch-config.jsondiffbeforeafterboth--- a/launch-config.json
+++ b/launch-config.json
@@ -151,4 +151,4 @@
"simpleParachains": [],
"hrmpChannels": [],
"finalization": false
-}
+}
\ No newline at end of file
node/cli/src/chain_spec.rsdiffbeforeafterboth--- a/node/cli/src/chain_spec.rs
+++ b/node/cli/src/chain_spec.rs
@@ -175,6 +175,7 @@
sudo: SudoConfig {
key: Some($root_key),
},
+
vesting: VestingConfig { vesting: vec![] },
parachain_info: ParachainInfoConfig {
parachain_id: $id.into(),
@@ -207,6 +208,7 @@
ethereum: EthereumConfig {},
polkadot_xcm: Default::default(),
transaction_payment: Default::default(),
+ ..Default::default()
}
}};
}
pallets/configuration/Cargo.tomldiffbeforeafterboth--- a/pallets/configuration/Cargo.toml
+++ b/pallets/configuration/Cargo.toml
@@ -15,8 +15,9 @@
smallvec = { workspace = true }
sp-arithmetic = { workspace = true }
sp-core = { workspace = true }
+sp-io = { workspace = true }
sp-std = { workspace = true }
-sp-io = { workspace = true }
+up-common = { workspace = true }
xcm = { workspace = true }
hex-literal = { workspace = true }
pallets/configuration/src/lib.rsdiffbeforeafterboth--- a/pallets/configuration/src/lib.rs
+++ b/pallets/configuration/src/lib.rs
@@ -60,6 +60,7 @@
type Balance: Parameter
+ Member
+ AtLeast32BitUnsigned
+ + From<up_common::types::Balance>
+ Codec
+ Default
+ Copy
pallets/gov-origins/Cargo.tomldiffbeforeafterboth--- /dev/null
+++ b/pallets/gov-origins/Cargo.toml
@@ -0,0 +1,32 @@
+################################################################################
+# Package
+
+[package]
+authors = ['Unique Network <support@uniquenetwork.io>']
+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 }
pallets/gov-origins/src/lib.rsdiffbeforeafterboth--- /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 <http://www.gnu.org/licenses/>.
+
+#![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<T>(_);
+
+ #[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,
+ }
+}
pallets/maintenance/src/lib.rsdiffbeforeafterboth--- a/pallets/maintenance/src/lib.rs
+++ b/pallets/maintenance/src/lib.rs
@@ -25,10 +25,9 @@
#[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 @@
/// The overarching event type.
type RuntimeEvent: From<Event<Self>> + IsType<<Self as frame_system::Config>::RuntimeEvent>;
- /// The runtime origin type.
- type RuntimeOrigin: From<RawOrigin<Self::AccountId>>
- + IsType<<Self as frame_system::Config>::RuntimeOrigin>;
-
/// The aggregated call type.
type RuntimeCall: Parameter
- + Dispatchable<
- RuntimeOrigin = <Self as Config>::RuntimeOrigin,
- PostInfo = PostDispatchInfo,
- > + GetDispatchInfo
+ + Dispatchable<RuntimeOrigin = Self::RuntimeOrigin, PostInfo = PostDispatchInfo>
+ + GetDispatchInfo
+ From<frame_system::Call<Self>>;
/// 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<<Self as frame_system::Config>::RuntimeOrigin>;
+
+ /// The Origin that has the right to execute preimage.
+ type PreimageOrigin: EnsureOrigin<<Self as frame_system::Config>::RuntimeOrigin>;
+
/// Weight information for extrinsics in this pallet.
type WeightInfo: WeightInfo;
}
@@ -80,7 +79,7 @@
#[pallet::call_index(0)]
#[pallet::weight(<T as Config>::WeightInfo::enable())]
pub fn enable(origin: OriginFor<T>) -> DispatchResult {
- ensure_root(origin)?;
+ T::ManagerOrigin::ensure_origin(origin)?;
<Enabled<T>>::set(true);
@@ -92,7 +91,7 @@
#[pallet::call_index(1)]
#[pallet::weight(<T as Config>::WeightInfo::disable())]
pub fn disable(origin: OriginFor<T>) -> DispatchResult {
- ensure_root(origin)?;
+ T::ManagerOrigin::ensure_origin(origin)?;
<Enabled<T>>::set(false);
@@ -114,7 +113,7 @@
) -> 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 @@
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(),
pallets/unique/src/eth/mod.rsdiffbeforeafterboth--- a/pallets/unique/src/eth/mod.rs
+++ b/pallets/unique/src/eth/mod.rs
@@ -139,116 +139,116 @@
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(<SelfWeightOf<T>>::create_collection())]
- #[solidity(rename_selector = "createCollection")]
- fn create_collection(
- &mut self,
- caller: Caller,
- value: Value,
- data: eth::CreateCollectionData,
- ) -> Result<Address> {
- let (caller, name, description, token_prefix) =
- convert_data::<T>(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,
- };
+ /*
+ /// Create a collection
+ /// @return address Address of the newly created collection
+ #[weight(<SelfWeightOf<T>>::create_collection())]
+ #[solidity(rename_selector = "createCollection")]
+ fn create_collection(
+ &mut self,
+ caller: Caller,
+ value: Value,
+ data: eth::CreateCollectionData,
+ ) -> Result<Address> {
+ let (caller, name, description, token_prefix) =
+ convert_data::<T>(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::<Result<Vec<_>>>()?
- .try_into()
- .map_err(|_| "too many properties")?;
+ let properties: BoundedVec<_, _> = data
+ .properties
+ .into_iter()
+ .map(eth::Property::try_into)
+ .collect::<Result<Vec<_>>>()?
+ .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 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::<Result<up_data_structs::CollectionLimits>>()?,
- )
- } else {
- None
- };
+ let limits = if !data.limits.is_empty() {
+ Some(
+ data.limits
+ .into_iter()
+ .collect::<Result<up_data_structs::CollectionLimits>>()?,
+ )
+ } else {
+ None
+ };
- let pending_sponsor = data.pending_sponsor.into_option_sub_cross_account::<T>()?;
+ let pending_sponsor = data.pending_sponsor.into_option_sub_cross_account::<T>()?;
- let restricted = if !data.nesting_settings.restricted.is_empty() {
- Some(
- data.nesting_settings
- .restricted
- .iter()
- .map(map_eth_to_id)
- .collect::<Option<BTreeSet<_>>>()
- .ok_or("can't convert address into collection id")?
- .try_into()
- .map_err(|_| "too many collections")?,
- )
- } else {
- None
- };
+ let restricted = if !data.nesting_settings.restricted.is_empty() {
+ Some(
+ data.nesting_settings
+ .restricted
+ .iter()
+ .map(map_eth_to_id)
+ .collect::<Option<BTreeSet<_>>>()
+ .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::<T>())
- .collect::<Result<Vec<_>>>()?;
+ let admin_list = data
+ .admin_list
+ .into_iter()
+ .map(|admin| admin.into_sub_cross_account::<T>())
+ .collect::<Result<Vec<_>>>()?;
- let flags = data.flags;
- if !flags.is_allowed_for_user() {
- return Err("internal flags were used".into());
- }
+ 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 {
+ 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::<T>(value)?;
- let collection_helpers_address =
- T::CrossAccountId::from_eth(<T as pallet_common::Config>::ContractAddress::get());
+ admin_list,
+ flags,
+ };
+ check_sent_amount_equals_collection_creation_price::<T>(value)?;
+ let collection_helpers_address =
+ T::CrossAccountId::from_eth(<T as pallet_common::Config>::ContractAddress::get());
- let collection_id = T::CollectionDispatch::create(caller, collection_helpers_address, data)
- .map_err(dispatch_to_evm::<T>)?;
+ let collection_id = T::CollectionDispatch::create(caller, collection_helpers_address, data)
+ .map_err(dispatch_to_evm::<T>)?;
- let address = pallet_common::eth::collection_id_to_address(collection_id);
- Ok(address)
- }
-*/
+ let address = pallet_common::eth::collection_id_to_address(collection_id);
+ Ok(address)
+ }
+ */
/// Create an NFT collection
/// @param name Name of the collection
runtime/common/config/mod.rsdiffbeforeafterboth--- a/runtime/common/config/mod.rs
+++ b/runtime/common/config/mod.rs
@@ -22,5 +22,5 @@
pub mod substrate;
pub mod xcm;
-#[cfg(feature = "pallet-test-utils")]
+#[cfg(feature = "test-env")]
pub mod test_pallets;
runtime/common/config/pallets/collator_selection.rsdiffbeforeafterboth--- 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 <http://www.gnu.org/licenses/>.
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 @@
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<<Self as frame_system::Config>::AccountId>;
+
+ #[cfg(not(feature = "governance"))]
type ForceOrigin = EnsureRoot<<Self as frame_system::Config>::AccountId>;
+
type Slashed = Treasury;
type WeightInfo = pallet_identity::weights::SubstrateWeight<Runtime>;
}
@@ -92,7 +109,17 @@
type RuntimeEvent = RuntimeEvent;
type Currency = Balances;
// We allow root only to execute privileged collator selection operations.
- type UpdateOrigin = EnsureRoot<AccountId>;
+
+ // 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<<Self as frame_system::Config>::AccountId>;
+
type TreasuryAccountId = TreasuryAccountId;
type PotId = PotId;
type MaxCollators = MaxCollators;
runtime/common/config/pallets/governance/council.rsdiffbeforeafterboth--- /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<CouncilCollective> 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<Runtime>;
+ type SetMembersOrigin = EnsureRoot<AccountId>;
+ type MaxProposalWeight = MaxCollectivesProposalWeight;
+}
+
+pub type CouncilCollectiveMembership = pallet_membership::Instance1;
+impl pallet_membership::Config<CouncilCollectiveMembership> for Runtime {
+ type RuntimeEvent = RuntimeEvent;
+ type AddOrigin = EnsureRoot<AccountId>;
+ type RemoveOrigin = EnsureRoot<AccountId>;
+ type SwapOrigin = EnsureRoot<AccountId>;
+ type ResetOrigin = EnsureRoot<AccountId>;
+ type PrimeOrigin = EnsureRoot<AccountId>;
+ type MembershipInitialized = Council;
+ type MembershipChanged = Council;
+ type MaxMembers = CouncilMaxMembers;
+ type WeightInfo = pallet_membership::weights::SubstrateWeight<Runtime>;
+}
+
+pub type CouncilMember = pallet_collective::EnsureMember<AccountId, CouncilCollective>;
+
+pub type OneThirdsCouncil =
+ pallet_collective::EnsureProportionAtLeast<AccountId, CouncilCollective, 1, 3>;
+
+pub type HalfCouncil =
+ pallet_collective::EnsureProportionAtLeast<AccountId, CouncilCollective, 1, 2>;
+
+pub type MoreThanHalfCouncil =
+ pallet_collective::EnsureProportionMoreThan<AccountId, CouncilCollective, 1, 2>;
+
+pub type ThreeFourthsCouncil = EnsureProportionAtLeast<AccountId, CouncilCollective, 3, 4>;
+
+pub type AllCouncil = EnsureProportionAtLeast<AccountId, CouncilCollective, 1, 1>;
+
+pub type RootOrOneThirdsCouncil = EitherOfDiverse<EnsureRoot<AccountId>, OneThirdsCouncil>;
+
+pub type RootOrHalfCouncil = EitherOfDiverse<EnsureRoot<AccountId>, HalfCouncil>;
+
+pub type RootOrMoreThanHalfCouncil = EitherOfDiverse<EnsureRoot<AccountId>, MoreThanHalfCouncil>;
+
+pub type RootOrThreeFourthsCouncil = EitherOfDiverse<EnsureRoot<AccountId>, ThreeFourthsCouncil>;
+
+pub type RootOrAllCouncil = EitherOfDiverse<EnsureRoot<AccountId>, AllCouncil>;
runtime/common/config/pallets/governance/democracy.rsdiffbeforeafterboth--- /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<Runtime>;
+
+ /// 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<EnsureRoot<Self::AccountId>, Replace<fellowship::FellowshipAccountId>>,
+ EnsureFellowshipProposition,
+ >;
+
+ type ExternalOrigin = EnsureNever<Self::AccountId>;
+ type ExternalMajorityOrigin = EnsureNever<Self::AccountId>;
+
+ /// 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<Self::AccountId>;
+ 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>;
+}
runtime/common/config/pallets/governance/fellowship.rsdiffbeforeafterboth--- /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: <Runtime as frame_system::Config>::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<Self>;
+ type RuntimeCall = RuntimeCall;
+ type RuntimeEvent = RuntimeEvent;
+ type Scheduler = Scheduler;
+ type Currency = Balances;
+ type SubmitOrigin = pallet_ranked_collective::EnsureMember<Runtime, (), 1>;
+ type CancelOrigin = RootOrAllTechnicalCommittee;
+ type KillOrigin = RootOrAllTechnicalCommittee;
+ type Slash = Treasury;
+ type Votes = pallet_ranked_collective::Votes;
+ type Tally = pallet_ranked_collective::TallyOf<Runtime>;
+ 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<Self>;
+ type RuntimeEvent = RuntimeEvent;
+ // Promotion is by any of:
+ // - Council member.
+ // - Technical committee member.
+ type PromoteOrigin = FellowshipPromoteDemoteOrigin<Self::AccountId>;
+ // Demotion is by any of:
+ // - Council member.
+ // - Technical committee member.
+ type DemoteOrigin = FellowshipPromoteDemoteOrigin<Self::AccountId>;
+ type Polls = FellowshipReferenda;
+ type MinRankOfClass = ClassToRankMapper<Self, ()>;
+ type VoteWeight = pallet_ranked_collective::Geometric;
+}
+
+pub struct EnsureFellowshipProposition;
+impl<O> EnsureOrigin<O> for EnsureFellowshipProposition
+where
+ O: Into<Result<GovOrigins, O>> + From<GovOrigins>,
+{
+ type Success = AccountId;
+
+ fn try_origin(o: O) -> Result<Self::Success, O> {
+ 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<O, ()> {
+ Ok(O::from(GovOrigins::FellowshipProposition))
+ }
+}
+
+pub type FellowshipPromoteDemoteOrigin<AccountId> = EitherOf<
+ MapSuccess<EnsureRoot<AccountId>, Replace<ConstU16<65535>>>,
+ MapSuccess<MoreThanHalfCouncil, Replace<ConstU16<9>>>,
+>;
+
+pub struct TracksInfo;
+impl pallet_referenda::TracksInfo<Balance, BlockNumber> for TracksInfo {
+ type Id = u16;
+ type RuntimeOrigin = <RuntimeOrigin as frame_support::traits::OriginTrait>::PalletsOrigin;
+ fn tracks() -> &'static [(Self::Id, pallet_referenda::TrackInfo<Balance, BlockNumber>)] {
+ static DATA: [(u16, pallet_referenda::TrackInfo<Balance, BlockNumber>); 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<Self::Id, ()> {
+ #[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<T, I>(PhantomData<(T, I)>);
+
+//TODO: Remove the type when it appears in the release.
+pub type ClassOf<T, I = ()> = <<T as RankedConfig<I>>::Polls as Polling<TallyOf<T, I>>>::Class;
+
+impl<T, I> Convert<ClassOf<T, I>, Rank> for ClassToRankMapper<T, I>
+where
+ T: RankedConfig<I>,
+ ClassOf<T, I>: Into<Rank>,
+{
+ fn convert(track_id: ClassOf<T, I>) -> Rank {
+ match track_id.into() {
+ DEMOCRACY_TRACK_ID => 3,
+ other => other,
+ }
+ }
+}
runtime/common/config/pallets/governance/mod.rsdiffbeforeafterboth--- /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 <http://www.gnu.org/licenses/>.
+
+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<N: TypedGet>: TryMorph = |r: N::Type| -> Result<N::Type, ()> {
+ r.checked_sub(&N::get()).ok_or(())
+ } where N::Type: CheckedSub;
+}
+
+parameter_types! {
+ pub MaxCollectivesProposalWeight: Weight = Perbill::from_percent(80) * <Runtime as frame_system::Config>::BlockWeights::get().max_block;
+}
runtime/common/config/pallets/governance/scheduler.rsdiffbeforeafterboth--- /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) *
+ <Runtime as frame_system::Config>::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<AccountId>;
+ type MaxScheduledPerBlock = MaxScheduledPerBlock;
+ type WeightInfo = pallet_scheduler::weights::SubstrateWeight<Runtime>;
+ type OriginPrivilegeCmp = EqualPrivilegeOnly;
+ type Preimages = Preimage;
+}
runtime/common/config/pallets/governance/technical_committee.rsdiffbeforeafterboth--- /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<TechnicalCollective> 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<Runtime>;
+ type SetMembersOrigin = EnsureRoot<AccountId>;
+ type MaxProposalWeight = MaxCollectivesProposalWeight;
+}
+
+pub type TechnicalCollectiveMembership = pallet_membership::Instance2;
+impl pallet_membership::Config<TechnicalCollectiveMembership> for Runtime {
+ type RuntimeEvent = RuntimeEvent;
+ type AddOrigin = RootOrMoreThanHalfCouncil;
+ type RemoveOrigin = RootOrMoreThanHalfCouncil;
+ type SwapOrigin = RootOrMoreThanHalfCouncil;
+ type ResetOrigin = EnsureRoot<AccountId>;
+ type PrimeOrigin = EnsureRoot<AccountId>;
+ type MembershipInitialized = TechnicalCommittee;
+ type MembershipChanged = TechnicalCommittee;
+ type MaxMembers = TechnicalMaxMembers;
+ type WeightInfo = pallet_membership::weights::SubstrateWeight<Runtime>;
+}
+
+pub type TechnicalCommitteeMember = pallet_collective::EnsureMember<AccountId, TechnicalCollective>;
+
+pub type RootOrTechnicalCommitteeMember =
+ EitherOfDiverse<EnsureRoot<AccountId>, TechnicalCommitteeMember>;
+
+pub type AllTechnicalCommittee =
+ pallet_collective::EnsureProportionAtLeast<AccountId, TechnicalCollective, 1, 1>;
+
+pub type RootOrAllTechnicalCommittee =
+ EitherOfDiverse<EnsureRoot<AccountId>, AllTechnicalCommittee>;
runtime/common/config/pallets/mod.rsdiffbeforeafterboth--- a/runtime/common/config/pallets/mod.rs
+++ b/runtime/common/config/pallets/mod.rs
@@ -37,7 +37,7 @@
};
use sp_arithmetic::Perbill;
-#[cfg(feature = "scheduler")]
+#[cfg(feature = "unique-scheduler")]
pub mod scheduler;
#[cfg(feature = "foreign-assets")]
@@ -52,6 +52,9 @@
#[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_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<AccountId>;
+
+ type PreimageOrigin = frame_system::EnsureRoot<AccountId>;
+
#[cfg(feature = "preimage")]
type Preimages = crate::Preimage;
#[cfg(not(feature = "preimage"))]
runtime/common/config/xcm/mod.rsdiffbeforeafterboth--- a/runtime/common/config/xcm/mod.rs
+++ b/runtime/common/config/xcm/mod.rs
@@ -49,6 +49,9 @@
#[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 @@
type ChannelInfo = ParachainSystem;
type VersionWrapper = PolkadotXcm;
type ExecuteOverweightOrigin = frame_system::EnsureRoot<AccountId>;
- type ControllerOrigin = EnsureRoot<AccountId>;
+
+ #[cfg(feature = "governance")]
+ type ControllerOrigin = governance::RootOrTechnicalCommitteeMember;
+
+ #[cfg(not(feature = "governance"))]
+ type ControllerOrigin = frame_system::EnsureRoot<AccountId>;
+
type ControllerOriginConverter = XcmOriginToTransactDispatchOrigin;
type PriceForSiblingDelivery = ();
}
runtime/common/construct_runtime.rsdiffbeforeafterboth--- a/runtime/common/construct_runtime.rs
+++ b/runtime/common/construct_runtime.rs
@@ -60,6 +60,33 @@
#[cfg(feature = "preimage")]
Preimage: pallet_preimage = 41,
+ #[cfg(feature = "governance")]
+ Democracy: pallet_democracy = 42,
+
+ #[cfg(feature = "governance")]
+ Council: pallet_collective::<Instance1> = 43,
+
+ #[cfg(feature = "governance")]
+ TechnicalCommittee: pallet_collective::<Instance2> = 44,
+
+ #[cfg(feature = "governance")]
+ CouncilMembership: pallet_membership::<Instance1> = 45,
+
+ #[cfg(feature = "governance")]
+ TechnicalCommitteeMembership: pallet_membership::<Instance2> = 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 @@
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 @@
BalancesAdapter: pallet_balances_adapter = 155,
- #[cfg(feature = "pallet-test-utils")]
+ #[cfg(feature = "test-env")]
TestUtils: pallet_test_utils = 255,
}
}
runtime/common/maintenance.rsdiffbeforeafterboth--- a/runtime/common/maintenance.rs
+++ b/runtime/common/maintenance.rs
@@ -67,7 +67,7 @@
| 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 @@
| 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()),
runtime/common/mod.rsdiffbeforeafterboth--- a/runtime/common/mod.rs
+++ b/runtime/common/mod.rs
@@ -23,7 +23,7 @@
pub mod maintenance;
pub mod runtime_apis;
-#[cfg(feature = "scheduler")]
+#[cfg(feature = "unique-scheduler")]
pub mod scheduler;
pub mod sponsoring;
runtime/common/runtime_apis.rsdiffbeforeafterboth--- a/runtime/common/runtime_apis.rs
+++ b/runtime/common/runtime_apis.rs
@@ -598,7 +598,7 @@
#[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 @@
#[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")]
runtime/opal/Cargo.tomldiffbeforeafterboth--- a/runtime/opal/Cargo.toml
+++ b/runtime/opal/Cargo.toml
@@ -17,9 +17,16 @@
[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 @@
'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 @@
'sp-runtime/runtime-benchmarks',
'xcm-builder/runtime-benchmarks',
]
+state-version-0 = []
std = [
'codec/std',
'cumulus-pallet-aura-ext/std',
@@ -66,6 +80,13 @@
'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 @@
'orml-xtokens/try-runtime',
'pallet-app-promotion/try-runtime',
'pallet-aura/try-runtime',
+ 'pallet-balances-adapter/try-runtime',
'pallet-balances/try-runtime',
- 'pallet-balances-adapter/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 @@
'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 @@
app-promotion = []
collator-selection = []
foreign-assets = []
-pallet-test-utils = []
+governance = []
+test-env = []
preimage = []
refungible = []
-scheduler = []
+unique-scheduler = []
################################################################################
# local dependencies
@@ -282,6 +315,13 @@
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 @@
################################################################################
# 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 }
runtime/quartz/Cargo.tomldiffbeforeafterboth--- a/runtime/quartz/Cargo.toml
+++ b/runtime/quartz/Cargo.toml
@@ -18,10 +18,9 @@
[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 @@
'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 @@
'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 @@
'sp-runtime/runtime-benchmarks',
'xcm-builder/runtime-benchmarks',
]
+state-version-0 = []
std = [
'codec/std',
'cumulus-pallet-aura-ext/std',
@@ -65,8 +75,12 @@
'frame-system/std',
'frame-try-runtime/std',
'pallet-aura/std',
+ 'pallet-balances-adapter/std',
'pallet-balances/std',
- 'pallet-balances-adapter/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 @@
'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 @@
'orml-xtokens/try-runtime',
'pallet-app-promotion/try-runtime',
'pallet-aura/try-runtime',
+ 'pallet-balances-adapter/try-runtime',
'pallet-balances/try-runtime',
- 'pallet-balances-adapter/try-runtime',
'pallet-charge-transaction/try-runtime',
'pallet-common/try-runtime',
'pallet-configuration/try-runtime',
@@ -172,6 +193,13 @@
'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 @@
app-promotion = []
collator-selection = []
foreign-assets = []
+governance = []
preimage = []
refungible = []
-scheduler = []
+unique-scheduler = []
+test-env = []
################################################################################
# local dependencies
@@ -259,6 +289,13 @@
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 @@
################################################################################
# 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 }
runtime/quartz/src/governance_timings.rsdiffbeforeafterboth--- /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;
+ }
+}
runtime/quartz/src/lib.rsdiffbeforeafterboth--- a/runtime/quartz/src/lib.rs
+++ b/runtime/quartz/src/lib.rs
@@ -38,6 +38,7 @@
mod runtime_common;
+pub mod governance_timings;
pub mod xcm_barrier;
pub use runtime_common::*;
runtime/unique/Cargo.tomldiffbeforeafterboth--- a/runtime/unique/Cargo.toml
+++ b/runtime/unique/Cargo.toml
@@ -17,7 +17,6 @@
[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 @@
'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 @@
'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 @@
'up-data-structs/runtime-benchmarks',
'xcm-builder/runtime-benchmarks',
]
+state-version-0 = []
std = [
'codec/std',
'cumulus-pallet-aura-ext/std',
@@ -64,6 +74,10 @@
'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 @@
'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 @@
'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 @@
'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 @@
app-promotion = []
collator-selection = []
foreign-assets = []
+governance = []
preimage = []
refungible = []
-scheduler = []
+unique-scheduler = []
+test-env = []
################################################################################
# local dependencies
@@ -257,6 +291,13 @@
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 @@
################################################################################
# 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 }
runtime/unique/src/governance_timings.rsdiffbeforeafterboth--- /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;
+ }
+}
runtime/unique/src/lib.rsdiffbeforeafterboth--- a/runtime/unique/src/lib.rs
+++ b/runtime/unique/src/lib.rs
@@ -38,6 +38,7 @@
mod runtime_common;
+pub mod governance_timings;
pub mod xcm_barrier;
pub use runtime_common::*;
tests/package.jsondiffbeforeafterboth--- 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
tests/src/eth/scheduling.test.tsdiffbeforeafterboth--- a/tests/src/eth/scheduling.test.ts
+++ b/tests/src/eth/scheduling.test.ts
@@ -26,7 +26,7 @@
});
});
- 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);
tests/src/governance/council.test.tsdiffbeforeafterboth--- /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');
+ });
+
+});
tests/src/governance/democracy.test.tsdiffbeforeafterboth--- /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/);
+ });
+});
tests/src/governance/fellowship.test.tsdiffbeforeafterboth--- /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));
+ });
+});
tests/src/governance/technicalCommittee.test.tsdiffbeforeafterboth--- /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');
+ });
+});
tests/src/governance/util.tsdiffbeforeafterboth--- /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(),
+ };
+}
tests/src/interfaces/augment-api-consts.tsdiffbeforeafterboth--- 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<ApiType extends ApiTypes> = AugmentedConst<ApiType>;
@@ -118,6 +118,82 @@
**/
[key: string]: Codec;
};
+ council: {
+ /**
+ * The maximum weight of a dispatch call that can be proposed and executed.
+ **/
+ maxProposalWeight: SpWeightsWeightV2Weight & AugmentedConst<ApiType>;
+ /**
+ * Generic const
+ **/
+ [key: string]: Codec;
+ };
+ democracy: {
+ /**
+ * Period in blocks where an external proposal may not be re-submitted after being vetoed.
+ **/
+ cooloffPeriod: u32 & AugmentedConst<ApiType>;
+ /**
+ * 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<ApiType>;
+ /**
+ * Minimum voting period allowed for a fast-track referendum.
+ **/
+ fastTrackVotingPeriod: u32 & AugmentedConst<ApiType>;
+ /**
+ * 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<ApiType>;
+ /**
+ * How often (in blocks) new public referenda are launched.
+ **/
+ launchPeriod: u32 & AugmentedConst<ApiType>;
+ /**
+ * The maximum number of items which can be blacklisted.
+ **/
+ maxBlacklisted: u32 & AugmentedConst<ApiType>;
+ /**
+ * The maximum number of deposits a public proposal may have at any time.
+ **/
+ maxDeposits: u32 & AugmentedConst<ApiType>;
+ /**
+ * The maximum number of public proposals that can exist at any time.
+ **/
+ maxProposals: u32 & AugmentedConst<ApiType>;
+ /**
+ * 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<ApiType>;
+ /**
+ * The minimum amount to be used as a deposit for a public referendum proposal.
+ **/
+ minimumDeposit: u128 & AugmentedConst<ApiType>;
+ /**
+ * 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<ApiType>;
+ /**
+ * How often (in blocks) to check for new votes.
+ **/
+ votingPeriod: u32 & AugmentedConst<ApiType>;
+ /**
+ * Generic const
+ **/
+ [key: string]: Codec;
+ };
evmContractHelpers: {
/**
* Address, under which magic contract will be available
@@ -128,6 +204,53 @@
**/
[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<ApiType>;
+ /**
+ * Maximum size of the referendum queue for a single track.
+ **/
+ maxQueued: u32 & AugmentedConst<ApiType>;
+ /**
+ * The minimum amount to be used as a deposit for a public referendum proposal.
+ **/
+ submissionDeposit: u128 & AugmentedConst<ApiType>;
+ /**
+ * Information concerning the different referendum tracks.
+ **/
+ tracks: Vec<ITuple<[u16, PalletReferendaTrackInfo]>> & AugmentedConst<ApiType>;
+ /**
+ * 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<ApiType>;
+ /**
+ * Generic const
+ **/
+ [key: string]: Codec;
+ };
+ govScheduler: {
+ /**
+ * The maximum weight that may be scheduled per block for any dispatchables.
+ **/
+ maximumWeight: SpWeightsWeightV2Weight & AugmentedConst<ApiType>;
+ /**
+ * 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<ApiType>;
+ /**
+ * Generic const
+ **/
+ [key: string]: Codec;
+ };
identity: {
/**
* The amount held on deposit for a registered identity
@@ -236,6 +359,16 @@
**/
[key: string]: Codec;
};
+ technicalCommittee: {
+ /**
+ * The maximum weight of a dispatch call that can be proposed and executed.
+ **/
+ maxProposalWeight: SpWeightsWeightV2Weight & AugmentedConst<ApiType>;
+ /**
+ * Generic const
+ **/
+ [key: string]: Codec;
+ };
timestamp: {
/**
* The minimum period between blocks. Beware that this is different to the *expected*
tests/src/interfaces/augment-api-errors.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-errors.ts
+++ b/tests/src/interfaces/augment-api-errors.ts
@@ -310,12 +310,179 @@
**/
[key: string]: AugmentedError<ApiType>;
};
+ council: {
+ /**
+ * Members are already initialized!
+ **/
+ AlreadyInitialized: AugmentedError<ApiType>;
+ /**
+ * Duplicate proposals not allowed
+ **/
+ DuplicateProposal: AugmentedError<ApiType>;
+ /**
+ * Duplicate vote ignored
+ **/
+ DuplicateVote: AugmentedError<ApiType>;
+ /**
+ * Account is not a member
+ **/
+ NotMember: AugmentedError<ApiType>;
+ /**
+ * Proposal must exist
+ **/
+ ProposalMissing: AugmentedError<ApiType>;
+ /**
+ * The close call was made too early, before the end of the voting.
+ **/
+ TooEarly: AugmentedError<ApiType>;
+ /**
+ * There can only be a maximum of `MaxProposals` active proposals.
+ **/
+ TooManyProposals: AugmentedError<ApiType>;
+ /**
+ * Mismatched index
+ **/
+ WrongIndex: AugmentedError<ApiType>;
+ /**
+ * The given length bound for the proposal was too low.
+ **/
+ WrongProposalLength: AugmentedError<ApiType>;
+ /**
+ * The given weight bound for the proposal was too low.
+ **/
+ WrongProposalWeight: AugmentedError<ApiType>;
+ /**
+ * Generic error
+ **/
+ [key: string]: AugmentedError<ApiType>;
+ };
+ councilMembership: {
+ /**
+ * Already a member.
+ **/
+ AlreadyMember: AugmentedError<ApiType>;
+ /**
+ * Not a member.
+ **/
+ NotMember: AugmentedError<ApiType>;
+ /**
+ * Too many members.
+ **/
+ TooManyMembers: AugmentedError<ApiType>;
+ /**
+ * Generic error
+ **/
+ [key: string]: AugmentedError<ApiType>;
+ };
cumulusXcm: {
/**
* Generic error
**/
[key: string]: AugmentedError<ApiType>;
};
+ democracy: {
+ /**
+ * Cannot cancel the same proposal twice
+ **/
+ AlreadyCanceled: AugmentedError<ApiType>;
+ /**
+ * The account is already delegating.
+ **/
+ AlreadyDelegating: AugmentedError<ApiType>;
+ /**
+ * Identity may not veto a proposal twice
+ **/
+ AlreadyVetoed: AugmentedError<ApiType>;
+ /**
+ * Proposal already made
+ **/
+ DuplicateProposal: AugmentedError<ApiType>;
+ /**
+ * The instant referendum origin is currently disallowed.
+ **/
+ InstantNotAllowed: AugmentedError<ApiType>;
+ /**
+ * Too high a balance was provided that the account cannot afford.
+ **/
+ InsufficientFunds: AugmentedError<ApiType>;
+ /**
+ * Invalid hash
+ **/
+ InvalidHash: AugmentedError<ApiType>;
+ /**
+ * Maximum number of votes reached.
+ **/
+ MaxVotesReached: AugmentedError<ApiType>;
+ /**
+ * No proposals waiting
+ **/
+ NoneWaiting: AugmentedError<ApiType>;
+ /**
+ * Delegation to oneself makes no sense.
+ **/
+ Nonsense: AugmentedError<ApiType>;
+ /**
+ * The actor has no permission to conduct the action.
+ **/
+ NoPermission: AugmentedError<ApiType>;
+ /**
+ * No external proposal
+ **/
+ NoProposal: AugmentedError<ApiType>;
+ /**
+ * The account is not currently delegating.
+ **/
+ NotDelegating: AugmentedError<ApiType>;
+ /**
+ * Next external proposal not simple majority
+ **/
+ NotSimpleMajority: AugmentedError<ApiType>;
+ /**
+ * The given account did not vote on the referendum.
+ **/
+ NotVoter: AugmentedError<ApiType>;
+ /**
+ * The preimage does not exist.
+ **/
+ PreimageNotExist: AugmentedError<ApiType>;
+ /**
+ * Proposal still blacklisted
+ **/
+ ProposalBlacklisted: AugmentedError<ApiType>;
+ /**
+ * Proposal does not exist
+ **/
+ ProposalMissing: AugmentedError<ApiType>;
+ /**
+ * Vote given for invalid referendum
+ **/
+ ReferendumInvalid: AugmentedError<ApiType>;
+ /**
+ * Maximum number of items reached.
+ **/
+ TooMany: AugmentedError<ApiType>;
+ /**
+ * Value too low
+ **/
+ ValueLow: AugmentedError<ApiType>;
+ /**
+ * 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<ApiType>;
+ /**
+ * Voting period too low
+ **/
+ VotingPeriodLow: AugmentedError<ApiType>;
+ /**
+ * Invalid upper bound.
+ **/
+ WrongUpperBound: AugmentedError<ApiType>;
+ /**
+ * Generic error
+ **/
+ [key: string]: AugmentedError<ApiType>;
+ };
dmpQueue: {
/**
* The amount of weight given is possibly not enough for executing the message.
@@ -438,6 +605,106 @@
**/
[key: string]: AugmentedError<ApiType>;
};
+ fellowshipCollective: {
+ /**
+ * Account is already a member.
+ **/
+ AlreadyMember: AugmentedError<ApiType>;
+ /**
+ * Unexpected error in state.
+ **/
+ Corruption: AugmentedError<ApiType>;
+ /**
+ * The information provided is incorrect.
+ **/
+ InvalidWitness: AugmentedError<ApiType>;
+ /**
+ * There are no further records to be removed.
+ **/
+ NoneRemaining: AugmentedError<ApiType>;
+ /**
+ * The origin is not sufficiently privileged to do the operation.
+ **/
+ NoPermission: AugmentedError<ApiType>;
+ /**
+ * Account is not a member.
+ **/
+ NotMember: AugmentedError<ApiType>;
+ /**
+ * The given poll index is unknown or has closed.
+ **/
+ NotPolling: AugmentedError<ApiType>;
+ /**
+ * The given poll is still ongoing.
+ **/
+ Ongoing: AugmentedError<ApiType>;
+ /**
+ * The member's rank is too low to vote.
+ **/
+ RankTooLow: AugmentedError<ApiType>;
+ /**
+ * Generic error
+ **/
+ [key: string]: AugmentedError<ApiType>;
+ };
+ fellowshipReferenda: {
+ /**
+ * The referendum index provided is invalid in this context.
+ **/
+ BadReferendum: AugmentedError<ApiType>;
+ /**
+ * The referendum status is invalid for this operation.
+ **/
+ BadStatus: AugmentedError<ApiType>;
+ /**
+ * The track identifier given was invalid.
+ **/
+ BadTrack: AugmentedError<ApiType>;
+ /**
+ * There are already a full complement of referenda in progress for this track.
+ **/
+ Full: AugmentedError<ApiType>;
+ /**
+ * Referendum's decision deposit is already paid.
+ **/
+ HasDeposit: AugmentedError<ApiType>;
+ /**
+ * The deposit cannot be refunded since none was made.
+ **/
+ NoDeposit: AugmentedError<ApiType>;
+ /**
+ * The deposit refunder is not the depositor.
+ **/
+ NoPermission: AugmentedError<ApiType>;
+ /**
+ * There was nothing to do in the advancement.
+ **/
+ NothingToDo: AugmentedError<ApiType>;
+ /**
+ * Referendum is not ongoing.
+ **/
+ NotOngoing: AugmentedError<ApiType>;
+ /**
+ * No track exists for the proposal origin.
+ **/
+ NoTrack: AugmentedError<ApiType>;
+ /**
+ * The preimage does not exist.
+ **/
+ PreimageNotExist: AugmentedError<ApiType>;
+ /**
+ * The queue of the track is empty.
+ **/
+ QueueEmpty: AugmentedError<ApiType>;
+ /**
+ * Any deposit cannot be refunded until after the decision is over.
+ **/
+ Unfinished: AugmentedError<ApiType>;
+ /**
+ * Generic error
+ **/
+ [key: string]: AugmentedError<ApiType>;
+ };
foreignAssets: {
/**
* AssetId exists
@@ -495,6 +762,32 @@
**/
[key: string]: AugmentedError<ApiType>;
};
+ govScheduler: {
+ /**
+ * Failed to schedule a call
+ **/
+ FailedToSchedule: AugmentedError<ApiType>;
+ /**
+ * Attempt to use a non-named function on a named task.
+ **/
+ Named: AugmentedError<ApiType>;
+ /**
+ * Cannot find the scheduled call.
+ **/
+ NotFound: AugmentedError<ApiType>;
+ /**
+ * Reschedule failed because it does not change scheduled time.
+ **/
+ RescheduleNoChange: AugmentedError<ApiType>;
+ /**
+ * Given target block number is in the past.
+ **/
+ TargetBlockNumberInPast: AugmentedError<ApiType>;
+ /**
+ * Generic error
+ **/
+ [key: string]: AugmentedError<ApiType>;
+ };
identity: {
/**
* Account ID is already named.
@@ -913,6 +1206,70 @@
**/
[key: string]: AugmentedError<ApiType>;
};
+ technicalCommittee: {
+ /**
+ * Members are already initialized!
+ **/
+ AlreadyInitialized: AugmentedError<ApiType>;
+ /**
+ * Duplicate proposals not allowed
+ **/
+ DuplicateProposal: AugmentedError<ApiType>;
+ /**
+ * Duplicate vote ignored
+ **/
+ DuplicateVote: AugmentedError<ApiType>;
+ /**
+ * Account is not a member
+ **/
+ NotMember: AugmentedError<ApiType>;
+ /**
+ * Proposal must exist
+ **/
+ ProposalMissing: AugmentedError<ApiType>;
+ /**
+ * The close call was made too early, before the end of the voting.
+ **/
+ TooEarly: AugmentedError<ApiType>;
+ /**
+ * There can only be a maximum of `MaxProposals` active proposals.
+ **/
+ TooManyProposals: AugmentedError<ApiType>;
+ /**
+ * Mismatched index
+ **/
+ WrongIndex: AugmentedError<ApiType>;
+ /**
+ * The given length bound for the proposal was too low.
+ **/
+ WrongProposalLength: AugmentedError<ApiType>;
+ /**
+ * The given weight bound for the proposal was too low.
+ **/
+ WrongProposalWeight: AugmentedError<ApiType>;
+ /**
+ * Generic error
+ **/
+ [key: string]: AugmentedError<ApiType>;
+ };
+ technicalCommitteeMembership: {
+ /**
+ * Already a member.
+ **/
+ AlreadyMember: AugmentedError<ApiType>;
+ /**
+ * Not a member.
+ **/
+ NotMember: AugmentedError<ApiType>;
+ /**
+ * Too many members.
+ **/
+ TooManyMembers: AugmentedError<ApiType>;
+ /**
+ * Generic error
+ **/
+ [key: string]: AugmentedError<ApiType>;
+ };
testUtils: {
TestPalletDisabled: AugmentedError<ApiType>;
TriggerRollback: AugmentedError<ApiType>;
tests/src/interfaces/augment-api-events.tsdiffbeforeafterboth--- 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<ApiType extends ApiTypes> = AugmentedEvent<ApiType>;
@@ -259,6 +260,72 @@
**/
[key: string]: AugmentedEvent<ApiType>;
};
+ council: {
+ /**
+ * A motion was approved by the required threshold.
+ **/
+ Approved: AugmentedEvent<ApiType, [proposalHash: H256], { proposalHash: H256 }>;
+ /**
+ * A proposal was closed because its threshold was reached or after its duration was up.
+ **/
+ Closed: AugmentedEvent<ApiType, [proposalHash: H256, yes: u32, no: u32], { proposalHash: H256, yes: u32, no: u32 }>;
+ /**
+ * A motion was not approved by the required threshold.
+ **/
+ Disapproved: AugmentedEvent<ApiType, [proposalHash: H256], { proposalHash: H256 }>;
+ /**
+ * A motion was executed; result will be `Ok` if it returned without error.
+ **/
+ Executed: AugmentedEvent<ApiType, [proposalHash: H256, result: Result<Null, SpRuntimeDispatchError>], { proposalHash: H256, result: Result<Null, SpRuntimeDispatchError> }>;
+ /**
+ * A single member did some action; result will be `Ok` if it returned without error.
+ **/
+ MemberExecuted: AugmentedEvent<ApiType, [proposalHash: H256, result: Result<Null, SpRuntimeDispatchError>], { proposalHash: H256, result: Result<Null, SpRuntimeDispatchError> }>;
+ /**
+ * A motion (given hash) has been proposed (by given account) with a threshold (given
+ * `MemberCount`).
+ **/
+ Proposed: AugmentedEvent<ApiType, [account: AccountId32, proposalIndex: u32, proposalHash: H256, threshold: u32], { account: AccountId32, proposalIndex: u32, proposalHash: H256, threshold: u32 }>;
+ /**
+ * 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<ApiType, [account: AccountId32, proposalHash: H256, voted: bool, yes: u32, no: u32], { account: AccountId32, proposalHash: H256, voted: bool, yes: u32, no: u32 }>;
+ /**
+ * Generic event
+ **/
+ [key: string]: AugmentedEvent<ApiType>;
+ };
+ councilMembership: {
+ /**
+ * Phantom member, never used.
+ **/
+ Dummy: AugmentedEvent<ApiType, []>;
+ /**
+ * One of the members' keys changed.
+ **/
+ KeyChanged: AugmentedEvent<ApiType, []>;
+ /**
+ * The given member was added; see the transaction for who.
+ **/
+ MemberAdded: AugmentedEvent<ApiType, []>;
+ /**
+ * The given member was removed; see the transaction for who.
+ **/
+ MemberRemoved: AugmentedEvent<ApiType, []>;
+ /**
+ * The membership was reset; see the transaction for who the new set is.
+ **/
+ MembersReset: AugmentedEvent<ApiType, []>;
+ /**
+ * Two members were swapped; see the transaction for who.
+ **/
+ MembersSwapped: AugmentedEvent<ApiType, []>;
+ /**
+ * Generic event
+ **/
+ [key: string]: AugmentedEvent<ApiType>;
+ };
cumulusXcm: {
/**
* Downward message executed with the given outcome.
@@ -280,6 +347,80 @@
**/
[key: string]: AugmentedEvent<ApiType>;
};
+ democracy: {
+ /**
+ * A proposal_hash has been blacklisted permanently.
+ **/
+ Blacklisted: AugmentedEvent<ApiType, [proposalHash: H256], { proposalHash: H256 }>;
+ /**
+ * A referendum has been cancelled.
+ **/
+ Cancelled: AugmentedEvent<ApiType, [refIndex: u32], { refIndex: u32 }>;
+ /**
+ * An account has delegated their vote to another account.
+ **/
+ Delegated: AugmentedEvent<ApiType, [who: AccountId32, target: AccountId32], { who: AccountId32, target: AccountId32 }>;
+ /**
+ * An external proposal has been tabled.
+ **/
+ ExternalTabled: AugmentedEvent<ApiType, []>;
+ /**
+ * Metadata for a proposal or a referendum has been cleared.
+ **/
+ MetadataCleared: AugmentedEvent<ApiType, [owner: PalletDemocracyMetadataOwner, hash_: H256], { owner: PalletDemocracyMetadataOwner, hash_: H256 }>;
+ /**
+ * Metadata for a proposal or a referendum has been set.
+ **/
+ MetadataSet: AugmentedEvent<ApiType, [owner: PalletDemocracyMetadataOwner, hash_: H256], { owner: PalletDemocracyMetadataOwner, hash_: H256 }>;
+ /**
+ * Metadata has been transferred to new owner.
+ **/
+ MetadataTransferred: AugmentedEvent<ApiType, [prevOwner: PalletDemocracyMetadataOwner, owner: PalletDemocracyMetadataOwner, hash_: H256], { prevOwner: PalletDemocracyMetadataOwner, owner: PalletDemocracyMetadataOwner, hash_: H256 }>;
+ /**
+ * A proposal has been rejected by referendum.
+ **/
+ NotPassed: AugmentedEvent<ApiType, [refIndex: u32], { refIndex: u32 }>;
+ /**
+ * A proposal has been approved by referendum.
+ **/
+ Passed: AugmentedEvent<ApiType, [refIndex: u32], { refIndex: u32 }>;
+ /**
+ * A proposal got canceled.
+ **/
+ ProposalCanceled: AugmentedEvent<ApiType, [propIndex: u32], { propIndex: u32 }>;
+ /**
+ * A motion has been proposed by a public account.
+ **/
+ Proposed: AugmentedEvent<ApiType, [proposalIndex: u32, deposit: u128], { proposalIndex: u32, deposit: u128 }>;
+ /**
+ * An account has secconded a proposal
+ **/
+ Seconded: AugmentedEvent<ApiType, [seconder: AccountId32, propIndex: u32], { seconder: AccountId32, propIndex: u32 }>;
+ /**
+ * A referendum has begun.
+ **/
+ Started: AugmentedEvent<ApiType, [refIndex: u32, threshold: PalletDemocracyVoteThreshold], { refIndex: u32, threshold: PalletDemocracyVoteThreshold }>;
+ /**
+ * A public proposal has been tabled for referendum vote.
+ **/
+ Tabled: AugmentedEvent<ApiType, [proposalIndex: u32, deposit: u128], { proposalIndex: u32, deposit: u128 }>;
+ /**
+ * An account has cancelled a previous delegation operation.
+ **/
+ Undelegated: AugmentedEvent<ApiType, [account: AccountId32], { account: AccountId32 }>;
+ /**
+ * An external proposal has been vetoed.
+ **/
+ Vetoed: AugmentedEvent<ApiType, [who: AccountId32, proposalHash: H256, until: u32], { who: AccountId32, proposalHash: H256, until: u32 }>;
+ /**
+ * An account has voted in a referendum
+ **/
+ Voted: AugmentedEvent<ApiType, [voter: AccountId32, refIndex: u32, vote: PalletDemocracyVoteAccountVote], { voter: AccountId32, refIndex: u32, vote: PalletDemocracyVoteAccountVote }>;
+ /**
+ * Generic event
+ **/
+ [key: string]: AugmentedEvent<ApiType>;
+ };
dmpQueue: {
/**
* Downward message executed with the given outcome.
@@ -378,6 +519,93 @@
**/
[key: string]: AugmentedEvent<ApiType>;
};
+ fellowshipCollective: {
+ /**
+ * A member `who` has been added.
+ **/
+ MemberAdded: AugmentedEvent<ApiType, [who: AccountId32], { who: AccountId32 }>;
+ /**
+ * The member `who` of given `rank` has been removed from the collective.
+ **/
+ MemberRemoved: AugmentedEvent<ApiType, [who: AccountId32, rank: u16], { who: AccountId32, rank: u16 }>;
+ /**
+ * The member `who`se rank has been changed to the given `rank`.
+ **/
+ RankChanged: AugmentedEvent<ApiType, [who: AccountId32, rank: u16], { who: AccountId32, rank: u16 }>;
+ /**
+ * The member `who` has voted for the `poll` with the given `vote` leading to an updated
+ * `tally`.
+ **/
+ Voted: AugmentedEvent<ApiType, [who: AccountId32, poll: u32, vote: PalletRankedCollectiveVoteRecord, tally: PalletRankedCollectiveTally], { who: AccountId32, poll: u32, vote: PalletRankedCollectiveVoteRecord, tally: PalletRankedCollectiveTally }>;
+ /**
+ * Generic event
+ **/
+ [key: string]: AugmentedEvent<ApiType>;
+ };
+ fellowshipReferenda: {
+ /**
+ * A referendum has been approved and its proposal has been scheduled.
+ **/
+ Approved: AugmentedEvent<ApiType, [index: u32], { index: u32 }>;
+ /**
+ * A referendum has been cancelled.
+ **/
+ Cancelled: AugmentedEvent<ApiType, [index: u32, tally: PalletRankedCollectiveTally], { index: u32, tally: PalletRankedCollectiveTally }>;
+ ConfirmAborted: AugmentedEvent<ApiType, [index: u32], { index: u32 }>;
+ /**
+ * A referendum has ended its confirmation phase and is ready for approval.
+ **/
+ Confirmed: AugmentedEvent<ApiType, [index: u32, tally: PalletRankedCollectiveTally], { index: u32, tally: PalletRankedCollectiveTally }>;
+ ConfirmStarted: AugmentedEvent<ApiType, [index: u32], { index: u32 }>;
+ /**
+ * The decision deposit has been placed.
+ **/
+ DecisionDepositPlaced: AugmentedEvent<ApiType, [index: u32, who: AccountId32, amount: u128], { index: u32, who: AccountId32, amount: u128 }>;
+ /**
+ * The decision deposit has been refunded.
+ **/
+ DecisionDepositRefunded: AugmentedEvent<ApiType, [index: u32, who: AccountId32, amount: u128], { index: u32, who: AccountId32, amount: u128 }>;
+ /**
+ * A referendum has moved into the deciding phase.
+ **/
+ DecisionStarted: AugmentedEvent<ApiType, [index: u32, track: u16, proposal: FrameSupportPreimagesBounded, tally: PalletRankedCollectiveTally], { index: u32, track: u16, proposal: FrameSupportPreimagesBounded, tally: PalletRankedCollectiveTally }>;
+ /**
+ * A deposit has been slashaed.
+ **/
+ DepositSlashed: AugmentedEvent<ApiType, [who: AccountId32, amount: u128], { who: AccountId32, amount: u128 }>;
+ /**
+ * A referendum has been killed.
+ **/
+ Killed: AugmentedEvent<ApiType, [index: u32, tally: PalletRankedCollectiveTally], { index: u32, tally: PalletRankedCollectiveTally }>;
+ /**
+ * Metadata for a referendum has been cleared.
+ **/
+ MetadataCleared: AugmentedEvent<ApiType, [index: u32, hash_: H256], { index: u32, hash_: H256 }>;
+ /**
+ * Metadata for a referendum has been set.
+ **/
+ MetadataSet: AugmentedEvent<ApiType, [index: u32, hash_: H256], { index: u32, hash_: H256 }>;
+ /**
+ * A proposal has been rejected by referendum.
+ **/
+ Rejected: AugmentedEvent<ApiType, [index: u32, tally: PalletRankedCollectiveTally], { index: u32, tally: PalletRankedCollectiveTally }>;
+ /**
+ * The submission deposit has been refunded.
+ **/
+ SubmissionDepositRefunded: AugmentedEvent<ApiType, [index: u32, who: AccountId32, amount: u128], { index: u32, who: AccountId32, amount: u128 }>;
+ /**
+ * A referendum has been submitted.
+ **/
+ Submitted: AugmentedEvent<ApiType, [index: u32, track: u16, proposal: FrameSupportPreimagesBounded], { index: u32, track: u16, proposal: FrameSupportPreimagesBounded }>;
+ /**
+ * A referendum has been timed out without being decided.
+ **/
+ TimedOut: AugmentedEvent<ApiType, [index: u32, tally: PalletRankedCollectiveTally], { index: u32, tally: PalletRankedCollectiveTally }>;
+ /**
+ * Generic event
+ **/
+ [key: string]: AugmentedEvent<ApiType>;
+ };
foreignAssets: {
/**
* The asset registered.
@@ -400,6 +628,36 @@
**/
[key: string]: AugmentedEvent<ApiType>;
};
+ govScheduler: {
+ /**
+ * The call for the provided hash was not found so the task has been aborted.
+ **/
+ CallUnavailable: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<U8aFixed>], { task: ITuple<[u32, u32]>, id: Option<U8aFixed> }>;
+ /**
+ * Canceled some task.
+ **/
+ Canceled: AugmentedEvent<ApiType, [when: u32, index: u32], { when: u32, index: u32 }>;
+ /**
+ * Dispatched some task.
+ **/
+ Dispatched: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<U8aFixed>, result: Result<Null, SpRuntimeDispatchError>], { task: ITuple<[u32, u32]>, id: Option<U8aFixed>, result: Result<Null, SpRuntimeDispatchError> }>;
+ /**
+ * The given task was unable to be renewed since the agenda is full at that block.
+ **/
+ PeriodicFailed: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<U8aFixed>], { task: ITuple<[u32, u32]>, id: Option<U8aFixed> }>;
+ /**
+ * The given task can never be executed since it is overweight.
+ **/
+ PermanentlyOverweight: AugmentedEvent<ApiType, [task: ITuple<[u32, u32]>, id: Option<U8aFixed>], { task: ITuple<[u32, u32]>, id: Option<U8aFixed> }>;
+ /**
+ * Scheduled some task.
+ **/
+ Scheduled: AugmentedEvent<ApiType, [when: u32, index: u32], { when: u32, index: u32 }>;
+ /**
+ * Generic event
+ **/
+ [key: string]: AugmentedEvent<ApiType>;
+ };
identity: {
/**
* A number of identities and associated info were forcibly inserted.
@@ -786,6 +1044,72 @@
**/
[key: string]: AugmentedEvent<ApiType>;
};
+ technicalCommittee: {
+ /**
+ * A motion was approved by the required threshold.
+ **/
+ Approved: AugmentedEvent<ApiType, [proposalHash: H256], { proposalHash: H256 }>;
+ /**
+ * A proposal was closed because its threshold was reached or after its duration was up.
+ **/
+ Closed: AugmentedEvent<ApiType, [proposalHash: H256, yes: u32, no: u32], { proposalHash: H256, yes: u32, no: u32 }>;
+ /**
+ * A motion was not approved by the required threshold.
+ **/
+ Disapproved: AugmentedEvent<ApiType, [proposalHash: H256], { proposalHash: H256 }>;
+ /**
+ * A motion was executed; result will be `Ok` if it returned without error.
+ **/
+ Executed: AugmentedEvent<ApiType, [proposalHash: H256, result: Result<Null, SpRuntimeDispatchError>], { proposalHash: H256, result: Result<Null, SpRuntimeDispatchError> }>;
+ /**
+ * A single member did some action; result will be `Ok` if it returned without error.
+ **/
+ MemberExecuted: AugmentedEvent<ApiType, [proposalHash: H256, result: Result<Null, SpRuntimeDispatchError>], { proposalHash: H256, result: Result<Null, SpRuntimeDispatchError> }>;
+ /**
+ * A motion (given hash) has been proposed (by given account) with a threshold (given
+ * `MemberCount`).
+ **/
+ Proposed: AugmentedEvent<ApiType, [account: AccountId32, proposalIndex: u32, proposalHash: H256, threshold: u32], { account: AccountId32, proposalIndex: u32, proposalHash: H256, threshold: u32 }>;
+ /**
+ * 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<ApiType, [account: AccountId32, proposalHash: H256, voted: bool, yes: u32, no: u32], { account: AccountId32, proposalHash: H256, voted: bool, yes: u32, no: u32 }>;
+ /**
+ * Generic event
+ **/
+ [key: string]: AugmentedEvent<ApiType>;
+ };
+ technicalCommitteeMembership: {
+ /**
+ * Phantom member, never used.
+ **/
+ Dummy: AugmentedEvent<ApiType, []>;
+ /**
+ * One of the members' keys changed.
+ **/
+ KeyChanged: AugmentedEvent<ApiType, []>;
+ /**
+ * The given member was added; see the transaction for who.
+ **/
+ MemberAdded: AugmentedEvent<ApiType, []>;
+ /**
+ * The given member was removed; see the transaction for who.
+ **/
+ MemberRemoved: AugmentedEvent<ApiType, []>;
+ /**
+ * The membership was reset; see the transaction for who the new set is.
+ **/
+ MembersReset: AugmentedEvent<ApiType, []>;
+ /**
+ * Two members were swapped; see the transaction for who.
+ **/
+ MembersSwapped: AugmentedEvent<ApiType, []>;
+ /**
+ * Generic event
+ **/
+ [key: string]: AugmentedEvent<ApiType>;
+ };
testUtils: {
BatchCompleted: AugmentedEvent<ApiType, []>;
ShouldRollback: AugmentedEvent<ApiType, []>;
tests/src/interfaces/augment-api-query.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-query.ts
+++ b/tests/src/interfaces/augment-api-query.ts
@@ -7,10 +7,10 @@
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<ApiType extends ApiTypes> = AugmentedQuery<ApiType, () => unknown>;
@@ -234,6 +234,122 @@
**/
[key: string]: QueryableStorageEntry<ApiType>;
};
+ council: {
+ /**
+ * The current members of the collective. This is stored sorted (just by value).
+ **/
+ members: AugmentedQuery<ApiType, () => Observable<Vec<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * The prime member that helps determine the default vote behavior in case of absentations.
+ **/
+ prime: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * Proposals so far.
+ **/
+ proposalCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * Actual proposal for a given hash, if it's current.
+ **/
+ proposalOf: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Option<Call>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>;
+ /**
+ * The hashes of the active proposals.
+ **/
+ proposals: AugmentedQuery<ApiType, () => Observable<Vec<H256>>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * Votes on a given proposal, if it is ongoing.
+ **/
+ voting: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Option<PalletCollectiveVotes>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>;
+ /**
+ * Generic query
+ **/
+ [key: string]: QueryableStorageEntry<ApiType>;
+ };
+ councilMembership: {
+ /**
+ * The current membership, stored as an ordered Vec.
+ **/
+ members: AugmentedQuery<ApiType, () => Observable<Vec<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * The current prime member, if one exists.
+ **/
+ prime: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * Generic query
+ **/
+ [key: string]: QueryableStorageEntry<ApiType>;
+ };
+ 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<ApiType, (arg: H256 | string | Uint8Array) => Observable<Option<ITuple<[u32, Vec<AccountId32>]>>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>;
+ /**
+ * Record of all proposals that have been subject to emergency cancellation.
+ **/
+ cancellations: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<bool>, [H256]> & QueryableStorageEntry<ApiType, [H256]>;
+ /**
+ * Those who have locked a deposit.
+ *
+ * TWOX-NOTE: Safe, as increasing integer keys are safe.
+ **/
+ depositOf: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<ITuple<[Vec<AccountId32>, u128]>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
+ /**
+ * True if the last referendum tabled was submitted externally. False if it was a public
+ * proposal.
+ **/
+ lastTabledWasExternal: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * The lowest referendum index representing an unbaked referendum. Equal to
+ * `ReferendumCount` if there isn't a unbaked referendum.
+ **/
+ lowestUnbaked: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * 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<ApiType, (arg: PalletDemocracyMetadataOwner | { External: any } | { Proposal: any } | { Referendum: any } | string | Uint8Array) => Observable<Option<H256>>, [PalletDemocracyMetadataOwner]> & QueryableStorageEntry<ApiType, [PalletDemocracyMetadataOwner]>;
+ /**
+ * 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<ApiType, () => Observable<Option<ITuple<[FrameSupportPreimagesBounded, PalletDemocracyVoteThreshold]>>>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * The number of (public) proposals that have been made so far.
+ **/
+ publicPropCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * The public proposals. Unsorted. The second item is the proposal.
+ **/
+ publicProps: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[u32, FrameSupportPreimagesBounded, AccountId32]>>>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * The next free referendum index, aka the number of referenda started so far.
+ **/
+ referendumCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * Information concerning any given referendum.
+ *
+ * TWOX-NOTE: SAFE as indexes are not under an attacker’s control.
+ **/
+ referendumInfoOf: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletDemocracyReferendumInfo>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
+ /**
+ * 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<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<PalletDemocracyVoteVoting>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
+ /**
+ * Generic query
+ **/
+ [key: string]: QueryableStorageEntry<ApiType>;
+ };
dmpQueue: {
/**
* The configuration.
@@ -379,6 +495,69 @@
**/
[key: string]: QueryableStorageEntry<ApiType>;
};
+ fellowshipCollective: {
+ /**
+ * The index of each ranks's member into the group of members who have at least that rank.
+ **/
+ idToIndex: AugmentedQuery<ApiType, (arg1: u16 | AnyNumber | Uint8Array, arg2: AccountId32 | string | Uint8Array) => Observable<Option<u32>>, [u16, AccountId32]> & QueryableStorageEntry<ApiType, [u16, AccountId32]>;
+ /**
+ * 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<ApiType, (arg1: u16 | AnyNumber | Uint8Array, arg2: u32 | AnyNumber | Uint8Array) => Observable<Option<AccountId32>>, [u16, u32]> & QueryableStorageEntry<ApiType, [u16, u32]>;
+ /**
+ * The number of members in the collective who have at least the rank according to the index
+ * of the vec.
+ **/
+ memberCount: AugmentedQuery<ApiType, (arg: u16 | AnyNumber | Uint8Array) => Observable<u32>, [u16]> & QueryableStorageEntry<ApiType, [u16]>;
+ /**
+ * The current members of the collective.
+ **/
+ members: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<PalletRankedCollectiveMemberRecord>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
+ /**
+ * Votes on a given proposal, if it is ongoing.
+ **/
+ voting: AugmentedQuery<ApiType, (arg1: u32 | AnyNumber | Uint8Array, arg2: AccountId32 | string | Uint8Array) => Observable<Option<PalletRankedCollectiveVoteRecord>>, [u32, AccountId32]> & QueryableStorageEntry<ApiType, [u32, AccountId32]>;
+ votingCleanup: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<Bytes>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
+ /**
+ * Generic query
+ **/
+ [key: string]: QueryableStorageEntry<ApiType>;
+ };
+ fellowshipReferenda: {
+ /**
+ * The number of referenda being decided currently.
+ **/
+ decidingCount: AugmentedQuery<ApiType, (arg: u16 | AnyNumber | Uint8Array) => Observable<u32>, [u16]> & QueryableStorageEntry<ApiType, [u16]>;
+ /**
+ * 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<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<H256>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
+ /**
+ * The next free referendum index, aka the number of referenda started so far.
+ **/
+ referendumCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * Information concerning any given referendum.
+ **/
+ referendumInfoFor: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Option<PalletReferendaReferendumInfo>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
+ /**
+ * 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<ApiType, (arg: u16 | AnyNumber | Uint8Array) => Observable<Vec<ITuple<[u32, u32]>>>, [u16]> & QueryableStorageEntry<ApiType, [u16]>;
+ /**
+ * Generic query
+ **/
+ [key: string]: QueryableStorageEntry<ApiType>;
+ };
foreignAssets: {
/**
* The storages for assets to fungible collection binding
@@ -432,6 +611,24 @@
**/
[key: string]: QueryableStorageEntry<ApiType>;
};
+ govScheduler: {
+ /**
+ * Items to be executed, indexed by the block number that they should be executed on.
+ **/
+ agenda: AugmentedQuery<ApiType, (arg: u32 | AnyNumber | Uint8Array) => Observable<Vec<Option<PalletSchedulerScheduled>>>, [u32]> & QueryableStorageEntry<ApiType, [u32]>;
+ incompleteSince: AugmentedQuery<ApiType, () => Observable<Option<u32>>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * 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<ApiType, (arg: U8aFixed | string | Uint8Array) => Observable<Option<ITuple<[u32, u32]>>>, [U8aFixed]> & QueryableStorageEntry<ApiType, [U8aFixed]>;
+ /**
+ * Generic query
+ **/
+ [key: string]: QueryableStorageEntry<ApiType>;
+ };
identity: {
/**
* Information that is pertinent to identify the entity behind an account.
@@ -834,7 +1031,7 @@
/**
* The next session keys for a validator.
**/
- nextKeys: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<OpalRuntimeRuntimeCommonSessionKeys>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
+ nextKeys: AugmentedQuery<ApiType, (arg: AccountId32 | string | Uint8Array) => Observable<Option<QuartzRuntimeRuntimeCommonSessionKeys>>, [AccountId32]> & QueryableStorageEntry<ApiType, [AccountId32]>;
/**
* True if the underlying economic identities or weighting behind the validators
* has changed in the queued validator set.
@@ -844,7 +1041,7 @@
* 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<ApiType, () => Observable<Vec<ITuple<[AccountId32, OpalRuntimeRuntimeCommonSessionKeys]>>>, []> & QueryableStorageEntry<ApiType, []>;
+ queuedKeys: AugmentedQuery<ApiType, () => Observable<Vec<ITuple<[AccountId32, QuartzRuntimeRuntimeCommonSessionKeys]>>>, []> & QueryableStorageEntry<ApiType, []>;
/**
* The current set of validators.
**/
@@ -975,6 +1172,50 @@
**/
[key: string]: QueryableStorageEntry<ApiType>;
};
+ technicalCommittee: {
+ /**
+ * The current members of the collective. This is stored sorted (just by value).
+ **/
+ members: AugmentedQuery<ApiType, () => Observable<Vec<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * The prime member that helps determine the default vote behavior in case of absentations.
+ **/
+ prime: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * Proposals so far.
+ **/
+ proposalCount: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * Actual proposal for a given hash, if it's current.
+ **/
+ proposalOf: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Option<Call>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>;
+ /**
+ * The hashes of the active proposals.
+ **/
+ proposals: AugmentedQuery<ApiType, () => Observable<Vec<H256>>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * Votes on a given proposal, if it is ongoing.
+ **/
+ voting: AugmentedQuery<ApiType, (arg: H256 | string | Uint8Array) => Observable<Option<PalletCollectiveVotes>>, [H256]> & QueryableStorageEntry<ApiType, [H256]>;
+ /**
+ * Generic query
+ **/
+ [key: string]: QueryableStorageEntry<ApiType>;
+ };
+ technicalCommitteeMembership: {
+ /**
+ * The current membership, stored as an ordered Vec.
+ **/
+ members: AugmentedQuery<ApiType, () => Observable<Vec<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * The current prime member, if one exists.
+ **/
+ prime: AugmentedQuery<ApiType, () => Observable<Option<AccountId32>>, []> & QueryableStorageEntry<ApiType, []>;
+ /**
+ * Generic query
+ **/
+ [key: string]: QueryableStorageEntry<ApiType>;
+ };
testUtils: {
enabled: AugmentedQuery<ApiType, () => Observable<bool>, []> & QueryableStorageEntry<ApiType, []>;
testValue: AugmentedQuery<ApiType, () => Observable<u32>, []> & QueryableStorageEntry<ApiType, []>;
tests/src/interfaces/augment-api-tx.tsdiffbeforeafterboth--- a/tests/src/interfaces/augment-api-tx.ts
+++ b/tests/src/interfaces/augment-api-tx.ts
@@ -7,10 +7,10 @@
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<ApiType extends ApiTypes> = SubmittableExtrinsic<ApiType>;
@@ -289,12 +289,455 @@
**/
[key: string]: SubmittableExtrinsicFunction<ApiType>;
};
+ 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::<u32>() == 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<u32> | AnyNumber | Uint8Array, proposalWeightBound: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array, lengthBound: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256, Compact<u32>, SpWeightsWeightV2Weight, Compact<u32>]>;
+ /**
+ * 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<ApiType>, [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<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call, Compact<u32>]>;
+ /**
+ * 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<u32> | AnyNumber | Uint8Array, proposal: Call | IMethod | string | Uint8Array, lengthBound: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, Call, Compact<u32>]>;
+ /**
+ * 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> | (AccountId32 | string | Uint8Array)[], prime: Option<AccountId32> | null | Uint8Array | AccountId32 | string, oldCount: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Vec<AccountId32>, Option<AccountId32>, 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<u32> | AnyNumber | Uint8Array, approve: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256, Compact<u32>, bool]>;
+ /**
+ * Generic tx
+ **/
+ [key: string]: SubmittableExtrinsicFunction<ApiType>;
+ };
+ 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<ApiType>, [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<ApiType>, [MultiAddress]>;
+ /**
+ * Remove the prime member if it exists.
+ *
+ * May only be called from `T::PrimeOrigin`.
+ **/
+ clearPrime: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+ /**
+ * 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<ApiType>, [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> | (AccountId32 | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<AccountId32>]>;
+ /**
+ * 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<ApiType>, [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<ApiType>, [MultiAddress, MultiAddress]>;
+ /**
+ * Generic tx
+ **/
+ [key: string]: SubmittableExtrinsicFunction<ApiType>;
+ };
cumulusXcm: {
/**
* Generic tx
**/
[key: string]: SubmittableExtrinsicFunction<ApiType>;
};
+ 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<u32> | null | Uint8Array | u32 | AnyNumber) => SubmittableExtrinsic<ApiType>, [H256, Option<u32>]>;
+ /**
+ * 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::<T>::decode_len()`
+ **/
+ cancelProposal: AugmentedSubmittable<(propIndex: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>]>;
+ /**
+ * 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<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>]>;
+ /**
+ * Clears all public proposals.
+ *
+ * The dispatch origin of this call must be _Root_.
+ *
+ * Weight: `O(1)`.
+ **/
+ clearPublicProposals: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+ /**
+ * 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<ApiType>, [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<ApiType>, [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<ApiType>, [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<ApiType>, [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<ApiType>, [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<ApiType>, [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<u128> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [FrameSupportPreimagesBounded, Compact<u128>]>;
+ /**
+ * 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<ApiType>, [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<ApiType>, [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<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>]>;
+ /**
+ * 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<H256> | null | Uint8Array | H256 | string) => SubmittableExtrinsic<ApiType>, [PalletDemocracyMetadataOwner, Option<H256>]>;
+ /**
+ * 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<ApiType>, []>;
+ /**
+ * 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<ApiType>, [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<ApiType>, [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<u32> | AnyNumber | Uint8Array, vote: PalletDemocracyVoteAccountVote | { Standard: any } | { Split: any } | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, PalletDemocracyVoteAccountVote]>;
+ /**
+ * Generic tx
+ **/
+ [key: string]: SubmittableExtrinsicFunction<ApiType>;
+ };
dmpQueue: {
/**
* Service a single overweight message.
@@ -382,6 +825,174 @@
**/
[key: string]: SubmittableExtrinsicFunction<ApiType>;
};
+ 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<ApiType>, [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<ApiType>, [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<ApiType>, [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<ApiType>, [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<ApiType>, [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<ApiType>, [u32, bool]>;
+ /**
+ * Generic tx
+ **/
+ [key: string]: SubmittableExtrinsicFunction<ApiType>;
+ };
+ 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<ApiType>, [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<ApiType>, [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<ApiType>, [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<ApiType>, [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<ApiType>, [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<ApiType>, [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<ApiType>, [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<H256> | null | Uint8Array | H256 | string) => SubmittableExtrinsic<ApiType>, [u32, Option<H256>]>;
+ /**
+ * 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<ApiType>, [QuartzRuntimeOriginCaller, FrameSupportPreimagesBounded, FrameSupportScheduleDispatchTime]>;
+ /**
+ * Generic tx
+ **/
+ [key: string]: SubmittableExtrinsicFunction<ApiType>;
+ };
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<ApiType>, [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<ApiType>, [u32, XcmVersionedMultiLocation, PalletForeignAssetsModuleAssetMetadata]>;
@@ -390,6 +1001,36 @@
**/
[key: string]: SubmittableExtrinsicFunction<ApiType>;
};
+ govScheduler: {
+ /**
+ * Cancel an anonymously scheduled task.
+ **/
+ cancel: AugmentedSubmittable<(when: u32 | AnyNumber | Uint8Array, index: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, u32]>;
+ /**
+ * Cancel a named scheduled task.
+ **/
+ cancelNamed: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [U8aFixed]>;
+ /**
+ * Anonymously schedule a task.
+ **/
+ schedule: AugmentedSubmittable<(when: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Option<ITuple<[u32, u32]>>, u8, Call]>;
+ /**
+ * Anonymously schedule a task after a delay.
+ **/
+ scheduleAfter: AugmentedSubmittable<(after: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [u32, Option<ITuple<[u32, u32]>>, u8, Call]>;
+ /**
+ * Schedule a named task.
+ **/
+ scheduleNamed: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, when: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [U8aFixed, u32, Option<ITuple<[u32, u32]>>, u8, Call]>;
+ /**
+ * Schedule a named task after a delay.
+ **/
+ scheduleNamedAfter: AugmentedSubmittable<(id: U8aFixed | string | Uint8Array, after: u32 | AnyNumber | Uint8Array, maybePeriodic: Option<ITuple<[u32, u32]>> | null | Uint8Array | ITuple<[u32, u32]> | [u32 | AnyNumber | Uint8Array, u32 | AnyNumber | Uint8Array], priority: u8 | AnyNumber | Uint8Array, call: Call | IMethod | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [U8aFixed, u32, Option<ITuple<[u32, u32]>>, u8, Call]>;
+ /**
+ * Generic tx
+ **/
+ [key: string]: SubmittableExtrinsicFunction<ApiType>;
+ };
identity: {
/**
* Add a registrar to the system.
@@ -966,7 +1607,7 @@
* - `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<ApiType>, [OpalRuntimeRuntimeCommonSessionKeys, Bytes]>;
+ setKeys: AugmentedSubmittable<(keys: QuartzRuntimeRuntimeCommonSessionKeys | { aura?: any } | string | Uint8Array, proof: Bytes | string | Uint8Array) => SubmittableExtrinsic<ApiType>, [QuartzRuntimeRuntimeCommonSessionKeys, Bytes]>;
/**
* Generic tx
**/
@@ -1135,6 +1776,173 @@
**/
[key: string]: SubmittableExtrinsicFunction<ApiType>;
};
+ 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::<u32>() == 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<u32> | AnyNumber | Uint8Array, proposalWeightBound: SpWeightsWeightV2Weight | { refTime?: any; proofSize?: any } | string | Uint8Array, lengthBound: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256, Compact<u32>, SpWeightsWeightV2Weight, Compact<u32>]>;
+ /**
+ * 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<ApiType>, [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<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Call, Compact<u32>]>;
+ /**
+ * 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<u32> | AnyNumber | Uint8Array, proposal: Call | IMethod | string | Uint8Array, lengthBound: Compact<u32> | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Compact<u32>, Call, Compact<u32>]>;
+ /**
+ * 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> | (AccountId32 | string | Uint8Array)[], prime: Option<AccountId32> | null | Uint8Array | AccountId32 | string, oldCount: u32 | AnyNumber | Uint8Array) => SubmittableExtrinsic<ApiType>, [Vec<AccountId32>, Option<AccountId32>, 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<u32> | AnyNumber | Uint8Array, approve: bool | boolean | Uint8Array) => SubmittableExtrinsic<ApiType>, [H256, Compact<u32>, bool]>;
+ /**
+ * Generic tx
+ **/
+ [key: string]: SubmittableExtrinsicFunction<ApiType>;
+ };
+ 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<ApiType>, [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<ApiType>, [MultiAddress]>;
+ /**
+ * Remove the prime member if it exists.
+ *
+ * May only be called from `T::PrimeOrigin`.
+ **/
+ clearPrime: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
+ /**
+ * 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<ApiType>, [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> | (AccountId32 | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<AccountId32>]>;
+ /**
+ * 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<ApiType>, [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<ApiType>, [MultiAddress, MultiAddress]>;
+ /**
+ * Generic tx
+ **/
+ [key: string]: SubmittableExtrinsicFunction<ApiType>;
+ };
testUtils: {
batchAll: AugmentedSubmittable<(calls: Vec<Call> | (Call | IMethod | string | Uint8Array)[]) => SubmittableExtrinsic<ApiType>, [Vec<Call>]>;
enable: AugmentedSubmittable<() => SubmittableExtrinsic<ApiType>, []>;
tests/src/interfaces/augment-types.tsdiffbeforeafterboth--- 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 { 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 @@
ContractConstructorSpecV1: ContractConstructorSpecV1;
ContractConstructorSpecV2: ContractConstructorSpecV2;
ContractConstructorSpecV3: ContractConstructorSpecV3;
+ ContractConstructorSpecV4: ContractConstructorSpecV4;
ContractContractSpecV0: ContractContractSpecV0;
ContractContractSpecV1: ContractContractSpecV1;
ContractContractSpecV2: ContractContractSpecV2;
@@ -262,6 +263,7 @@
ContractCryptoHasher: ContractCryptoHasher;
ContractDiscriminant: ContractDiscriminant;
ContractDisplayName: ContractDisplayName;
+ ContractEnvironmentV4: ContractEnvironmentV4;
ContractEventParamSpecLatest: ContractEventParamSpecLatest;
ContractEventParamSpecV0: ContractEventParamSpecV0;
ContractEventParamSpecV2: ContractEventParamSpecV2;
@@ -298,6 +300,7 @@
ContractMessageSpecV0: ContractMessageSpecV0;
ContractMessageSpecV1: ContractMessageSpecV1;
ContractMessageSpecV2: ContractMessageSpecV2;
+ ContractMessageSpecV3: ContractMessageSpecV3;
ContractMetadata: ContractMetadata;
ContractMetadataLatest: ContractMetadataLatest;
ContractMetadataV0: ContractMetadataV0;
@@ -336,6 +339,7 @@
CumulusPalletXcmCall: CumulusPalletXcmCall;
CumulusPalletXcmError: CumulusPalletXcmError;
CumulusPalletXcmEvent: CumulusPalletXcmEvent;
+ CumulusPalletXcmOrigin: CumulusPalletXcmOrigin;
CumulusPalletXcmpQueueCall: CumulusPalletXcmpQueueCall;
CumulusPalletXcmpQueueError: CumulusPalletXcmpQueueError;
CumulusPalletXcmpQueueEvent: CumulusPalletXcmpQueueEvent;
@@ -534,7 +538,10 @@
FrameSupportDispatchPerDispatchClassU32: FrameSupportDispatchPerDispatchClassU32;
FrameSupportDispatchPerDispatchClassWeight: FrameSupportDispatchPerDispatchClassWeight;
FrameSupportDispatchPerDispatchClassWeightsPerClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;
+ FrameSupportDispatchRawOrigin: FrameSupportDispatchRawOrigin;
FrameSupportPalletId: FrameSupportPalletId;
+ FrameSupportPreimagesBounded: FrameSupportPreimagesBounded;
+ FrameSupportScheduleDispatchTime: FrameSupportScheduleDispatchTime;
FrameSupportTokensMiscBalanceStatus: FrameSupportTokensMiscBalanceStatus;
FrameSystemAccountInfo: FrameSystemAccountInfo;
FrameSystemCall: FrameSystemCall;
@@ -788,10 +795,6 @@
OffenceDetails: OffenceDetails;
Offender: Offender;
OldV1SessionInfo: OldV1SessionInfo;
- OpalRuntimeRuntime: OpalRuntimeRuntime;
- OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls: OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls;
- OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance;
- OpalRuntimeRuntimeCommonSessionKeys: OpalRuntimeRuntimeCommonSessionKeys;
OpaqueCall: OpaqueCall;
OpaqueKeyOwnershipProof: OpaqueKeyOwnershipProof;
OpaqueMetadata: OpaqueMetadata;
@@ -849,6 +852,11 @@
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 @@
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 @@
PalletForeignAssetsModuleEvent: PalletForeignAssetsModuleEvent;
PalletForeignAssetsNativeCurrency: PalletForeignAssetsNativeCurrency;
PalletFungibleError: PalletFungibleError;
+ PalletGovOriginsOrigin: PalletGovOriginsOrigin;
PalletId: PalletId;
PalletIdentityBitFlags: PalletIdentityBitFlags;
PalletIdentityCall: PalletIdentityCall;
@@ -899,6 +922,9 @@
PalletMaintenanceCall: PalletMaintenanceCall;
PalletMaintenanceError: PalletMaintenanceError;
PalletMaintenanceEvent: PalletMaintenanceEvent;
+ PalletMembershipCall: PalletMembershipCall;
+ PalletMembershipError: PalletMembershipError;
+ PalletMembershipEvent: PalletMembershipEvent;
PalletMetadataLatest: PalletMetadataLatest;
PalletMetadataV14: PalletMetadataV14;
PalletMetadataV15: PalletMetadataV15;
@@ -908,7 +934,26 @@
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 @@
PalletXcmCall: PalletXcmCall;
PalletXcmError: PalletXcmError;
PalletXcmEvent: PalletXcmEvent;
+ PalletXcmOrigin: PalletXcmOrigin;
PalletXcmQueryStatus: PalletXcmQueryStatus;
PalletXcmRemoteLockedFungibleRecord: PalletXcmRemoteLockedFungibleRecord;
PalletXcmVersionMigrationStage: PalletXcmVersionMigrationStage;
@@ -1021,6 +1067,11 @@
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 @@
SpCoreEd25519Signature: SpCoreEd25519Signature;
SpCoreSr25519Public: SpCoreSr25519Public;
SpCoreSr25519Signature: SpCoreSr25519Signature;
+ SpCoreVoid: SpCoreVoid;
SpecVersion: SpecVersion;
SpRuntimeDigest: SpRuntimeDigest;
SpRuntimeDigestDigestItem: SpRuntimeDigestDigestItem;
tests/src/interfaces/default/types.tsdiffbeforeafterboth--- 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 @@
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 @@
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;
@@ -708,21 +751,7 @@
readonly isInitialization: boolean;
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 @@
readonly type: 'InvulnerableAdded' | 'InvulnerableRemoved' | 'LicenseObtained' | 'LicenseReleased' | 'CandidateAdded' | 'CandidateRemoved';
}
+/** @name PalletCollectiveCall */
+export interface PalletCollectiveCall extends Enum {
+ readonly isSetMembers: boolean;
+ readonly asSetMembers: {
+ readonly newMembers: Vec<AccountId32>;
+ readonly prime: Option<AccountId32>;
+ readonly oldCount: u32;
+ } & Struct;
+ readonly isExecute: boolean;
+ readonly asExecute: {
+ readonly proposal: Call;
+ readonly lengthBound: Compact<u32>;
+ } & Struct;
+ readonly isPropose: boolean;
+ readonly asPropose: {
+ readonly threshold: Compact<u32>;
+ readonly proposal: Call;
+ readonly lengthBound: Compact<u32>;
+ } & Struct;
+ readonly isVote: boolean;
+ readonly asVote: {
+ readonly proposal: H256;
+ readonly index: Compact<u32>;
+ readonly approve: bool;
+ } & Struct;
+ readonly isDisapproveProposal: boolean;
+ readonly asDisapproveProposal: {
+ readonly proposalHash: H256;
+ } & Struct;
+ readonly isClose: boolean;
+ readonly asClose: {
+ readonly proposalHash: H256;
+ readonly index: Compact<u32>;
+ readonly proposalWeightBound: SpWeightsWeightV2Weight;
+ readonly lengthBound: Compact<u32>;
+ } & 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<Null, SpRuntimeDispatchError>;
+ } & Struct;
+ readonly isMemberExecuted: boolean;
+ readonly asMemberExecuted: {
+ readonly proposalHash: H256;
+ readonly result: Result<Null, SpRuntimeDispatchError>;
+ } & 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<AccountId32>;
+ readonly nays: Vec<AccountId32>;
+ readonly end: u32;
+}
+
/** @name PalletCommonError */
export interface PalletCommonError extends Enum {
readonly isCollectionNotFound: boolean;
@@ -1533,6 +1679,303 @@
readonly type: 'NewDesiredCollators' | 'NewCollatorLicenseBond' | 'NewCollatorKickThreshold';
}
+/** @name PalletDemocracyCall */
+export interface PalletDemocracyCall extends Enum {
+ readonly isPropose: boolean;
+ readonly asPropose: {
+ readonly proposal: FrameSupportPreimagesBounded;
+ readonly value: Compact<u128>;
+ } & Struct;
+ readonly isSecond: boolean;
+ readonly asSecond: {
+ readonly proposal: Compact<u32>;
+ } & Struct;
+ readonly isVote: boolean;
+ readonly asVote: {
+ readonly refIndex: Compact<u32>;
+ 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<u32>;
+ } & 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<u32>;
+ } & Struct;
+ readonly isCancelProposal: boolean;
+ readonly asCancelProposal: {
+ readonly propIndex: Compact<u32>;
+ } & Struct;
+ readonly isSetMetadata: boolean;
+ readonly asSetMetadata: {
+ readonly owner: PalletDemocracyMetadataOwner;
+ readonly maybeHash: Option<H256>;
+ } & 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<ITuple<[u32, PalletDemocracyVoteAccountVote]>>;
+ 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 @@
/** @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 @@
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 @@
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<AccountId32>;
+ } & 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 @@
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<H256>;
+ } & 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<u32>;
+}
+
+/** @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<PalletReferendaDeposit>, Option<PalletReferendaDeposit>]>;
+ readonly isRejected: boolean;
+ readonly asRejected: ITuple<[u32, Option<PalletReferendaDeposit>, Option<PalletReferendaDeposit>]>;
+ readonly isCancelled: boolean;
+ readonly asCancelled: ITuple<[u32, Option<PalletReferendaDeposit>, Option<PalletReferendaDeposit>]>;
+ readonly isTimedOut: boolean;
+ readonly asTimedOut: ITuple<[u32, Option<PalletReferendaDeposit>, Option<PalletReferendaDeposit>]>;
+ 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<PalletReferendaDeposit>;
+ readonly deciding: Option<PalletReferendaDecidingStatus>;
+ readonly tally: PalletRankedCollectiveTally;
+ readonly inQueue: bool;
+ readonly alarm: Option<ITuple<[u32, ITuple<[u32, u32]>]>>;
+}
+
+/** @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 @@
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<ITuple<[u32, u32]>>;
+ 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<ITuple<[u32, u32]>>;
+ 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<ITuple<[u32, u32]>>;
+ readonly priority: u8;
+ readonly call: Call;
+ } & Struct;
+ readonly isScheduleNamedAfter: boolean;
+ readonly asScheduleNamedAfter: {
+ readonly id: U8aFixed;
+ readonly after: u32;
+ readonly maybePeriodic: Option<ITuple<[u32, u32]>>;
+ 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<U8aFixed>;
+ readonly result: Result<Null, SpRuntimeDispatchError>;
+ } & Struct;
+ readonly isCallUnavailable: boolean;
+ readonly asCallUnavailable: {
+ readonly task: ITuple<[u32, u32]>;
+ readonly id: Option<U8aFixed>;
+ } & Struct;
+ readonly isPeriodicFailed: boolean;
+ readonly asPeriodicFailed: {
+ readonly task: ITuple<[u32, u32]>;
+ readonly id: Option<U8aFixed>;
+ } & Struct;
+ readonly isPermanentlyOverweight: boolean;
+ readonly asPermanentlyOverweight: {
+ readonly task: ITuple<[u32, u32]>;
+ readonly id: Option<U8aFixed>;
+ } & Struct;
+ readonly type: 'Scheduled' | 'Canceled' | 'Dispatched' | 'CallUnavailable' | 'PeriodicFailed' | 'PermanentlyOverweight';
+}
+
+/** @name PalletSchedulerScheduled */
+export interface PalletSchedulerScheduled extends Struct {
+ readonly maybeId: Option<U8aFixed>;
+ readonly priority: u8;
+ readonly call: FrameSupportPreimagesBounded;
+ readonly maybePeriodic: Option<ITuple<[u32, u32]>>;
+ 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 @@
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 @@
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 @@
/** @name SpCoreSr25519Signature */
export interface SpCoreSr25519Signature extends U8aFixed {}
+/** @name SpCoreVoid */
+export interface SpCoreVoid extends Null {}
+
/** @name SpRuntimeDigest */
export interface SpRuntimeDigest extends Struct {
readonly logs: Vec<SpRuntimeDigestDigestItem>;
tests/src/interfaces/lookup.tsdiffbeforeafterboth61 }61 }62 },62 },63 /**63 /**64 * Lookup19: frame_system::EventRecord<opal_runtime::RuntimeEvent, primitive_types::H256>64 * Lookup19: frame_system::EventRecord<quartz_runtime::RuntimeEvent, primitive_types::H256>65 **/65 **/66 FrameSystemEventRecord: {66 FrameSystemEventRecord: {67 phase: 'FrameSystemPhase',67 phase: 'FrameSystemPhase',806 }806 }807 },807 },808 /**808 /**809 * Lookup71: cumulus_pallet_xcmp_queue::pallet::Event<T>809 * Lookup71: pallet_democracy::pallet::Event<T>810 **/810 **/811 CumulusPalletXcmpQueueEvent: {811 PalletDemocracyEvent: {812 _enum: {812 _enum: {813 Success: {813 Proposed: {814 messageHash: 'Option<[u8;32]>',814 proposalIndex: 'u32',815 weight: 'SpWeightsWeightV2Weight',815 deposit: 'u128',816 },816 },817 Fail: {817 Tabled: {818 messageHash: 'Option<[u8;32]>',818 proposalIndex: 'u32',819 error: 'XcmV3TraitsError',819 deposit: 'u128',820 weight: 'SpWeightsWeightV2Weight',821 },820 },822 BadVersion: {821 ExternalTabled: 'Null',822 Started: {823 refIndex: 'u32',823 messageHash: 'Option<[u8;32]>',824 threshold: 'PalletDemocracyVoteThreshold',824 },825 },825 BadFormat: {826 Passed: {826 messageHash: 'Option<[u8;32]>',827 refIndex: 'u32',827 },828 },828 XcmpMessageSent: {829 NotPassed: {829 messageHash: 'Option<[u8;32]>',830 refIndex: 'u32',830 },831 },831 OverweightEnqueued: {832 Cancelled: {832 sender: 'u32',833 refIndex: 'u32',833 sentAt: 'u32',834 index: 'u64',835 required: 'SpWeightsWeightV2Weight',836 },834 },837 OverweightServiced: {835 Delegated: {838 index: 'u64',836 who: 'AccountId32',839 used: 'SpWeightsWeightV2Weight'837 target: 'AccountId32',840 }841 }842 },843 /**844 * Lookup72: xcm::v3::traits::Error845 **/846 XcmV3TraitsError: {847 _enum: {848 Overflow: 'Null',849 Unimplemented: 'Null',850 UntrustedReserveLocation: 'Null',851 UntrustedTeleportLocation: 'Null',852 LocationFull: 'Null',853 LocationNotInvertible: 'Null',854 BadOrigin: 'Null',855 InvalidLocation: 'Null',856 AssetNotFound: 'Null',857 FailedToTransactAsset: 'Null',858 NotWithdrawable: 'Null',859 LocationCannotHold: 'Null',860 ExceedsMaxMessageSize: 'Null',861 DestinationUnsupported: 'Null',862 Transport: 'Null',863 Unroutable: 'Null',864 UnknownClaim: 'Null',865 FailedToDecode: 'Null',866 MaxWeightInvalid: 'Null',867 NotHoldingFees: 'Null',868 TooExpensive: 'Null',869 Trap: 'u64',870 ExpectationFalse: 'Null',871 PalletNotFound: 'Null',872 NameMismatch: 'Null',873 VersionIncompatible: 'Null',874 HoldingWouldOverflow: 'Null',875 ExportError: 'Null',876 ReanchorFailed: 'Null',877 NoDeal: 'Null',878 FeesNotMet: 'Null',879 LockError: 'Null',880 NoPermission: 'Null',881 Unanchored: 'Null',882 NotDepositable: 'Null',883 UnhandledXcmVersion: 'Null',884 WeightLimitReached: 'SpWeightsWeightV2Weight',885 Barrier: 'Null',886 WeightNotComputable: 'Null',887 ExceedsStackLimit: 'Null'888 }889 },890 /**891 * Lookup74: pallet_xcm::pallet::Event<T>892 **/893 PalletXcmEvent: {894 _enum: {895 Attempted: 'XcmV3TraitsOutcome',896 Sent: '(XcmV3MultiLocation,XcmV3MultiLocation,XcmV3Xcm)',897 UnexpectedResponse: '(XcmV3MultiLocation,u64)',898 ResponseReady: '(u64,XcmV3Response)',899 Notified: '(u64,u8,u8)',900 NotifyOverweight: '(u64,u8,u8,SpWeightsWeightV2Weight,SpWeightsWeightV2Weight)',901 NotifyDispatchError: '(u64,u8,u8)',902 NotifyDecodeFailed: '(u64,u8,u8)',903 InvalidResponder: '(XcmV3MultiLocation,u64,Option<XcmV3MultiLocation>)',904 InvalidResponderVersion: '(XcmV3MultiLocation,u64)',905 ResponseTaken: 'u64',906 AssetsTrapped: '(H256,XcmV3MultiLocation,XcmVersionedMultiAssets)',907 VersionChangeNotified: '(XcmV3MultiLocation,u32,XcmV3MultiassetMultiAssets)',908 SupportedVersionChanged: '(XcmV3MultiLocation,u32)',909 NotifyTargetSendFail: '(XcmV3MultiLocation,u64,XcmV3TraitsError)',910 NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)',911 InvalidQuerierVersion: '(XcmV3MultiLocation,u64)',912 InvalidQuerier: '(XcmV3MultiLocation,u64,XcmV3MultiLocation,Option<XcmV3MultiLocation>)',913 VersionNotifyStarted: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)',914 VersionNotifyRequested: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)',915 VersionNotifyUnrequested: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)',916 FeesPaid: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)',917 AssetsClaimed: '(H256,XcmV3MultiLocation,XcmVersionedMultiAssets)'918 }919 },920 /**921 * Lookup75: xcm::v3::traits::Outcome922 **/923 XcmV3TraitsOutcome: {924 _enum: {925 Complete: 'SpWeightsWeightV2Weight',926 Incomplete: '(SpWeightsWeightV2Weight,XcmV3TraitsError)',927 Error: 'XcmV3TraitsError'928 }929 },930 /**931 * Lookup76: xcm::v3::Xcm<Call>932 **/933 XcmV3Xcm: 'Vec<XcmV3Instruction>',934 /**935 * Lookup78: xcm::v3::Instruction<Call>936 **/937 XcmV3Instruction: {938 _enum: {939 WithdrawAsset: 'XcmV3MultiassetMultiAssets',940 ReserveAssetDeposited: 'XcmV3MultiassetMultiAssets',941 ReceiveTeleportedAsset: 'XcmV3MultiassetMultiAssets',942 QueryResponse: {943 queryId: 'Compact<u64>',944 response: 'XcmV3Response',945 maxWeight: 'SpWeightsWeightV2Weight',946 querier: 'Option<XcmV3MultiLocation>',947 },838 },948 TransferAsset: {839 Undelegated: {949 assets: 'XcmV3MultiassetMultiAssets',840 account: 'AccountId32',950 beneficiary: 'XcmV3MultiLocation',951 },841 },952 TransferReserveAsset: {842 Vetoed: {953 assets: 'XcmV3MultiassetMultiAssets',843 who: 'AccountId32',954 dest: 'XcmV3MultiLocation',844 proposalHash: 'H256',955 xcm: 'XcmV3Xcm',845 until: 'u32',956 },846 },957 Transact: {847 Blacklisted: {958 originKind: 'XcmV2OriginKind',848 proposalHash: 'H256',959 requireWeightAtMost: 'SpWeightsWeightV2Weight',960 call: 'XcmDoubleEncoded',961 },849 },962 HrmpNewChannelOpenRequest: {850 Voted: {963 sender: 'Compact<u32>',851 voter: 'AccountId32',964 maxMessageSize: 'Compact<u32>',852 refIndex: 'u32',965 maxCapacity: 'Compact<u32>',853 vote: 'PalletDemocracyVoteAccountVote',966 },854 },967 HrmpChannelAccepted: {855 Seconded: {968 recipient: 'Compact<u32>',856 seconder: 'AccountId32',857 propIndex: 'u32',969 },858 },970 HrmpChannelClosing: {859 ProposalCanceled: {971 initiator: 'Compact<u32>',860 propIndex: 'u32',972 sender: 'Compact<u32>',973 recipient: 'Compact<u32>',974 },861 },975 ClearOrigin: 'Null',862 MetadataSet: {976 DescendOrigin: 'XcmV3Junctions',863 _alias: {977 ReportError: 'XcmV3QueryResponseInfo',864 hash_: 'hash',978 DepositAsset: {865 },979 assets: 'XcmV3MultiassetMultiAssetFilter',866 owner: 'PalletDemocracyMetadataOwner',980 beneficiary: 'XcmV3MultiLocation',867 hash_: 'H256',981 },868 },982 DepositReserveAsset: {869 MetadataCleared: {983 assets: 'XcmV3MultiassetMultiAssetFilter',870 _alias: {871 hash_: 'hash',872 },984 dest: 'XcmV3MultiLocation',873 owner: 'PalletDemocracyMetadataOwner',985 xcm: 'XcmV3Xcm',874 hash_: 'H256',986 },875 },987 ExchangeAsset: {876 MetadataTransferred: {988 give: 'XcmV3MultiassetMultiAssetFilter',877 _alias: {989 want: 'XcmV3MultiassetMultiAssets',878 hash_: 'hash',990 maximal: 'bool',879 },991 },880 prevOwner: 'PalletDemocracyMetadataOwner',992 InitiateReserveWithdraw: {881 owner: 'PalletDemocracyMetadataOwner',993 assets: 'XcmV3MultiassetMultiAssetFilter',882 hash_: 'H256'994 reserve: 'XcmV3MultiLocation',995 xcm: 'XcmV3Xcm',996 },997 InitiateTeleport: {998 assets: 'XcmV3MultiassetMultiAssetFilter',999 dest: 'XcmV3MultiLocation',1000 xcm: 'XcmV3Xcm',1001 },1002 ReportHolding: {1003 responseInfo: 'XcmV3QueryResponseInfo',1004 assets: 'XcmV3MultiassetMultiAssetFilter',1005 },1006 BuyExecution: {1007 fees: 'XcmV3MultiAsset',1008 weightLimit: 'XcmV3WeightLimit',1009 },1010 RefundSurplus: 'Null',1011 SetErrorHandler: 'XcmV3Xcm',1012 SetAppendix: 'XcmV3Xcm',1013 ClearError: 'Null',1014 ClaimAsset: {1015 assets: 'XcmV3MultiassetMultiAssets',1016 ticket: 'XcmV3MultiLocation',1017 },1018 Trap: 'Compact<u64>',1019 SubscribeVersion: {1020 queryId: 'Compact<u64>',1021 maxResponseWeight: 'SpWeightsWeightV2Weight',1022 },1023 UnsubscribeVersion: 'Null',1024 BurnAsset: 'XcmV3MultiassetMultiAssets',1025 ExpectAsset: 'XcmV3MultiassetMultiAssets',1026 ExpectOrigin: 'Option<XcmV3MultiLocation>',1027 ExpectError: 'Option<(u32,XcmV3TraitsError)>',1028 ExpectTransactStatus: 'XcmV3MaybeErrorCode',1029 QueryPallet: {1030 moduleName: 'Bytes',1031 responseInfo: 'XcmV3QueryResponseInfo',1032 },1033 ExpectPallet: {1034 index: 'Compact<u32>',1035 name: 'Bytes',1036 moduleName: 'Bytes',1037 crateMajor: 'Compact<u32>',1038 minCrateMinor: 'Compact<u32>',1039 },1040 ReportTransactStatus: 'XcmV3QueryResponseInfo',1041 ClearTransactStatus: 'Null',1042 UniversalOrigin: 'XcmV3Junction',1043 ExportMessage: {1044 network: 'XcmV3JunctionNetworkId',1045 destination: 'XcmV3Junctions',1046 xcm: 'XcmV3Xcm',1047 },1048 LockAsset: {1049 asset: 'XcmV3MultiAsset',1050 unlocker: 'XcmV3MultiLocation',1051 },1052 UnlockAsset: {1053 asset: 'XcmV3MultiAsset',1054 target: 'XcmV3MultiLocation',1055 },1056 NoteUnlockable: {1057 asset: 'XcmV3MultiAsset',1058 owner: 'XcmV3MultiLocation',1059 },1060 RequestUnlock: {1061 asset: 'XcmV3MultiAsset',1062 locker: 'XcmV3MultiLocation',1063 },1064 SetFeesMode: {1065 jitWithdraw: 'bool',1066 },1067 SetTopic: '[u8;32]',1068 ClearTopic: 'Null',1069 AliasOrigin: 'XcmV3MultiLocation',1070 UnpaidExecution: {1071 weightLimit: 'XcmV3WeightLimit',1072 checkOrigin: 'Option<XcmV3MultiLocation>'1073 }883 }1074 }884 }1075 },885 },1076 /**886 /**1077 * Lookup79: xcm::v3::Response887 * Lookup72: pallet_democracy::vote_threshold::VoteThreshold1078 **/888 **/1079 XcmV3Response: {889 PalletDemocracyVoteThreshold: {1080 _enum: {890 _enum: ['SuperMajorityApprove', 'SuperMajorityAgainst', 'SimpleMajority']1081 Null: 'Null',1082 Assets: 'XcmV3MultiassetMultiAssets',1083 ExecutionResult: 'Option<(u32,XcmV3TraitsError)>',1084 Version: 'u32',1085 PalletsInfo: 'Vec<XcmV3PalletInfo>',1086 DispatchResult: 'XcmV3MaybeErrorCode'1087 }1088 },891 },1089 /**892 /**1090 * Lookup83: xcm::v3::PalletInfo893 * Lookup73: pallet_democracy::vote::AccountVote<Balance>1091 **/894 **/1092 XcmV3PalletInfo: {895 PalletDemocracyVoteAccountVote: {1093 index: 'Compact<u32>',1094 name: 'Bytes',1095 moduleName: 'Bytes',1096 major: 'Compact<u32>',1097 minor: 'Compact<u32>',1098 patch: 'Compact<u32>'1099 },1100 /**1101 * Lookup86: xcm::v3::MaybeErrorCode1102 **/1103 XcmV3MaybeErrorCode: {1104 _enum: {896 _enum: {1105 Success: 'Null',897 Standard: {1106 Error: 'Bytes',1107 TruncatedError: 'Bytes'1108 }1109 },1110 /**1111 * Lookup89: xcm::v2::OriginKind1112 **/1113 XcmV2OriginKind: {1114 _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']1115 },1116 /**1117 * Lookup90: xcm::double_encoded::DoubleEncoded<T>1118 **/1119 XcmDoubleEncoded: {1120 encoded: 'Bytes'1121 },1122 /**1123 * Lookup91: xcm::v3::QueryResponseInfo1124 **/1125 XcmV3QueryResponseInfo: {1126 destination: 'XcmV3MultiLocation',1127 queryId: 'Compact<u64>',1128 maxWeight: 'SpWeightsWeightV2Weight'1129 },1130 /**1131 * Lookup92: xcm::v3::multiasset::MultiAssetFilter1132 **/1133 XcmV3MultiassetMultiAssetFilter: {1134 _enum: {1135 Definite: 'XcmV3MultiassetMultiAssets',1136 Wild: 'XcmV3MultiassetWildMultiAsset'1137 }1138 },1139 /**1140 * Lookup93: xcm::v3::multiasset::WildMultiAsset1141 **/1142 XcmV3MultiassetWildMultiAsset: {1143 _enum: {1144 All: 'Null',1145 AllOf: {1146 id: 'XcmV3MultiassetAssetId',898 vote: 'Vote',1147 fun: 'XcmV3MultiassetWildFungibility',899 balance: 'u128',1148 },900 },1149 AllCounted: 'Compact<u32>',901 Split: {1150 AllOfCounted: {1151 id: 'XcmV3MultiassetAssetId',1152 fun: 'XcmV3MultiassetWildFungibility',902 aye: 'u128',1153 count: 'Compact<u32>'903 nay: 'u128'1154 }904 }1155 }905 }1156 },906 },1157 /**907 /**1158 * Lookup94: xcm::v3::multiasset::WildFungibility908 * Lookup75: pallet_democracy::types::MetadataOwner1159 **/909 **/1160 XcmV3MultiassetWildFungibility: {910 PalletDemocracyMetadataOwner: {1161 _enum: ['Fungible', 'NonFungible']1162 },1163 /**1164 * Lookup96: xcm::v3::WeightLimit1165 **/1166 XcmV3WeightLimit: {1167 _enum: {911 _enum: {1168 Unlimited: 'Null',912 External: 'Null',1169 Limited: 'SpWeightsWeightV2Weight'913 Proposal: 'u32',914 Referendum: 'u32'1170 }915 }1171 },916 },1172 /**917 /**1173 * Lookup97: xcm::VersionedMultiAssets918 * Lookup76: pallet_collective::pallet::Event<T, I>1174 **/919 **/1175 XcmVersionedMultiAssets: {920 PalletCollectiveEvent: {1176 _enum: {921 _enum: {1177 __Unused0: 'Null',922 Proposed: {1178 V2: 'XcmV2MultiassetMultiAssets',1179 __Unused2: 'Null',1180 V3: 'XcmV3MultiassetMultiAssets'1181 }1182 },1183 /**1184 * Lookup98: xcm::v2::multiasset::MultiAssets1185 **/1186 XcmV2MultiassetMultiAssets: 'Vec<XcmV2MultiAsset>',1187 /**1188 * Lookup100: xcm::v2::multiasset::MultiAsset1189 **/1190 XcmV2MultiAsset: {1191 id: 'XcmV2MultiassetAssetId',923 account: 'AccountId32',1192 fun: 'XcmV2MultiassetFungibility'1193 },1194 /**924 proposalIndex: 'u32',1195 * Lookup101: xcm::v2::multiasset::AssetId1196 **/1197 XcmV2MultiassetAssetId: {1198 _enum: {1199 Concrete: 'XcmV2MultiLocation',1200 Abstract: 'Bytes'1201 }1202 },1203 /**1204 * Lookup102: xcm::v2::multilocation::MultiLocation1205 **/1206 XcmV2MultiLocation: {1207 parents: 'u8',1208 interior: 'XcmV2MultilocationJunctions'1209 },1210 /**1211 * Lookup103: xcm::v2::multilocation::Junctions1212 **/1213 XcmV2MultilocationJunctions: {1214 _enum: {1215 Here: 'Null',1216 X1: 'XcmV2Junction',1217 X2: '(XcmV2Junction,XcmV2Junction)',1218 X3: '(XcmV2Junction,XcmV2Junction,XcmV2Junction)',1219 X4: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)',1220 X5: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)',1221 X6: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)',1222 X7: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)',1223 X8: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)'1224 }1225 },1226 /**1227 * Lookup104: xcm::v2::junction::Junction1228 **/1229 XcmV2Junction: {1230 _enum: {1231 Parachain: 'Compact<u32>',1232 AccountId32: {925 proposalHash: 'H256',1233 network: 'XcmV2NetworkId',1234 id: '[u8;32]',926 threshold: 'u32',1235 },927 },1236 AccountIndex64: {928 Voted: {1237 network: 'XcmV2NetworkId',929 account: 'AccountId32',1238 index: 'Compact<u64>',930 proposalHash: 'H256',931 voted: 'bool',932 yes: 'u32',933 no: 'u32',1239 },934 },1240 AccountKey20: {935 Approved: {1241 network: 'XcmV2NetworkId',936 proposalHash: 'H256',1242 key: '[u8;20]',1243 },937 },1244 PalletInstance: 'u8',938 Disapproved: {939 proposalHash: 'H256',1245 GeneralIndex: 'Compact<u128>',940 },941 Executed: {942 proposalHash: 'H256',943 result: 'Result<Null, SpRuntimeDispatchError>',1246 GeneralKey: 'Bytes',944 },945 MemberExecuted: {946 proposalHash: 'H256',1247 OnlyChild: 'Null',947 result: 'Result<Null, SpRuntimeDispatchError>',1248 Plurality: {948 },949 Closed: {950 proposalHash: 'H256',1249 id: 'XcmV2BodyId',951 yes: 'u32',1250 part: 'XcmV2BodyPart'952 no: 'u32'1251 }953 }1252 }954 }1253 },955 },1254 /**956 /**1255 * Lookup105: xcm::v2::NetworkId957 * Lookup79: pallet_membership::pallet::Event<T, I>1256 **/958 **/1257 XcmV2NetworkId: {959 PalletMembershipEvent: {1258 _enum: {960 _enum: ['MemberAdded', 'MemberRemoved', 'MembersSwapped', 'MembersReset', 'KeyChanged', 'Dummy']1259 Any: 'Null',1260 Named: 'Bytes',1261 Polkadot: 'Null',1262 Kusama: 'Null'1263 }1264 },961 },1265 /**962 /**1266 * Lookup107: xcm::v2::BodyId963 * Lookup81: pallet_ranked_collective::pallet::Event<T, I>1267 **/964 **/1268 XcmV2BodyId: {965 PalletRankedCollectiveEvent: {1269 _enum: {966 _enum: {1270 Unit: 'Null',967 MemberAdded: {1271 Named: 'Bytes',1272 Index: 'Compact<u32>',1273 Executive: 'Null',1274 Technical: 'Null',1275 Legislative: 'Null',1276 Judicial: 'Null',1277 Defense: 'Null',1278 Administration: 'Null',1279 Treasury: 'Null'1280 }1281 },1282 /**1283 * Lookup108: xcm::v2::BodyPart1284 **/1285 XcmV2BodyPart: {1286 _enum: {1287 Voice: 'Null',1288 Members: {1289 count: 'Compact<u32>',968 who: 'AccountId32',1290 },969 },1291 Fraction: {970 RankChanged: {1292 nom: 'Compact<u32>',971 who: 'AccountId32',1293 denom: 'Compact<u32>',972 rank: 'u16',1294 },973 },1295 AtLeastProportion: {974 MemberRemoved: {1296 nom: 'Compact<u32>',975 who: 'AccountId32',1297 denom: 'Compact<u32>',976 rank: 'u16',1298 },977 },1299 MoreThanProportion: {978 Voted: {1300 nom: 'Compact<u32>',979 who: 'AccountId32',980 poll: 'u32',1301 denom: 'Compact<u32>'981 vote: 'PalletRankedCollectiveVoteRecord',982 tally: 'PalletRankedCollectiveTally'1302 }983 }1303 }984 }1304 },985 },1305 /**986 /**1306 * Lookup109: xcm::v2::multiasset::Fungibility987 * Lookup83: pallet_ranked_collective::VoteRecord1307 **/988 **/1308 XcmV2MultiassetFungibility: {989 PalletRankedCollectiveVoteRecord: {1309 _enum: {990 _enum: {1310 Fungible: 'Compact<u128>',991 Aye: 'u32',1311 NonFungible: 'XcmV2MultiassetAssetInstance'992 Nay: 'u32'1312 }993 }1313 },994 },1314 /**995 /**1315 * Lookup110: xcm::v2::multiasset::AssetInstance996 * Lookup84: pallet_ranked_collective::Tally<T, I, M>1316 **/997 **/1317 XcmV2MultiassetAssetInstance: {998 PalletRankedCollectiveTally: {1318 _enum: {999 bareAyes: 'u32',1319 Undefined: 'Null',1320 Index: 'Compact<u128>',1000 ayes: 'u32',1321 Array4: '[u8;4]',1001 nays: 'u32'1322 Array8: '[u8;8]',1323 Array16: '[u8;16]',1324 Array32: '[u8;32]',1325 Blob: 'Bytes'1326 }1327 },1002 },1328 /**1003 /**1329 * Lookup111: xcm::VersionedMultiLocation1004 * Lookup85: pallet_referenda::pallet::Event<T, I>1330 **/1005 **/1331 XcmVersionedMultiLocation: {1006 PalletReferendaEvent: {1332 _enum: {1007 _enum: {1333 __Unused0: 'Null',1008 Submitted: {1334 V2: 'XcmV2MultiLocation',1335 __Unused2: 'Null',1336 V3: 'XcmV3MultiLocation'1337 }1338 },1339 /**1340 * Lookup112: cumulus_pallet_xcm::pallet::Event<T>1341 **/1342 CumulusPalletXcmEvent: {1343 _enum: {1009 index: 'u32',1344 InvalidFormat: '[u8;32]',1345 UnsupportedVersion: '[u8;32]',1010 track: 'u16',1346 ExecutedDownward: '([u8;32],XcmV3TraitsOutcome)'1347 }1348 },1349 /**1350 * Lookup113: cumulus_pallet_dmp_queue::pallet::Event<T>1351 **/1352 CumulusPalletDmpQueueEvent: {1353 _enum: {1354 InvalidFormat: {1355 messageId: '[u8;32]',1011 proposal: 'FrameSupportPreimagesBounded',1356 },1012 },1357 UnsupportedVersion: {1013 DecisionDepositPlaced: {1358 messageId: '[u8;32]',1014 index: 'u32',1015 who: 'AccountId32',1016 amount: 'u128',1359 },1017 },1360 ExecutedDownward: {1018 DecisionDepositRefunded: {1361 messageId: '[u8;32]',1019 index: 'u32',1362 outcome: 'XcmV3TraitsOutcome',1020 who: 'AccountId32',1021 amount: 'u128',1363 },1022 },1364 WeightExhausted: {1023 DepositSlashed: {1365 messageId: '[u8;32]',1024 who: 'AccountId32',1366 remainingWeight: 'SpWeightsWeightV2Weight',1025 amount: 'u128',1367 requiredWeight: 'SpWeightsWeightV2Weight',1368 },1026 },1369 OverweightEnqueued: {1027 DecisionStarted: {1370 messageId: '[u8;32]',1028 index: 'u32',1371 overweightIndex: 'u64',1029 track: 'u16',1372 requiredWeight: 'SpWeightsWeightV2Weight',1030 proposal: 'FrameSupportPreimagesBounded',1031 tally: 'PalletRankedCollectiveTally',1373 },1032 },1374 OverweightServiced: {1033 ConfirmStarted: {1375 overweightIndex: 'u64',1034 index: 'u32',1376 weightUsed: 'SpWeightsWeightV2Weight',1377 },1035 },1378 MaxMessagesExhausted: {1036 ConfirmAborted: {1379 messageId: '[u8;32]'1037 index: 'u32',1380 }1381 }1382 },1383 /**1384 * Lookup114: pallet_configuration::pallet::Event<T>1385 **/1386 PalletConfigurationEvent: {1387 _enum: {1388 NewDesiredCollators: {1389 desiredCollators: 'Option<u32>',1390 },1038 },1391 NewCollatorLicenseBond: {1039 Confirmed: {1392 bondCost: 'Option<u128>',1040 index: 'u32',1041 tally: 'PalletRankedCollectiveTally',1393 },1042 },1394 NewCollatorKickThreshold: {1043 Approved: {1395 lengthInBlocks: 'Option<u32>'1396 }1397 }1398 },1399 /**1400 * Lookup117: pallet_common::pallet::Event<T>1401 **/1402 PalletCommonEvent: {1403 _enum: {1404 CollectionCreated: '(u32,u8,AccountId32)',1405 CollectionDestroyed: 'u32',1406 ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1407 ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1408 Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1409 Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',1410 ApprovedForAll: '(u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,bool)',1411 CollectionPropertySet: '(u32,Bytes)',1412 CollectionPropertyDeleted: '(u32,Bytes)',1413 TokenPropertySet: '(u32,u32,Bytes)',1414 TokenPropertyDeleted: '(u32,u32,Bytes)',1415 PropertyPermissionSet: '(u32,Bytes)',1416 AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1417 AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1418 CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1419 CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',1420 CollectionLimitSet: 'u32',1421 CollectionOwnerChanged: '(u32,AccountId32)',1422 CollectionPermissionSet: 'u32',1423 CollectionSponsorSet: '(u32,AccountId32)',1424 SponsorshipConfirmed: '(u32,AccountId32)',1425 CollectionSponsorRemoved: 'u32'1426 }1427 },1428 /**1429 * Lookup120: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>1430 **/1431 PalletEvmAccountBasicCrossAccountIdRepr: {1432 _enum: {1044 index: 'u32',1433 Substrate: 'AccountId32',1434 Ethereum: 'H160'1435 }1436 },1437 /**1438 * Lookup123: pallet_structure::pallet::Event<T>1439 **/1440 PalletStructureEvent: {1441 _enum: {1442 Executed: 'Result<Null, SpRuntimeDispatchError>'1443 }1444 },1445 /**1446 * Lookup124: pallet_app_promotion::pallet::Event<T>1447 **/1448 PalletAppPromotionEvent: {1449 _enum: {1450 StakingRecalculation: '(AccountId32,u128,u128)',1451 Stake: '(AccountId32,u128)',1452 Unstake: '(AccountId32,u128)',1453 SetAdmin: 'AccountId32'1454 }1455 },1456 /**1457 * Lookup125: pallet_foreign_assets::module::Event<T>1458 **/1459 PalletForeignAssetsModuleEvent: {1460 _enum: {1461 ForeignAssetRegistered: {1462 assetId: 'u32',1463 assetAddress: 'XcmV3MultiLocation',1464 metadata: 'PalletForeignAssetsModuleAssetMetadata',1465 },1045 },1466 ForeignAssetUpdated: {1046 Rejected: {1467 assetId: 'u32',1047 index: 'u32',1468 assetAddress: 'XcmV3MultiLocation',1048 tally: 'PalletRankedCollectiveTally',1469 metadata: 'PalletForeignAssetsModuleAssetMetadata',1470 },1049 },1471 AssetRegistered: {1050 TimedOut: {1472 assetId: 'PalletForeignAssetsAssetIds',1051 index: 'u32',1473 metadata: 'PalletForeignAssetsModuleAssetMetadata',1052 tally: 'PalletRankedCollectiveTally',1474 },1053 },1475 AssetUpdated: {1054 Cancelled: {1476 assetId: 'PalletForeignAssetsAssetIds',1055 index: 'u32',1477 metadata: 'PalletForeignAssetsModuleAssetMetadata'1056 tally: 'PalletRankedCollectiveTally',1478 }1479 }1480 },1481 /**1482 * Lookup126: pallet_foreign_assets::module::AssetMetadata<Balance>1483 **/1484 PalletForeignAssetsModuleAssetMetadata: {1485 name: 'Bytes',1486 symbol: 'Bytes',1487 decimals: 'u8',1488 minimalBalance: 'u128'1489 },1490 /**1491 * Lookup129: pallet_evm::pallet::Event<T>1492 **/1493 PalletEvmEvent: {1494 _enum: {1495 Log: {1496 log: 'EthereumLog',1497 },1057 },1498 Created: {1058 Killed: {1499 address: 'H160',1059 index: 'u32',1060 tally: 'PalletRankedCollectiveTally',1500 },1061 },1501 CreatedFailed: {1062 SubmissionDepositRefunded: {1502 address: 'H160',1063 index: 'u32',1064 who: 'AccountId32',1065 amount: 'u128',1503 },1066 },1504 Executed: {1067 MetadataSet: {1505 address: 'H160',1068 _alias: {1069 hash_: 'hash',1070 },1071 index: 'u32',1072 hash_: 'H256',1506 },1073 },1507 ExecutedFailed: {1074 MetadataCleared: {1508 address: 'H160'1075 _alias: {1076 hash_: 'hash',1077 },1078 index: 'u32',1079 hash_: 'H256'1509 }1080 }1510 }1081 }1511 },1082 },1512 /**1083 /**1513 * Lookup130: ethereum::log::Log1084 * Lookup86: frame_support::traits::preimages::Bounded<quartz_runtime::RuntimeCall>1514 **/1085 **/1515 EthereumLog: {1086 FrameSupportPreimagesBounded: {1516 address: 'H160',1517 topics: 'Vec<H256>',1518 data: 'Bytes'1519 },1520 /**1521 * Lookup132: pallet_ethereum::pallet::Event1522 **/1523 PalletEthereumEvent: {1524 _enum: {1087 _enum: {1525 Executed: {1088 Legacy: {1526 from: 'H160',1089 _alias: {1090 hash_: 'hash',1527 to: 'H160',1091 },1092 hash_: 'H256',1528 transactionHash: 'H256',1093 },1094 Inline: 'Bytes',1529 exitReason: 'EvmCoreErrorExitReason',1095 Lookup: {1096 _alias: {1097 hash_: 'hash',1530 extraData: 'Bytes'1098 },1099 hash_: 'H256',1100 len: 'u32'1531 }1101 }1532 }1102 }1533 },1103 },1534 /**1104 /**1535 * Lookup133: evm_core::error::ExitReason1105 * Lookup88: frame_system::pallet::Call<T>1536 **/1106 **/1537 EvmCoreErrorExitReason: {1538 _enum: {1539 Succeed: 'EvmCoreErrorExitSucceed',1540 Error: 'EvmCoreErrorExitError',1541 Revert: 'EvmCoreErrorExitRevert',1542 Fatal: 'EvmCoreErrorExitFatal'1543 }1544 },1545 /**1546 * Lookup134: evm_core::error::ExitSucceed1547 **/1548 EvmCoreErrorExitSucceed: {1549 _enum: ['Stopped', 'Returned', 'Suicided']1550 },1551 /**1552 * Lookup135: evm_core::error::ExitError1553 **/1554 EvmCoreErrorExitError: {1555 _enum: {1556 StackUnderflow: 'Null',1557 StackOverflow: 'Null',1558 InvalidJump: 'Null',1559 InvalidRange: 'Null',1560 DesignatedInvalid: 'Null',1561 CallTooDeep: 'Null',1562 CreateCollision: 'Null',1563 CreateContractLimit: 'Null',1564 OutOfOffset: 'Null',1565 OutOfGas: 'Null',1566 OutOfFund: 'Null',1567 PCUnderflow: 'Null',1568 CreateEmpty: 'Null',1569 Other: 'Text',1570 MaxNonce: 'Null',1571 InvalidCode: 'u8'1572 }1573 },1574 /**1575 * Lookup139: evm_core::error::ExitRevert1576 **/1577 EvmCoreErrorExitRevert: {1578 _enum: ['Reverted']1579 },1580 /**1581 * Lookup140: evm_core::error::ExitFatal1582 **/1583 EvmCoreErrorExitFatal: {1584 _enum: {1585 NotSupported: 'Null',1586 UnhandledInterrupt: 'Null',1587 CallErrorAsFatal: 'EvmCoreErrorExitError',1588 Other: 'Text'1589 }1590 },1591 /**1592 * Lookup141: pallet_evm_contract_helpers::pallet::Event<T>1593 **/1594 PalletEvmContractHelpersEvent: {1595 _enum: {1596 ContractSponsorSet: '(H160,AccountId32)',1597 ContractSponsorshipConfirmed: '(H160,AccountId32)',1598 ContractSponsorRemoved: 'H160'1599 }1600 },1601 /**1602 * Lookup142: pallet_evm_migration::pallet::Event<T>1603 **/1604 PalletEvmMigrationEvent: {1605 _enum: ['TestEvent']1606 },1607 /**1608 * Lookup143: pallet_maintenance::pallet::Event<T>1609 **/1610 PalletMaintenanceEvent: {1611 _enum: ['MaintenanceEnabled', 'MaintenanceDisabled']1612 },1613 /**1614 * Lookup144: pallet_test_utils::pallet::Event<T>1615 **/1616 PalletTestUtilsEvent: {1617 _enum: ['ValueIsSet', 'ShouldRollback', 'BatchCompleted']1618 },1619 /**1620 * Lookup145: frame_system::Phase1621 **/1622 FrameSystemPhase: {1623 _enum: {1624 ApplyExtrinsic: 'u32',1625 Finalization: 'Null',1626 Initialization: 'Null'1627 }1628 },1629 /**1630 * Lookup148: frame_system::LastRuntimeUpgradeInfo1631 **/1632 FrameSystemLastRuntimeUpgradeInfo: {1633 specVersion: 'Compact<u32>',1634 specName: 'Text'1635 },1636 /**1637 * Lookup149: frame_system::pallet::Call<T>1638 **/1639 FrameSystemCall: {1107 FrameSystemCall: {1640 _enum: {1108 _enum: {1641 remark: {1109 remark: {1669 }1137 }1670 },1138 },1671 /**1139 /**1672 * Lookup153: frame_system::limits::BlockWeights1140 * Lookup92: pallet_state_trie_migration::pallet::Call<T>1673 **/1141 **/1674 FrameSystemLimitsBlockWeights: {1675 baseBlock: 'SpWeightsWeightV2Weight',1676 maxBlock: 'SpWeightsWeightV2Weight',1677 perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass'1678 },1679 /**1680 * Lookup154: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>1681 **/1682 FrameSupportDispatchPerDispatchClassWeightsPerClass: {1683 normal: 'FrameSystemLimitsWeightsPerClass',1684 operational: 'FrameSystemLimitsWeightsPerClass',1685 mandatory: 'FrameSystemLimitsWeightsPerClass'1686 },1687 /**1688 * Lookup155: frame_system::limits::WeightsPerClass1689 **/1690 FrameSystemLimitsWeightsPerClass: {1691 baseExtrinsic: 'SpWeightsWeightV2Weight',1692 maxExtrinsic: 'Option<SpWeightsWeightV2Weight>',1693 maxTotal: 'Option<SpWeightsWeightV2Weight>',1694 reserved: 'Option<SpWeightsWeightV2Weight>'1695 },1696 /**1697 * Lookup157: frame_system::limits::BlockLength1698 **/1699 FrameSystemLimitsBlockLength: {1700 max: 'FrameSupportDispatchPerDispatchClassU32'1701 },1702 /**1703 * Lookup158: frame_support::dispatch::PerDispatchClass<T>1704 **/1705 FrameSupportDispatchPerDispatchClassU32: {1706 normal: 'u32',1707 operational: 'u32',1708 mandatory: 'u32'1709 },1710 /**1711 * Lookup159: sp_weights::RuntimeDbWeight1712 **/1713 SpWeightsRuntimeDbWeight: {1714 read: 'u64',1715 write: 'u64'1716 },1717 /**1718 * Lookup160: sp_version::RuntimeVersion1719 **/1720 SpVersionRuntimeVersion: {1721 specName: 'Text',1722 implName: 'Text',1723 authoringVersion: 'u32',1724 specVersion: 'u32',1725 implVersion: 'u32',1726 apis: 'Vec<([u8;8],u32)>',1727 transactionVersion: 'u32',1728 stateVersion: 'u8'1729 },1730 /**1731 * Lookup165: frame_system::pallet::Error<T>1732 **/1733 FrameSystemError: {1734 _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']1735 },1736 /**1737 * Lookup166: pallet_state_trie_migration::pallet::MigrationTask<T>1738 **/1739 PalletStateTrieMigrationMigrationTask: {1740 _alias: {1741 size_: 'size'1742 },1743 progressTop: 'PalletStateTrieMigrationProgress',1744 progressChild: 'PalletStateTrieMigrationProgress',1745 size_: 'u32',1746 topItems: 'u32',1747 childItems: 'u32'1748 },1749 /**1750 * Lookup167: pallet_state_trie_migration::pallet::Progress<MaxKeyLen>1751 **/1752 PalletStateTrieMigrationProgress: {1753 _enum: {1754 ToStart: 'Null',1755 LastKey: 'Bytes',1756 Complete: 'Null'1757 }1758 },1759 /**1760 * Lookup170: pallet_state_trie_migration::pallet::MigrationLimits1761 **/1762 PalletStateTrieMigrationMigrationLimits: {1763 _alias: {1764 size_: 'size'1765 },1766 size_: 'u32',1767 item: 'u32'1768 },1769 /**1770 * Lookup171: pallet_state_trie_migration::pallet::Call<T>1771 **/1772 PalletStateTrieMigrationCall: {1142 PalletStateTrieMigrationCall: {1773 _enum: {1143 _enum: {1774 control_auto_migration: {1144 control_auto_migration: {1801 }1171 }1802 },1172 },1803 /**1173 /**1804 * Lookup172: polkadot_primitives::v4::PersistedValidationData<primitive_types::H256, N>1174 * Lookup94: pallet_state_trie_migration::pallet::MigrationLimits1805 **/1175 **/1806 PolkadotPrimitivesV4PersistedValidationData: {1176 PalletStateTrieMigrationMigrationLimits: {1807 parentHead: 'Bytes',1177 _alias: {1808 relayParentNumber: 'u32',1178 size_: 'size'1179 },1809 relayParentStorageRoot: 'H256',1180 size_: 'u32',1810 maxPovSize: 'u32'1181 item: 'u32'1811 },1182 },1812 /**1183 /**1813 * Lookup175: polkadot_primitives::v4::UpgradeRestriction1184 * Lookup95: pallet_state_trie_migration::pallet::MigrationTask<T>1814 **/1185 **/1815 PolkadotPrimitivesV4UpgradeRestriction: {1186 PalletStateTrieMigrationMigrationTask: {1816 _enum: ['Present']1187 _alias: {1188 size_: 'size'1189 },1190 progressTop: 'PalletStateTrieMigrationProgress',1191 progressChild: 'PalletStateTrieMigrationProgress',1192 size_: 'u32',1193 topItems: 'u32',1194 childItems: 'u32'1817 },1195 },1818 /**1196 /**1819 * Lookup176: sp_trie::storage_proof::StorageProof1197 * Lookup96: pallet_state_trie_migration::pallet::Progress<MaxKeyLen>1820 **/1198 **/1821 SpTrieStorageProof: {1199 PalletStateTrieMigrationProgress: {1822 trieNodes: 'BTreeSet<Bytes>'1200 _enum: {1201 ToStart: 'Null',1202 LastKey: 'Bytes',1203 Complete: 'Null'1204 }1823 },1205 },1824 /**1206 /**1825 * Lookup178: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot1207 * Lookup98: cumulus_pallet_parachain_system::pallet::Call<T>1826 **/1208 **/1827 CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {1828 dmqMqcHead: 'H256',1829 relayDispatchQueueSize: 'CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize',1830 ingressChannels: 'Vec<(u32,PolkadotPrimitivesV4AbridgedHrmpChannel)>',1831 egressChannels: 'Vec<(u32,PolkadotPrimitivesV4AbridgedHrmpChannel)>'1832 },1833 /**1834 * Lookup179: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispachQueueSize1835 **/1836 CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize: {1837 remainingCount: 'u32',1838 remainingSize: 'u32'1839 },1840 /**1841 * Lookup182: polkadot_primitives::v4::AbridgedHrmpChannel1842 **/1843 PolkadotPrimitivesV4AbridgedHrmpChannel: {1844 maxCapacity: 'u32',1845 maxTotalSize: 'u32',1846 maxMessageSize: 'u32',1847 msgCount: 'u32',1848 totalSize: 'u32',1849 mqcHead: 'Option<H256>'1850 },1851 /**1852 * Lookup184: polkadot_primitives::v4::AbridgedHostConfiguration1853 **/1854 PolkadotPrimitivesV4AbridgedHostConfiguration: {1855 maxCodeSize: 'u32',1856 maxHeadDataSize: 'u32',1857 maxUpwardQueueCount: 'u32',1858 maxUpwardQueueSize: 'u32',1859 maxUpwardMessageSize: 'u32',1860 maxUpwardMessageNumPerCandidate: 'u32',1861 hrmpMaxMessageNumPerCandidate: 'u32',1862 validationUpgradeCooldown: 'u32',1863 validationUpgradeDelay: 'u32'1864 },1865 /**1866 * Lookup190: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>1867 **/1868 PolkadotCorePrimitivesOutboundHrmpMessage: {1869 recipient: 'u32',1870 data: 'Bytes'1871 },1872 /**1873 * Lookup191: cumulus_pallet_parachain_system::CodeUpgradeAuthorization<T>1874 **/1875 CumulusPalletParachainSystemCodeUpgradeAuthorization: {1876 codeHash: 'H256',1877 checkVersion: 'bool'1878 },1879 /**1880 * Lookup192: cumulus_pallet_parachain_system::pallet::Call<T>1881 **/1882 CumulusPalletParachainSystemCall: {1209 CumulusPalletParachainSystemCall: {1883 _enum: {1210 _enum: {1884 set_validation_data: {1211 set_validation_data: {1897 }1224 }1898 },1225 },1899 /**1226 /**1900 * Lookup193: cumulus_primitives_parachain_inherent::ParachainInherentData1227 * Lookup99: cumulus_primitives_parachain_inherent::ParachainInherentData1901 **/1228 **/1902 CumulusPrimitivesParachainInherentParachainInherentData: {1229 CumulusPrimitivesParachainInherentParachainInherentData: {1903 validationData: 'PolkadotPrimitivesV4PersistedValidationData',1230 validationData: 'PolkadotPrimitivesV4PersistedValidationData',1906 horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'1233 horizontalMessages: 'BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>'1907 },1234 },1908 /**1235 /**1909 * Lookup195: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>1236 * Lookup100: polkadot_primitives::v4::PersistedValidationData<primitive_types::H256, N>1910 **/1237 **/1238 PolkadotPrimitivesV4PersistedValidationData: {1239 parentHead: 'Bytes',1240 relayParentNumber: 'u32',1241 relayParentStorageRoot: 'H256',1242 maxPovSize: 'u32'1243 },1244 /**1245 * Lookup102: sp_trie::storage_proof::StorageProof1246 **/1247 SpTrieStorageProof: {1248 trieNodes: 'BTreeSet<Bytes>'1249 },1250 /**1251 * Lookup105: polkadot_core_primitives::InboundDownwardMessage<BlockNumber>1252 **/1911 PolkadotCorePrimitivesInboundDownwardMessage: {1253 PolkadotCorePrimitivesInboundDownwardMessage: {1912 sentAt: 'u32',1254 sentAt: 'u32',1913 msg: 'Bytes'1255 msg: 'Bytes'1914 },1256 },1915 /**1257 /**1916 * Lookup198: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>1258 * Lookup109: polkadot_core_primitives::InboundHrmpMessage<BlockNumber>1917 **/1259 **/1918 PolkadotCorePrimitivesInboundHrmpMessage: {1260 PolkadotCorePrimitivesInboundHrmpMessage: {1919 sentAt: 'u32',1261 sentAt: 'u32',1920 data: 'Bytes'1262 data: 'Bytes'1921 },1263 },1922 /**1264 /**1923 * Lookup201: cumulus_pallet_parachain_system::pallet::Error<T>1265 * Lookup112: parachain_info::pallet::Call<T>1924 **/1266 **/1925 CumulusPalletParachainSystemError: {1926 _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']1927 },1928 /**1929 * Lookup202: parachain_info::pallet::Call<T>1930 **/1931 ParachainInfoCall: 'Null',1267 ParachainInfoCall: 'Null',1932 /**1268 /**1933 * Lookup205: pallet_collator_selection::pallet::Call<T>1269 * Lookup113: pallet_collator_selection::pallet::Call<T>1934 **/1270 **/1935 PalletCollatorSelectionCall: {1271 PalletCollatorSelectionCall: {1936 _enum: {1272 _enum: {1953 }1289 }1954 },1290 },1955 /**1291 /**1956 * Lookup206: pallet_collator_selection::pallet::Error<T>1292 * Lookup114: pallet_session::pallet::Call<T>1957 **/1293 **/1958 PalletCollatorSelectionError: {1959 _enum: ['TooManyCandidates', 'Unknown', 'Permission', 'AlreadyHoldingLicense', 'NoLicense', 'AlreadyCandidate', 'NotCandidate', 'TooManyInvulnerables', 'TooFewInvulnerables', 'AlreadyInvulnerable', 'NotInvulnerable', 'NoAssociatedValidatorId', 'ValidatorNotRegistered']1960 },1961 /**1962 * Lookup209: opal_runtime::runtime_common::SessionKeys1963 **/1964 OpalRuntimeRuntimeCommonSessionKeys: {1965 aura: 'SpConsensusAuraSr25519AppSr25519Public'1966 },1967 /**1968 * Lookup210: sp_consensus_aura::sr25519::app_sr25519::Public1969 **/1970 SpConsensusAuraSr25519AppSr25519Public: 'SpCoreSr25519Public',1971 /**1972 * Lookup211: sp_core::sr25519::Public1973 **/1974 SpCoreSr25519Public: '[u8;32]',1975 /**1976 * Lookup214: sp_core::crypto::KeyTypeId1977 **/1978 SpCoreCryptoKeyTypeId: '[u8;4]',1979 /**1980 * Lookup215: pallet_session::pallet::Call<T>1981 **/1982 PalletSessionCall: {1294 PalletSessionCall: {1983 _enum: {1295 _enum: {1984 set_keys: {1296 set_keys: {1985 _alias: {1297 _alias: {1986 keys_: 'keys',1298 keys_: 'keys',1987 },1299 },1988 keys_: 'OpalRuntimeRuntimeCommonSessionKeys',1300 keys_: 'QuartzRuntimeRuntimeCommonSessionKeys',1989 proof: 'Bytes',1301 proof: 'Bytes',1990 },1302 },1991 purge_keys: 'Null'1303 purge_keys: 'Null'1992 }1304 }1993 },1305 },1994 /**1306 /**1995 * Lookup216: pallet_session::pallet::Error<T>1307 * Lookup115: quartz_runtime::runtime_common::SessionKeys1996 **/1308 **/1997 PalletSessionError: {1309 QuartzRuntimeRuntimeCommonSessionKeys: {1998 _enum: ['InvalidProof', 'NoAssociatedValidatorId', 'DuplicatedKey', 'NoKeys', 'NoAccount']1310 aura: 'SpConsensusAuraSr25519AppSr25519Public'1999 },1311 },2000 /**1312 /**2001 * Lookup221: pallet_balances::types::BalanceLock<Balance>1313 * Lookup116: sp_consensus_aura::sr25519::app_sr25519::Public2002 **/1314 **/2003 PalletBalancesBalanceLock: {1315 SpConsensusAuraSr25519AppSr25519Public: 'SpCoreSr25519Public',2004 id: '[u8;8]',2005 amount: 'u128',2006 reasons: 'PalletBalancesReasons'2007 },2008 /**1316 /**2009 * Lookup222: pallet_balances::types::Reasons1317 * Lookup117: sp_core::sr25519::Public2010 **/1318 **/2011 PalletBalancesReasons: {1319 SpCoreSr25519Public: '[u8;32]',2012 _enum: ['Fee', 'Misc', 'All']2013 },2014 /**1320 /**2015 * Lookup225: pallet_balances::types::ReserveData<ReserveIdentifier, Balance>1321 * Lookup118: pallet_balances::pallet::Call<T, I>2016 **/1322 **/2017 PalletBalancesReserveData: {2018 id: '[u8;16]',2019 amount: 'u128'2020 },2021 /**2022 * Lookup228: pallet_balances::types::IdAmount<Id, Balance>2023 **/2024 PalletBalancesIdAmount: {2025 id: '[u8;16]',2026 amount: 'u128'2027 },2028 /**2029 * Lookup231: pallet_balances::pallet::Call<T, I>2030 **/2031 PalletBalancesCall: {1323 PalletBalancesCall: {2032 _enum: {1324 _enum: {2033 transfer_allow_death: {1325 transfer_allow_death: {2070 }1362 }2071 },1363 },2072 /**1364 /**2073 * Lookup234: pallet_balances::pallet::Error<T, I>1365 * Lookup122: pallet_timestamp::pallet::Call<T>2074 **/1366 **/2075 PalletBalancesError: {2076 _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'Expendability', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves', 'TooManyHolds', 'TooManyFreezes']2077 },2078 /**2079 * Lookup235: pallet_timestamp::pallet::Call<T>2080 **/2081 PalletTimestampCall: {1367 PalletTimestampCall: {2082 _enum: {1368 _enum: {2083 set: {1369 set: {2086 }1372 }2087 },1373 },2088 /**1374 /**2089 * Lookup237: pallet_transaction_payment::Releases1375 * Lookup123: pallet_treasury::pallet::Call<T, I>2090 **/1376 **/2091 PalletTransactionPaymentReleases: {2092 _enum: ['V1Ancient', 'V2']2093 },2094 /**2095 * Lookup238: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>2096 **/2097 PalletTreasuryProposal: {2098 proposer: 'AccountId32',2099 value: 'u128',2100 beneficiary: 'AccountId32',2101 bond: 'u128'2102 },2103 /**2104 * Lookup240: pallet_treasury::pallet::Call<T, I>2105 **/2106 PalletTreasuryCall: {1377 PalletTreasuryCall: {2107 _enum: {1378 _enum: {2108 propose_spend: {1379 propose_spend: {2125 }1396 }2126 },1397 },2127 /**1398 /**2128 * Lookup242: frame_support::PalletId1399 * Lookup124: pallet_sudo::pallet::Call<T>2129 **/1400 **/2130 FrameSupportPalletId: '[u8;8]',2131 /**2132 * Lookup243: pallet_treasury::pallet::Error<T, I>2133 **/2134 PalletTreasuryError: {2135 _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved']2136 },2137 /**2138 * Lookup244: pallet_sudo::pallet::Call<T>2139 **/2140 PalletSudoCall: {1401 PalletSudoCall: {2141 _enum: {1402 _enum: {2142 sudo: {1403 sudo: {2159 }1420 }2160 },1421 },2161 /**1422 /**2162 * Lookup246: orml_vesting::module::Call<T>1423 * Lookup125: orml_vesting::module::Call<T>2163 **/1424 **/2164 OrmlVestingModuleCall: {1425 OrmlVestingModuleCall: {2165 _enum: {1426 _enum: {2178 }1439 }2179 },1440 },2180 /**1441 /**2181 * Lookup248: orml_xtokens::module::Call<T>1442 * Lookup127: orml_xtokens::module::Call<T>2182 **/1443 **/2183 OrmlXtokensModuleCall: {1444 OrmlXtokensModuleCall: {2184 _enum: {1445 _enum: {2221 }1482 }2222 },1483 },2223 /**1484 /**2224 * Lookup249: xcm::VersionedMultiAsset1485 * Lookup128: xcm::VersionedMultiLocation2225 **/1486 **/1487 XcmVersionedMultiLocation: {1488 _enum: {1489 __Unused0: 'Null',1490 V2: 'XcmV2MultiLocation',1491 __Unused2: 'Null',1492 V3: 'XcmV3MultiLocation'1493 }1494 },1495 /**1496 * Lookup129: xcm::v2::multilocation::MultiLocation1497 **/1498 XcmV2MultiLocation: {1499 parents: 'u8',1500 interior: 'XcmV2MultilocationJunctions'1501 },1502 /**1503 * Lookup130: xcm::v2::multilocation::Junctions1504 **/1505 XcmV2MultilocationJunctions: {1506 _enum: {1507 Here: 'Null',1508 X1: 'XcmV2Junction',1509 X2: '(XcmV2Junction,XcmV2Junction)',1510 X3: '(XcmV2Junction,XcmV2Junction,XcmV2Junction)',1511 X4: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)',1512 X5: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)',1513 X6: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)',1514 X7: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)',1515 X8: '(XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction,XcmV2Junction)'1516 }1517 },1518 /**1519 * Lookup131: xcm::v2::junction::Junction1520 **/1521 XcmV2Junction: {1522 _enum: {1523 Parachain: 'Compact<u32>',1524 AccountId32: {1525 network: 'XcmV2NetworkId',1526 id: '[u8;32]',1527 },1528 AccountIndex64: {1529 network: 'XcmV2NetworkId',1530 index: 'Compact<u64>',1531 },1532 AccountKey20: {1533 network: 'XcmV2NetworkId',1534 key: '[u8;20]',1535 },1536 PalletInstance: 'u8',1537 GeneralIndex: 'Compact<u128>',1538 GeneralKey: 'Bytes',1539 OnlyChild: 'Null',1540 Plurality: {1541 id: 'XcmV2BodyId',1542 part: 'XcmV2BodyPart'1543 }1544 }1545 },1546 /**1547 * Lookup132: xcm::v2::NetworkId1548 **/1549 XcmV2NetworkId: {1550 _enum: {1551 Any: 'Null',1552 Named: 'Bytes',1553 Polkadot: 'Null',1554 Kusama: 'Null'1555 }1556 },1557 /**1558 * Lookup134: xcm::v2::BodyId1559 **/1560 XcmV2BodyId: {1561 _enum: {1562 Unit: 'Null',1563 Named: 'Bytes',1564 Index: 'Compact<u32>',1565 Executive: 'Null',1566 Technical: 'Null',1567 Legislative: 'Null',1568 Judicial: 'Null',1569 Defense: 'Null',1570 Administration: 'Null',1571 Treasury: 'Null'1572 }1573 },1574 /**1575 * Lookup135: xcm::v2::BodyPart1576 **/1577 XcmV2BodyPart: {1578 _enum: {1579 Voice: 'Null',1580 Members: {1581 count: 'Compact<u32>',1582 },1583 Fraction: {1584 nom: 'Compact<u32>',1585 denom: 'Compact<u32>',1586 },1587 AtLeastProportion: {1588 nom: 'Compact<u32>',1589 denom: 'Compact<u32>',1590 },1591 MoreThanProportion: {1592 nom: 'Compact<u32>',1593 denom: 'Compact<u32>'1594 }1595 }1596 },1597 /**1598 * Lookup136: xcm::v3::WeightLimit1599 **/1600 XcmV3WeightLimit: {1601 _enum: {1602 Unlimited: 'Null',1603 Limited: 'SpWeightsWeightV2Weight'1604 }1605 },1606 /**1607 * Lookup137: xcm::VersionedMultiAsset1608 **/2226 XcmVersionedMultiAsset: {1609 XcmVersionedMultiAsset: {2227 _enum: {1610 _enum: {2228 __Unused0: 'Null',1611 __Unused0: 'Null',2232 }1615 }2233 },1616 },2234 /**1617 /**2235 * Lookup252: orml_tokens::module::Call<T>1618 * Lookup138: xcm::v2::multiasset::MultiAsset2236 **/1619 **/1620 XcmV2MultiAsset: {1621 id: 'XcmV2MultiassetAssetId',1622 fun: 'XcmV2MultiassetFungibility'1623 },1624 /**1625 * Lookup139: xcm::v2::multiasset::AssetId1626 **/1627 XcmV2MultiassetAssetId: {1628 _enum: {1629 Concrete: 'XcmV2MultiLocation',1630 Abstract: 'Bytes'1631 }1632 },1633 /**1634 * Lookup140: xcm::v2::multiasset::Fungibility1635 **/1636 XcmV2MultiassetFungibility: {1637 _enum: {1638 Fungible: 'Compact<u128>',1639 NonFungible: 'XcmV2MultiassetAssetInstance'1640 }1641 },1642 /**1643 * Lookup141: xcm::v2::multiasset::AssetInstance1644 **/1645 XcmV2MultiassetAssetInstance: {1646 _enum: {1647 Undefined: 'Null',1648 Index: 'Compact<u128>',1649 Array4: '[u8;4]',1650 Array8: '[u8;8]',1651 Array16: '[u8;16]',1652 Array32: '[u8;32]',1653 Blob: 'Bytes'1654 }1655 },1656 /**1657 * Lookup144: xcm::VersionedMultiAssets1658 **/1659 XcmVersionedMultiAssets: {1660 _enum: {1661 __Unused0: 'Null',1662 V2: 'XcmV2MultiassetMultiAssets',1663 __Unused2: 'Null',1664 V3: 'XcmV3MultiassetMultiAssets'1665 }1666 },1667 /**1668 * Lookup145: xcm::v2::multiasset::MultiAssets1669 **/1670 XcmV2MultiassetMultiAssets: 'Vec<XcmV2MultiAsset>',1671 /**1672 * Lookup147: orml_tokens::module::Call<T>1673 **/2237 OrmlTokensModuleCall: {1674 OrmlTokensModuleCall: {2238 _enum: {1675 _enum: {2239 transfer: {1676 transfer: {2266 }1703 }2267 },1704 },2268 /**1705 /**2269 * Lookup253: pallet_identity::pallet::Call<T>1706 * Lookup148: pallet_identity::pallet::Call<T>2270 **/1707 **/2271 PalletIdentityCall: {1708 PalletIdentityCall: {2272 _enum: {1709 _enum: {2335 }1772 }2336 },1773 },2337 /**1774 /**2338 * Lookup254: pallet_identity::types::IdentityInfo<FieldLimit>1775 * Lookup149: pallet_identity::types::IdentityInfo<FieldLimit>2339 **/1776 **/2340 PalletIdentityIdentityInfo: {1777 PalletIdentityIdentityInfo: {2341 additional: 'Vec<(Data,Data)>',1778 additional: 'Vec<(Data,Data)>',2349 twitter: 'Data'1786 twitter: 'Data'2350 },1787 },2351 /**1788 /**2352 * Lookup290: pallet_identity::types::BitFlags<pallet_identity::types::IdentityField>1789 * Lookup185: pallet_identity::types::BitFlags<pallet_identity::types::IdentityField>2353 **/1790 **/2354 PalletIdentityBitFlags: {1791 PalletIdentityBitFlags: {2355 _bitLength: 64,1792 _bitLength: 64,2363 Twitter: 1281800 Twitter: 1282364 },1801 },2365 /**1802 /**2366 * Lookup291: pallet_identity::types::IdentityField1803 * Lookup186: pallet_identity::types::IdentityField2367 **/1804 **/2368 PalletIdentityIdentityField: {1805 PalletIdentityIdentityField: {2369 _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']1806 _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']2370 },1807 },2371 /**1808 /**2372 * Lookup292: pallet_identity::types::Judgement<Balance>1809 * Lookup187: pallet_identity::types::Judgement<Balance>2373 **/1810 **/2374 PalletIdentityJudgement: {1811 PalletIdentityJudgement: {2375 _enum: {1812 _enum: {2383 }1820 }2384 },1821 },2385 /**1822 /**2386 * Lookup295: pallet_identity::types::Registration<Balance, MaxJudgements, MaxAdditionalFields>1823 * Lookup190: pallet_identity::types::Registration<Balance, MaxJudgements, MaxAdditionalFields>2387 **/1824 **/2388 PalletIdentityRegistration: {1825 PalletIdentityRegistration: {2389 judgements: 'Vec<(u32,PalletIdentityJudgement)>',1826 judgements: 'Vec<(u32,PalletIdentityJudgement)>',2390 deposit: 'u128',1827 deposit: 'u128',2391 info: 'PalletIdentityIdentityInfo'1828 info: 'PalletIdentityIdentityInfo'2392 },1829 },2393 /**1830 /**2394 * Lookup303: pallet_preimage::pallet::Call<T>1831 * Lookup198: pallet_preimage::pallet::Call<T>2395 **/1832 **/2396 PalletPreimageCall: {1833 PalletPreimageCall: {2397 _enum: {1834 _enum: {2419 }1856 }2420 },1857 },2421 /**1858 /**2422 * Lookup304: cumulus_pallet_xcmp_queue::pallet::Call<T>1859 * Lookup199: pallet_democracy::pallet::Call<T>2423 **/1860 **/1861 PalletDemocracyCall: {1862 _enum: {1863 propose: {1864 proposal: 'FrameSupportPreimagesBounded',1865 value: 'Compact<u128>',1866 },1867 second: {1868 proposal: 'Compact<u32>',1869 },1870 vote: {1871 refIndex: 'Compact<u32>',1872 vote: 'PalletDemocracyVoteAccountVote',1873 },1874 emergency_cancel: {1875 refIndex: 'u32',1876 },1877 external_propose: {1878 proposal: 'FrameSupportPreimagesBounded',1879 },1880 external_propose_majority: {1881 proposal: 'FrameSupportPreimagesBounded',1882 },1883 external_propose_default: {1884 proposal: 'FrameSupportPreimagesBounded',1885 },1886 fast_track: {1887 proposalHash: 'H256',1888 votingPeriod: 'u32',1889 delay: 'u32',1890 },1891 veto_external: {1892 proposalHash: 'H256',1893 },1894 cancel_referendum: {1895 refIndex: 'Compact<u32>',1896 },1897 delegate: {1898 to: 'MultiAddress',1899 conviction: 'PalletDemocracyConviction',1900 balance: 'u128',1901 },1902 undelegate: 'Null',1903 clear_public_proposals: 'Null',1904 unlock: {1905 target: 'MultiAddress',1906 },1907 remove_vote: {1908 index: 'u32',1909 },1910 remove_other_vote: {1911 target: 'MultiAddress',1912 index: 'u32',1913 },1914 blacklist: {1915 proposalHash: 'H256',1916 maybeRefIndex: 'Option<u32>',1917 },1918 cancel_proposal: {1919 propIndex: 'Compact<u32>',1920 },1921 set_metadata: {1922 owner: 'PalletDemocracyMetadataOwner',1923 maybeHash: 'Option<H256>'1924 }1925 }1926 },1927 /**1928 * Lookup200: pallet_democracy::conviction::Conviction1929 **/1930 PalletDemocracyConviction: {1931 _enum: ['None', 'Locked1x', 'Locked2x', 'Locked3x', 'Locked4x', 'Locked5x', 'Locked6x']1932 },1933 /**1934 * Lookup203: pallet_collective::pallet::Call<T, I>1935 **/1936 PalletCollectiveCall: {1937 _enum: {1938 set_members: {1939 newMembers: 'Vec<AccountId32>',1940 prime: 'Option<AccountId32>',1941 oldCount: 'u32',1942 },1943 execute: {1944 proposal: 'Call',1945 lengthBound: 'Compact<u32>',1946 },1947 propose: {1948 threshold: 'Compact<u32>',1949 proposal: 'Call',1950 lengthBound: 'Compact<u32>',1951 },1952 vote: {1953 proposal: 'H256',1954 index: 'Compact<u32>',1955 approve: 'bool',1956 },1957 __Unused4: 'Null',1958 disapprove_proposal: {1959 proposalHash: 'H256',1960 },1961 close: {1962 proposalHash: 'H256',1963 index: 'Compact<u32>',1964 proposalWeightBound: 'SpWeightsWeightV2Weight',1965 lengthBound: 'Compact<u32>'1966 }1967 }1968 },1969 /**1970 * Lookup205: pallet_membership::pallet::Call<T, I>1971 **/1972 PalletMembershipCall: {1973 _enum: {1974 add_member: {1975 who: 'MultiAddress',1976 },1977 remove_member: {1978 who: 'MultiAddress',1979 },1980 swap_member: {1981 remove: 'MultiAddress',1982 add: 'MultiAddress',1983 },1984 reset_members: {1985 members: 'Vec<AccountId32>',1986 },1987 change_key: {1988 _alias: {1989 new_: 'new',1990 },1991 new_: 'MultiAddress',1992 },1993 set_prime: {1994 who: 'MultiAddress',1995 },1996 clear_prime: 'Null'1997 }1998 },1999 /**2000 * Lookup207: pallet_ranked_collective::pallet::Call<T, I>2001 **/2002 PalletRankedCollectiveCall: {2003 _enum: {2004 add_member: {2005 who: 'MultiAddress',2006 },2007 promote_member: {2008 who: 'MultiAddress',2009 },2010 demote_member: {2011 who: 'MultiAddress',2012 },2013 remove_member: {2014 who: 'MultiAddress',2015 minRank: 'u16',2016 },2017 vote: {2018 poll: 'u32',2019 aye: 'bool',2020 },2021 cleanup_poll: {2022 pollIndex: 'u32',2023 max: 'u32'2024 }2025 }2026 },2027 /**2028 * Lookup208: pallet_referenda::pallet::Call<T, I>2029 **/2030 PalletReferendaCall: {2031 _enum: {2032 submit: {2033 proposalOrigin: 'QuartzRuntimeOriginCaller',2034 proposal: 'FrameSupportPreimagesBounded',2035 enactmentMoment: 'FrameSupportScheduleDispatchTime',2036 },2037 place_decision_deposit: {2038 index: 'u32',2039 },2040 refund_decision_deposit: {2041 index: 'u32',2042 },2043 cancel: {2044 index: 'u32',2045 },2046 kill: {2047 index: 'u32',2048 },2049 nudge_referendum: {2050 index: 'u32',2051 },2052 one_fewer_deciding: {2053 track: 'u16',2054 },2055 refund_submission_deposit: {2056 index: 'u32',2057 },2058 set_metadata: {2059 index: 'u32',2060 maybeHash: 'Option<H256>'2061 }2062 }2063 },2064 /**2065 * Lookup209: quartz_runtime::OriginCaller2066 **/2067 QuartzRuntimeOriginCaller: {2068 _enum: {2069 system: 'FrameSupportDispatchRawOrigin',2070 __Unused1: 'Null',2071 __Unused2: 'Null',2072 __Unused3: 'Null',2073 __Unused4: 'Null',2074 __Unused5: 'Null',2075 __Unused6: 'Null',2076 Void: 'SpCoreVoid',2077 __Unused8: 'Null',2078 __Unused9: 'Null',2079 __Unused10: 'Null',2080 __Unused11: 'Null',2081 __Unused12: 'Null',2082 __Unused13: 'Null',2083 __Unused14: 'Null',2084 __Unused15: 'Null',2085 __Unused16: 'Null',2086 __Unused17: 'Null',2087 __Unused18: 'Null',2088 __Unused19: 'Null',2089 __Unused20: 'Null',2090 __Unused21: 'Null',2091 __Unused22: 'Null',2092 __Unused23: 'Null',2093 __Unused24: 'Null',2094 __Unused25: 'Null',2095 __Unused26: 'Null',2096 __Unused27: 'Null',2097 __Unused28: 'Null',2098 __Unused29: 'Null',2099 __Unused30: 'Null',2100 __Unused31: 'Null',2101 __Unused32: 'Null',2102 __Unused33: 'Null',2103 __Unused34: 'Null',2104 __Unused35: 'Null',2105 __Unused36: 'Null',2106 __Unused37: 'Null',2107 __Unused38: 'Null',2108 __Unused39: 'Null',2109 __Unused40: 'Null',2110 __Unused41: 'Null',2111 __Unused42: 'Null',2112 Council: 'PalletCollectiveRawOrigin',2113 TechnicalCommittee: 'PalletCollectiveRawOrigin',2114 __Unused45: 'Null',2115 __Unused46: 'Null',2116 __Unused47: 'Null',2117 __Unused48: 'Null',2118 __Unused49: 'Null',2119 __Unused50: 'Null',2120 PolkadotXcm: 'PalletXcmOrigin',2121 CumulusXcm: 'CumulusPalletXcmOrigin',2122 __Unused53: 'Null',2123 __Unused54: 'Null',2124 __Unused55: 'Null',2125 __Unused56: 'Null',2126 __Unused57: 'Null',2127 __Unused58: 'Null',2128 __Unused59: 'Null',2129 __Unused60: 'Null',2130 __Unused61: 'Null',2131 __Unused62: 'Null',2132 __Unused63: 'Null',2133 __Unused64: 'Null',2134 __Unused65: 'Null',2135 __Unused66: 'Null',2136 __Unused67: 'Null',2137 __Unused68: 'Null',2138 __Unused69: 'Null',2139 __Unused70: 'Null',2140 __Unused71: 'Null',2141 __Unused72: 'Null',2142 __Unused73: 'Null',2143 __Unused74: 'Null',2144 __Unused75: 'Null',2145 __Unused76: 'Null',2146 __Unused77: 'Null',2147 __Unused78: 'Null',2148 __Unused79: 'Null',2149 __Unused80: 'Null',2150 __Unused81: 'Null',2151 __Unused82: 'Null',2152 __Unused83: 'Null',2153 __Unused84: 'Null',2154 __Unused85: 'Null',2155 __Unused86: 'Null',2156 __Unused87: 'Null',2157 __Unused88: 'Null',2158 __Unused89: 'Null',2159 __Unused90: 'Null',2160 __Unused91: 'Null',2161 __Unused92: 'Null',2162 __Unused93: 'Null',2163 __Unused94: 'Null',2164 __Unused95: 'Null',2165 __Unused96: 'Null',2166 __Unused97: 'Null',2167 __Unused98: 'Null',2168 Origins: 'PalletGovOriginsOrigin',2169 __Unused100: 'Null',2170 Ethereum: 'PalletEthereumRawOrigin'2171 }2172 },2173 /**2174 * Lookup210: frame_support::dispatch::RawOrigin<sp_core::crypto::AccountId32>2175 **/2176 FrameSupportDispatchRawOrigin: {2177 _enum: {2178 Root: 'Null',2179 Signed: 'AccountId32',2180 None: 'Null'2181 }2182 },2183 /**2184 * Lookup211: pallet_collective::RawOrigin<sp_core::crypto::AccountId32, I>2185 **/2186 PalletCollectiveRawOrigin: {2187 _enum: {2188 Members: '(u32,u32)',2189 Member: 'AccountId32',2190 _Phantom: 'Null'2191 }2192 },2193 /**2194 * Lookup213: pallet_gov_origins::pallet::Origin2195 **/2196 PalletGovOriginsOrigin: {2197 _enum: ['FellowshipProposition']2198 },2199 /**2200 * Lookup214: pallet_xcm::pallet::Origin2201 **/2202 PalletXcmOrigin: {2203 _enum: {2204 Xcm: 'XcmV3MultiLocation',2205 Response: 'XcmV3MultiLocation'2206 }2207 },2208 /**2209 * Lookup215: cumulus_pallet_xcm::pallet::Origin2210 **/2211 CumulusPalletXcmOrigin: {2212 _enum: {2213 Relay: 'Null',2214 SiblingParachain: 'u32'2215 }2216 },2217 /**2218 * Lookup216: pallet_ethereum::RawOrigin2219 **/2220 PalletEthereumRawOrigin: {2221 _enum: {2222 EthereumTransaction: 'H160'2223 }2224 },2225 /**2226 * Lookup218: sp_core::Void2227 **/2228 SpCoreVoid: 'Null',2229 /**2230 * Lookup219: frame_support::traits::schedule::DispatchTime<BlockNumber>2231 **/2232 FrameSupportScheduleDispatchTime: {2233 _enum: {2234 At: 'u32',2235 After: 'u32'2236 }2237 },2238 /**2239 * Lookup220: pallet_scheduler::pallet::Call<T>2240 **/2241 PalletSchedulerCall: {2242 _enum: {2243 schedule: {2244 when: 'u32',2245 maybePeriodic: 'Option<(u32,u32)>',2246 priority: 'u8',2247 call: 'Call',2248 },2249 cancel: {2250 when: 'u32',2251 index: 'u32',2252 },2253 schedule_named: {2254 id: '[u8;32]',2255 when: 'u32',2256 maybePeriodic: 'Option<(u32,u32)>',2257 priority: 'u8',2258 call: 'Call',2259 },2260 cancel_named: {2261 id: '[u8;32]',2262 },2263 schedule_after: {2264 after: 'u32',2265 maybePeriodic: 'Option<(u32,u32)>',2266 priority: 'u8',2267 call: 'Call',2268 },2269 schedule_named_after: {2270 id: '[u8;32]',2271 after: 'u32',2272 maybePeriodic: 'Option<(u32,u32)>',2273 priority: 'u8',2274 call: 'Call'2275 }2276 }2277 },2278 /**2279 * Lookup223: cumulus_pallet_xcmp_queue::pallet::Call<T>2280 **/2424 CumulusPalletXcmpQueueCall: {2281 CumulusPalletXcmpQueueCall: {2425 _enum: {2282 _enum: {2426 service_overweight: {2283 service_overweight: {2468 }2325 }2469 },2326 },2470 /**2327 /**2471 * Lookup305: pallet_xcm::pallet::Call<T>2328 * Lookup224: pallet_xcm::pallet::Call<T>2472 **/2329 **/2473 PalletXcmCall: {2330 PalletXcmCall: {2474 _enum: {2331 _enum: {2525 }2382 }2526 },2383 },2527 /**2384 /**2528 * Lookup306: xcm::VersionedXcm<RuntimeCall>2385 * Lookup225: xcm::VersionedXcm<RuntimeCall>2529 **/2386 **/2530 XcmVersionedXcm: {2387 XcmVersionedXcm: {2531 _enum: {2388 _enum: {2536 }2393 }2537 },2394 },2538 /**2395 /**2539 * Lookup307: xcm::v2::Xcm<RuntimeCall>2396 * Lookup226: xcm::v2::Xcm<RuntimeCall>2540 **/2397 **/2541 XcmV2Xcm: 'Vec<XcmV2Instruction>',2398 XcmV2Xcm: 'Vec<XcmV2Instruction>',2542 /**2399 /**2543 * Lookup309: xcm::v2::Instruction<RuntimeCall>2400 * Lookup228: xcm::v2::Instruction<RuntimeCall>2544 **/2401 **/2545 XcmV2Instruction: {2402 XcmV2Instruction: {2546 _enum: {2403 _enum: {2638 }2495 }2639 },2496 },2640 /**2497 /**2641 * Lookup310: xcm::v2::Response2498 * Lookup229: xcm::v2::Response2642 **/2499 **/2643 XcmV2Response: {2500 XcmV2Response: {2644 _enum: {2501 _enum: {2649 }2506 }2650 },2507 },2651 /**2508 /**2652 * Lookup313: xcm::v2::traits::Error2509 * Lookup232: xcm::v2::traits::Error2653 **/2510 **/2654 XcmV2TraitsError: {2511 XcmV2TraitsError: {2655 _enum: {2512 _enum: {2682 }2539 }2683 },2540 },2684 /**2541 /**2685 * Lookup314: xcm::v2::multiasset::MultiAssetFilter2542 * Lookup233: xcm::v2::OriginKind2686 **/2543 **/2544 XcmV2OriginKind: {2545 _enum: ['Native', 'SovereignAccount', 'Superuser', 'Xcm']2546 },2547 /**2548 * Lookup234: xcm::double_encoded::DoubleEncoded<T>2549 **/2550 XcmDoubleEncoded: {2551 encoded: 'Bytes'2552 },2553 /**2554 * Lookup235: xcm::v2::multiasset::MultiAssetFilter2555 **/2687 XcmV2MultiassetMultiAssetFilter: {2556 XcmV2MultiassetMultiAssetFilter: {2688 _enum: {2557 _enum: {2689 Definite: 'XcmV2MultiassetMultiAssets',2558 Definite: 'XcmV2MultiassetMultiAssets',2690 Wild: 'XcmV2MultiassetWildMultiAsset'2559 Wild: 'XcmV2MultiassetWildMultiAsset'2691 }2560 }2692 },2561 },2693 /**2562 /**2694 * Lookup315: xcm::v2::multiasset::WildMultiAsset2563 * Lookup236: xcm::v2::multiasset::WildMultiAsset2695 **/2564 **/2696 XcmV2MultiassetWildMultiAsset: {2565 XcmV2MultiassetWildMultiAsset: {2697 _enum: {2566 _enum: {2703 }2572 }2704 },2573 },2705 /**2574 /**2706 * Lookup316: xcm::v2::multiasset::WildFungibility2575 * Lookup237: xcm::v2::multiasset::WildFungibility2707 **/2576 **/2708 XcmV2MultiassetWildFungibility: {2577 XcmV2MultiassetWildFungibility: {2709 _enum: ['Fungible', 'NonFungible']2578 _enum: ['Fungible', 'NonFungible']2710 },2579 },2711 /**2580 /**2712 * Lookup317: xcm::v2::WeightLimit2581 * Lookup238: xcm::v2::WeightLimit2713 **/2582 **/2714 XcmV2WeightLimit: {2583 XcmV2WeightLimit: {2715 _enum: {2584 _enum: {2718 }2587 }2719 },2588 },2720 /**2589 /**2721 * Lookup326: cumulus_pallet_xcm::pallet::Call<T>2590 * Lookup239: xcm::v3::Xcm<Call>2722 **/2591 **/2592 XcmV3Xcm: 'Vec<XcmV3Instruction>',2593 /**2594 * Lookup241: xcm::v3::Instruction<Call>2595 **/2596 XcmV3Instruction: {2597 _enum: {2598 WithdrawAsset: 'XcmV3MultiassetMultiAssets',2599 ReserveAssetDeposited: 'XcmV3MultiassetMultiAssets',2600 ReceiveTeleportedAsset: 'XcmV3MultiassetMultiAssets',2601 QueryResponse: {2602 queryId: 'Compact<u64>',2603 response: 'XcmV3Response',2604 maxWeight: 'SpWeightsWeightV2Weight',2605 querier: 'Option<XcmV3MultiLocation>',2606 },2607 TransferAsset: {2608 assets: 'XcmV3MultiassetMultiAssets',2609 beneficiary: 'XcmV3MultiLocation',2610 },2611 TransferReserveAsset: {2612 assets: 'XcmV3MultiassetMultiAssets',2613 dest: 'XcmV3MultiLocation',2614 xcm: 'XcmV3Xcm',2615 },2616 Transact: {2617 originKind: 'XcmV2OriginKind',2618 requireWeightAtMost: 'SpWeightsWeightV2Weight',2619 call: 'XcmDoubleEncoded',2620 },2621 HrmpNewChannelOpenRequest: {2622 sender: 'Compact<u32>',2623 maxMessageSize: 'Compact<u32>',2624 maxCapacity: 'Compact<u32>',2625 },2626 HrmpChannelAccepted: {2627 recipient: 'Compact<u32>',2628 },2629 HrmpChannelClosing: {2630 initiator: 'Compact<u32>',2631 sender: 'Compact<u32>',2632 recipient: 'Compact<u32>',2633 },2634 ClearOrigin: 'Null',2635 DescendOrigin: 'XcmV3Junctions',2636 ReportError: 'XcmV3QueryResponseInfo',2637 DepositAsset: {2638 assets: 'XcmV3MultiassetMultiAssetFilter',2639 beneficiary: 'XcmV3MultiLocation',2640 },2641 DepositReserveAsset: {2642 assets: 'XcmV3MultiassetMultiAssetFilter',2643 dest: 'XcmV3MultiLocation',2644 xcm: 'XcmV3Xcm',2645 },2646 ExchangeAsset: {2647 give: 'XcmV3MultiassetMultiAssetFilter',2648 want: 'XcmV3MultiassetMultiAssets',2649 maximal: 'bool',2650 },2651 InitiateReserveWithdraw: {2652 assets: 'XcmV3MultiassetMultiAssetFilter',2653 reserve: 'XcmV3MultiLocation',2654 xcm: 'XcmV3Xcm',2655 },2656 InitiateTeleport: {2657 assets: 'XcmV3MultiassetMultiAssetFilter',2658 dest: 'XcmV3MultiLocation',2659 xcm: 'XcmV3Xcm',2660 },2661 ReportHolding: {2662 responseInfo: 'XcmV3QueryResponseInfo',2663 assets: 'XcmV3MultiassetMultiAssetFilter',2664 },2665 BuyExecution: {2666 fees: 'XcmV3MultiAsset',2667 weightLimit: 'XcmV3WeightLimit',2668 },2669 RefundSurplus: 'Null',2670 SetErrorHandler: 'XcmV3Xcm',2671 SetAppendix: 'XcmV3Xcm',2672 ClearError: 'Null',2673 ClaimAsset: {2674 assets: 'XcmV3MultiassetMultiAssets',2675 ticket: 'XcmV3MultiLocation',2676 },2677 Trap: 'Compact<u64>',2678 SubscribeVersion: {2679 queryId: 'Compact<u64>',2680 maxResponseWeight: 'SpWeightsWeightV2Weight',2681 },2682 UnsubscribeVersion: 'Null',2683 BurnAsset: 'XcmV3MultiassetMultiAssets',2684 ExpectAsset: 'XcmV3MultiassetMultiAssets',2685 ExpectOrigin: 'Option<XcmV3MultiLocation>',2686 ExpectError: 'Option<(u32,XcmV3TraitsError)>',2687 ExpectTransactStatus: 'XcmV3MaybeErrorCode',2688 QueryPallet: {2689 moduleName: 'Bytes',2690 responseInfo: 'XcmV3QueryResponseInfo',2691 },2692 ExpectPallet: {2693 index: 'Compact<u32>',2694 name: 'Bytes',2695 moduleName: 'Bytes',2696 crateMajor: 'Compact<u32>',2697 minCrateMinor: 'Compact<u32>',2698 },2699 ReportTransactStatus: 'XcmV3QueryResponseInfo',2700 ClearTransactStatus: 'Null',2701 UniversalOrigin: 'XcmV3Junction',2702 ExportMessage: {2703 network: 'XcmV3JunctionNetworkId',2704 destination: 'XcmV3Junctions',2705 xcm: 'XcmV3Xcm',2706 },2707 LockAsset: {2708 asset: 'XcmV3MultiAsset',2709 unlocker: 'XcmV3MultiLocation',2710 },2711 UnlockAsset: {2712 asset: 'XcmV3MultiAsset',2713 target: 'XcmV3MultiLocation',2714 },2715 NoteUnlockable: {2716 asset: 'XcmV3MultiAsset',2717 owner: 'XcmV3MultiLocation',2718 },2719 RequestUnlock: {2720 asset: 'XcmV3MultiAsset',2721 locker: 'XcmV3MultiLocation',2722 },2723 SetFeesMode: {2724 jitWithdraw: 'bool',2725 },2726 SetTopic: '[u8;32]',2727 ClearTopic: 'Null',2728 AliasOrigin: 'XcmV3MultiLocation',2729 UnpaidExecution: {2730 weightLimit: 'XcmV3WeightLimit',2731 checkOrigin: 'Option<XcmV3MultiLocation>'2732 }2733 }2734 },2735 /**2736 * Lookup242: xcm::v3::Response2737 **/2738 XcmV3Response: {2739 _enum: {2740 Null: 'Null',2741 Assets: 'XcmV3MultiassetMultiAssets',2742 ExecutionResult: 'Option<(u32,XcmV3TraitsError)>',2743 Version: 'u32',2744 PalletsInfo: 'Vec<XcmV3PalletInfo>',2745 DispatchResult: 'XcmV3MaybeErrorCode'2746 }2747 },2748 /**2749 * Lookup245: xcm::v3::traits::Error2750 **/2751 XcmV3TraitsError: {2752 _enum: {2753 Overflow: 'Null',2754 Unimplemented: 'Null',2755 UntrustedReserveLocation: 'Null',2756 UntrustedTeleportLocation: 'Null',2757 LocationFull: 'Null',2758 LocationNotInvertible: 'Null',2759 BadOrigin: 'Null',2760 InvalidLocation: 'Null',2761 AssetNotFound: 'Null',2762 FailedToTransactAsset: 'Null',2763 NotWithdrawable: 'Null',2764 LocationCannotHold: 'Null',2765 ExceedsMaxMessageSize: 'Null',2766 DestinationUnsupported: 'Null',2767 Transport: 'Null',2768 Unroutable: 'Null',2769 UnknownClaim: 'Null',2770 FailedToDecode: 'Null',2771 MaxWeightInvalid: 'Null',2772 NotHoldingFees: 'Null',2773 TooExpensive: 'Null',2774 Trap: 'u64',2775 ExpectationFalse: 'Null',2776 PalletNotFound: 'Null',2777 NameMismatch: 'Null',2778 VersionIncompatible: 'Null',2779 HoldingWouldOverflow: 'Null',2780 ExportError: 'Null',2781 ReanchorFailed: 'Null',2782 NoDeal: 'Null',2783 FeesNotMet: 'Null',2784 LockError: 'Null',2785 NoPermission: 'Null',2786 Unanchored: 'Null',2787 NotDepositable: 'Null',2788 UnhandledXcmVersion: 'Null',2789 WeightLimitReached: 'SpWeightsWeightV2Weight',2790 Barrier: 'Null',2791 WeightNotComputable: 'Null',2792 ExceedsStackLimit: 'Null'2793 }2794 },2795 /**2796 * Lookup247: xcm::v3::PalletInfo2797 **/2798 XcmV3PalletInfo: {2799 index: 'Compact<u32>',2800 name: 'Bytes',2801 moduleName: 'Bytes',2802 major: 'Compact<u32>',2803 minor: 'Compact<u32>',2804 patch: 'Compact<u32>'2805 },2806 /**2807 * Lookup250: xcm::v3::MaybeErrorCode2808 **/2809 XcmV3MaybeErrorCode: {2810 _enum: {2811 Success: 'Null',2812 Error: 'Bytes',2813 TruncatedError: 'Bytes'2814 }2815 },2816 /**2817 * Lookup253: xcm::v3::QueryResponseInfo2818 **/2819 XcmV3QueryResponseInfo: {2820 destination: 'XcmV3MultiLocation',2821 queryId: 'Compact<u64>',2822 maxWeight: 'SpWeightsWeightV2Weight'2823 },2824 /**2825 * Lookup254: xcm::v3::multiasset::MultiAssetFilter2826 **/2827 XcmV3MultiassetMultiAssetFilter: {2828 _enum: {2829 Definite: 'XcmV3MultiassetMultiAssets',2830 Wild: 'XcmV3MultiassetWildMultiAsset'2831 }2832 },2833 /**2834 * Lookup255: xcm::v3::multiasset::WildMultiAsset2835 **/2836 XcmV3MultiassetWildMultiAsset: {2837 _enum: {2838 All: 'Null',2839 AllOf: {2840 id: 'XcmV3MultiassetAssetId',2841 fun: 'XcmV3MultiassetWildFungibility',2842 },2843 AllCounted: 'Compact<u32>',2844 AllOfCounted: {2845 id: 'XcmV3MultiassetAssetId',2846 fun: 'XcmV3MultiassetWildFungibility',2847 count: 'Compact<u32>'2848 }2849 }2850 },2851 /**2852 * Lookup256: xcm::v3::multiasset::WildFungibility2853 **/2854 XcmV3MultiassetWildFungibility: {2855 _enum: ['Fungible', 'NonFungible']2856 },2857 /**2858 * Lookup265: cumulus_pallet_xcm::pallet::Call<T>2859 **/2723 CumulusPalletXcmCall: 'Null',2860 CumulusPalletXcmCall: 'Null',2724 /**2861 /**2725 * Lookup327: cumulus_pallet_dmp_queue::pallet::Call<T>2862 * Lookup266: cumulus_pallet_dmp_queue::pallet::Call<T>2726 **/2863 **/2727 CumulusPalletDmpQueueCall: {2864 CumulusPalletDmpQueueCall: {2728 _enum: {2865 _enum: {2733 }2870 }2734 },2871 },2735 /**2872 /**2736 * Lookup328: pallet_inflation::pallet::Call<T>2873 * Lookup267: pallet_inflation::pallet::Call<T>2737 **/2874 **/2738 PalletInflationCall: {2875 PalletInflationCall: {2739 _enum: {2876 _enum: {2743 }2880 }2744 },2881 },2745 /**2882 /**2746 * Lookup329: pallet_unique::pallet::Call<T>2883 * Lookup268: pallet_unique::pallet::Call<T>2747 **/2884 **/2748 PalletUniqueCall: {2885 PalletUniqueCall: {2749 _enum: {2886 _enum: {2894 }3031 }2895 },3032 },2896 /**3033 /**2897 * Lookup334: up_data_structs::CollectionMode3034 * Lookup273: up_data_structs::CollectionMode2898 **/3035 **/2899 UpDataStructsCollectionMode: {3036 UpDataStructsCollectionMode: {2900 _enum: {3037 _enum: {2904 }3041 }2905 },3042 },2906 /**3043 /**2907 * Lookup335: up_data_structs::CreateCollectionData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3044 * Lookup274: up_data_structs::CreateCollectionData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>2908 **/3045 **/2909 UpDataStructsCreateCollectionData: {3046 UpDataStructsCreateCollectionData: {2910 mode: 'UpDataStructsCollectionMode',3047 mode: 'UpDataStructsCollectionMode',2921 flags: '[u8;1]'3058 flags: '[u8;1]'2922 },3059 },2923 /**3060 /**2924 * Lookup337: up_data_structs::AccessMode3061 * Lookup275: pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>2925 **/3062 **/3063 PalletEvmAccountBasicCrossAccountIdRepr: {3064 _enum: {3065 Substrate: 'AccountId32',3066 Ethereum: 'H160'3067 }3068 },3069 /**3070 * Lookup277: up_data_structs::AccessMode3071 **/2926 UpDataStructsAccessMode: {3072 UpDataStructsAccessMode: {2927 _enum: ['Normal', 'AllowList']3073 _enum: ['Normal', 'AllowList']2928 },3074 },2929 /**3075 /**2930 * Lookup339: up_data_structs::CollectionLimits3076 * Lookup279: up_data_structs::CollectionLimits2931 **/3077 **/2932 UpDataStructsCollectionLimits: {3078 UpDataStructsCollectionLimits: {2933 accountTokenOwnershipLimit: 'Option<u32>',3079 accountTokenOwnershipLimit: 'Option<u32>',2941 transfersEnabled: 'Option<bool>'3087 transfersEnabled: 'Option<bool>'2942 },3088 },2943 /**3089 /**2944 * Lookup341: up_data_structs::SponsoringRateLimit3090 * Lookup281: up_data_structs::SponsoringRateLimit2945 **/3091 **/2946 UpDataStructsSponsoringRateLimit: {3092 UpDataStructsSponsoringRateLimit: {2947 _enum: {3093 _enum: {2950 }3096 }2951 },3097 },2952 /**3098 /**2953 * Lookup344: up_data_structs::CollectionPermissions3099 * Lookup284: up_data_structs::CollectionPermissions2954 **/3100 **/2955 UpDataStructsCollectionPermissions: {3101 UpDataStructsCollectionPermissions: {2956 access: 'Option<UpDataStructsAccessMode>',3102 access: 'Option<UpDataStructsAccessMode>',2957 mintMode: 'Option<bool>',3103 mintMode: 'Option<bool>',2958 nesting: 'Option<UpDataStructsNestingPermissions>'3104 nesting: 'Option<UpDataStructsNestingPermissions>'2959 },3105 },2960 /**3106 /**2961 * Lookup346: up_data_structs::NestingPermissions3107 * Lookup286: up_data_structs::NestingPermissions2962 **/3108 **/2963 UpDataStructsNestingPermissions: {3109 UpDataStructsNestingPermissions: {2964 tokenOwner: 'bool',3110 tokenOwner: 'bool',2965 collectionAdmin: 'bool',3111 collectionAdmin: 'bool',2966 restricted: 'Option<UpDataStructsOwnerRestrictedSet>'3112 restricted: 'Option<UpDataStructsOwnerRestrictedSet>'2967 },3113 },2968 /**3114 /**2969 * Lookup348: up_data_structs::OwnerRestrictedSet3115 * Lookup288: up_data_structs::OwnerRestrictedSet2970 **/3116 **/2971 UpDataStructsOwnerRestrictedSet: 'BTreeSet<u32>',3117 UpDataStructsOwnerRestrictedSet: 'BTreeSet<u32>',2972 /**3118 /**2973 * Lookup353: up_data_structs::PropertyKeyPermission3119 * Lookup294: up_data_structs::PropertyKeyPermission2974 **/3120 **/2975 UpDataStructsPropertyKeyPermission: {3121 UpDataStructsPropertyKeyPermission: {2976 key: 'Bytes',3122 key: 'Bytes',2977 permission: 'UpDataStructsPropertyPermission'3123 permission: 'UpDataStructsPropertyPermission'2978 },3124 },2979 /**3125 /**2980 * Lookup354: up_data_structs::PropertyPermission3126 * Lookup296: up_data_structs::PropertyPermission2981 **/3127 **/2982 UpDataStructsPropertyPermission: {3128 UpDataStructsPropertyPermission: {2983 mutable: 'bool',3129 mutable: 'bool',2984 collectionAdmin: 'bool',3130 collectionAdmin: 'bool',2985 tokenOwner: 'bool'3131 tokenOwner: 'bool'2986 },3132 },2987 /**3133 /**2988 * Lookup357: up_data_structs::Property3134 * Lookup299: up_data_structs::Property2989 **/3135 **/2990 UpDataStructsProperty: {3136 UpDataStructsProperty: {2991 key: 'Bytes',3137 key: 'Bytes',2992 value: 'Bytes'3138 value: 'Bytes'2993 },3139 },2994 /**3140 /**2995 * Lookup362: up_data_structs::CreateItemData3141 * Lookup304: up_data_structs::CreateItemData2996 **/3142 **/2997 UpDataStructsCreateItemData: {3143 UpDataStructsCreateItemData: {2998 _enum: {3144 _enum: {3002 }3148 }3003 },3149 },3004 /**3150 /**3005 * Lookup363: up_data_structs::CreateNftData3151 * Lookup305: up_data_structs::CreateNftData3006 **/3152 **/3007 UpDataStructsCreateNftData: {3153 UpDataStructsCreateNftData: {3008 properties: 'Vec<UpDataStructsProperty>'3154 properties: 'Vec<UpDataStructsProperty>'3009 },3155 },3010 /**3156 /**3011 * Lookup364: up_data_structs::CreateFungibleData3157 * Lookup306: up_data_structs::CreateFungibleData3012 **/3158 **/3013 UpDataStructsCreateFungibleData: {3159 UpDataStructsCreateFungibleData: {3014 value: 'u128'3160 value: 'u128'3015 },3161 },3016 /**3162 /**3017 * Lookup365: up_data_structs::CreateReFungibleData3163 * Lookup307: up_data_structs::CreateReFungibleData3018 **/3164 **/3019 UpDataStructsCreateReFungibleData: {3165 UpDataStructsCreateReFungibleData: {3020 pieces: 'u128',3166 pieces: 'u128',3021 properties: 'Vec<UpDataStructsProperty>'3167 properties: 'Vec<UpDataStructsProperty>'3022 },3168 },3023 /**3169 /**3024 * Lookup368: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3170 * Lookup311: up_data_structs::CreateItemExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3025 **/3171 **/3026 UpDataStructsCreateItemExData: {3172 UpDataStructsCreateItemExData: {3027 _enum: {3173 _enum: {3032 }3178 }3033 },3179 },3034 /**3180 /**3035 * Lookup370: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3181 * Lookup313: up_data_structs::CreateNftExData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3036 **/3182 **/3037 UpDataStructsCreateNftExData: {3183 UpDataStructsCreateNftExData: {3038 properties: 'Vec<UpDataStructsProperty>',3184 properties: 'Vec<UpDataStructsProperty>',3039 owner: 'PalletEvmAccountBasicCrossAccountIdRepr'3185 owner: 'PalletEvmAccountBasicCrossAccountIdRepr'3040 },3186 },3041 /**3187 /**3042 * Lookup377: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3188 * Lookup320: up_data_structs::CreateRefungibleExSingleOwner<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3043 **/3189 **/3044 UpDataStructsCreateRefungibleExSingleOwner: {3190 UpDataStructsCreateRefungibleExSingleOwner: {3045 user: 'PalletEvmAccountBasicCrossAccountIdRepr',3191 user: 'PalletEvmAccountBasicCrossAccountIdRepr',3046 pieces: 'u128',3192 pieces: 'u128',3047 properties: 'Vec<UpDataStructsProperty>'3193 properties: 'Vec<UpDataStructsProperty>'3048 },3194 },3049 /**3195 /**3050 * Lookup379: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3196 * Lookup322: up_data_structs::CreateRefungibleExMultipleOwners<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3051 **/3197 **/3052 UpDataStructsCreateRefungibleExMultipleOwners: {3198 UpDataStructsCreateRefungibleExMultipleOwners: {3053 users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',3199 users: 'BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>',3054 properties: 'Vec<UpDataStructsProperty>'3200 properties: 'Vec<UpDataStructsProperty>'3055 },3201 },3056 /**3202 /**3057 * Lookup380: pallet_configuration::pallet::Call<T>3203 * Lookup323: pallet_configuration::pallet::Call<T>3058 **/3204 **/3059 PalletConfigurationCall: {3205 PalletConfigurationCall: {3060 _enum: {3206 _enum: {3080 }3226 }3081 },3227 },3082 /**3228 /**3083 * Lookup382: pallet_configuration::AppPromotionConfiguration<BlockNumber>3229 * Lookup325: pallet_configuration::AppPromotionConfiguration<BlockNumber>3084 **/3230 **/3085 PalletConfigurationAppPromotionConfiguration: {3231 PalletConfigurationAppPromotionConfiguration: {3086 recalculationInterval: 'Option<u32>',3232 recalculationInterval: 'Option<u32>',3089 maxStakersPerCalculation: 'Option<u8>'3235 maxStakersPerCalculation: 'Option<u8>'3090 },3236 },3091 /**3237 /**3092 * Lookup386: pallet_structure::pallet::Call<T>3238 * Lookup330: pallet_structure::pallet::Call<T>3093 **/3239 **/3094 PalletStructureCall: 'Null',3240 PalletStructureCall: 'Null',3095 /**3241 /**3096 * Lookup387: pallet_app_promotion::pallet::Call<T>3242 * Lookup331: pallet_app_promotion::pallet::Call<T>3097 **/3243 **/3098 PalletAppPromotionCall: {3244 PalletAppPromotionCall: {3099 _enum: {3245 _enum: {3128 }3274 }3129 },3275 },3130 /**3276 /**3131 * Lookup388: pallet_foreign_assets::module::Call<T>3277 * Lookup333: pallet_foreign_assets::module::Call<T>3132 **/3278 **/3133 PalletForeignAssetsModuleCall: {3279 PalletForeignAssetsModuleCall: {3134 _enum: {3280 _enum: {3145 }3291 }3146 },3292 },3147 /**3293 /**3148 * Lookup389: pallet_evm::pallet::Call<T>3294 * Lookup334: pallet_foreign_assets::module::AssetMetadata<Balance>3149 **/3295 **/3296 PalletForeignAssetsModuleAssetMetadata: {3297 name: 'Bytes',3298 symbol: 'Bytes',3299 decimals: 'u8',3300 minimalBalance: 'u128'3301 },3302 /**3303 * Lookup337: pallet_evm::pallet::Call<T>3304 **/3150 PalletEvmCall: {3305 PalletEvmCall: {3151 _enum: {3306 _enum: {3152 withdraw: {3307 withdraw: {3188 }3343 }3189 },3344 },3190 /**3345 /**3191 * Lookup395: pallet_ethereum::pallet::Call<T>3346 * Lookup344: pallet_ethereum::pallet::Call<T>3192 **/3347 **/3193 PalletEthereumCall: {3348 PalletEthereumCall: {3194 _enum: {3349 _enum: {3198 }3353 }3199 },3354 },3200 /**3355 /**3201 * Lookup396: ethereum::transaction::TransactionV23356 * Lookup345: ethereum::transaction::TransactionV23202 **/3357 **/3203 EthereumTransactionTransactionV2: {3358 EthereumTransactionTransactionV2: {3204 _enum: {3359 _enum: {3208 }3363 }3209 },3364 },3210 /**3365 /**3211 * Lookup397: ethereum::transaction::LegacyTransaction3366 * Lookup346: ethereum::transaction::LegacyTransaction3212 **/3367 **/3213 EthereumTransactionLegacyTransaction: {3368 EthereumTransactionLegacyTransaction: {3214 nonce: 'U256',3369 nonce: 'U256',3220 signature: 'EthereumTransactionTransactionSignature'3375 signature: 'EthereumTransactionTransactionSignature'3221 },3376 },3222 /**3377 /**3223 * Lookup398: ethereum::transaction::TransactionAction3378 * Lookup347: ethereum::transaction::TransactionAction3224 **/3379 **/3225 EthereumTransactionTransactionAction: {3380 EthereumTransactionTransactionAction: {3226 _enum: {3381 _enum: {3229 }3384 }3230 },3385 },3231 /**3386 /**3232 * Lookup399: ethereum::transaction::TransactionSignature3387 * Lookup348: ethereum::transaction::TransactionSignature3233 **/3388 **/3234 EthereumTransactionTransactionSignature: {3389 EthereumTransactionTransactionSignature: {3235 v: 'u64',3390 v: 'u64',3236 r: 'H256',3391 r: 'H256',3237 s: 'H256'3392 s: 'H256'3238 },3393 },3239 /**3394 /**3240 * Lookup401: ethereum::transaction::EIP2930Transaction3395 * Lookup350: ethereum::transaction::EIP2930Transaction3241 **/3396 **/3242 EthereumTransactionEip2930Transaction: {3397 EthereumTransactionEip2930Transaction: {3243 chainId: 'u64',3398 chainId: 'u64',3253 s: 'H256'3408 s: 'H256'3254 },3409 },3255 /**3410 /**3256 * Lookup403: ethereum::transaction::AccessListItem3411 * Lookup352: ethereum::transaction::AccessListItem3257 **/3412 **/3258 EthereumTransactionAccessListItem: {3413 EthereumTransactionAccessListItem: {3259 address: 'H160',3414 address: 'H160',3260 storageKeys: 'Vec<H256>'3415 storageKeys: 'Vec<H256>'3261 },3416 },3262 /**3417 /**3263 * Lookup404: ethereum::transaction::EIP1559Transaction3418 * Lookup353: ethereum::transaction::EIP1559Transaction3264 **/3419 **/3265 EthereumTransactionEip1559Transaction: {3420 EthereumTransactionEip1559Transaction: {3266 chainId: 'u64',3421 chainId: 'u64',3277 s: 'H256'3432 s: 'H256'3278 },3433 },3279 /**3434 /**3280 * Lookup405: pallet_evm_contract_helpers::pallet::Call<T>3435 * Lookup354: pallet_evm_contract_helpers::pallet::Call<T>3281 **/3436 **/3282 PalletEvmContractHelpersCall: {3437 PalletEvmContractHelpersCall: {3283 _enum: {3438 _enum: {3287 }3442 }3288 },3443 },3289 /**3444 /**3290 * Lookup407: pallet_evm_migration::pallet::Call<T>3445 * Lookup356: pallet_evm_migration::pallet::Call<T>3291 **/3446 **/3292 PalletEvmMigrationCall: {3447 PalletEvmMigrationCall: {3293 _enum: {3448 _enum: {3312 }3467 }3313 },3468 },3314 /**3469 /**3315 * Lookup411: pallet_maintenance::pallet::Call<T>3470 * Lookup360: ethereum::log::Log3316 **/3471 **/3472 EthereumLog: {3473 address: 'H160',3474 topics: 'Vec<H256>',3475 data: 'Bytes'3476 },3477 /**3478 * Lookup361: pallet_maintenance::pallet::Call<T>3479 **/3317 PalletMaintenanceCall: {3480 PalletMaintenanceCall: {3318 _enum: {3481 _enum: {3319 enable: 'Null',3482 enable: 'Null',3328 }3491 }3329 },3492 },3330 /**3493 /**3331 * Lookup412: pallet_test_utils::pallet::Call<T>3494 * Lookup362: pallet_test_utils::pallet::Call<T>3332 **/3495 **/3333 PalletTestUtilsCall: {3496 PalletTestUtilsCall: {3334 _enum: {3497 _enum: {3347 }3510 }3348 },3511 },3349 /**3512 /**3350 * Lookup414: pallet_sudo::pallet::Error<T>3513 * Lookup365: pallet_scheduler::pallet::Event<T>3351 **/3514 **/3515 PalletSchedulerEvent: {3516 _enum: {3517 Scheduled: {3518 when: 'u32',3519 index: 'u32',3520 },3521 Canceled: {3522 when: 'u32',3523 index: 'u32',3524 },3525 Dispatched: {3526 task: '(u32,u32)',3527 id: 'Option<[u8;32]>',3528 result: 'Result<Null, SpRuntimeDispatchError>',3529 },3530 CallUnavailable: {3531 task: '(u32,u32)',3532 id: 'Option<[u8;32]>',3533 },3534 PeriodicFailed: {3535 task: '(u32,u32)',3536 id: 'Option<[u8;32]>',3537 },3538 PermanentlyOverweight: {3539 task: '(u32,u32)',3540 id: 'Option<[u8;32]>'3541 }3542 }3543 },3544 /**3545 * Lookup366: cumulus_pallet_xcmp_queue::pallet::Event<T>3546 **/3547 CumulusPalletXcmpQueueEvent: {3548 _enum: {3549 Success: {3550 messageHash: 'Option<[u8;32]>',3551 weight: 'SpWeightsWeightV2Weight',3552 },3553 Fail: {3554 messageHash: 'Option<[u8;32]>',3555 error: 'XcmV3TraitsError',3556 weight: 'SpWeightsWeightV2Weight',3557 },3558 BadVersion: {3559 messageHash: 'Option<[u8;32]>',3560 },3561 BadFormat: {3562 messageHash: 'Option<[u8;32]>',3563 },3564 XcmpMessageSent: {3565 messageHash: 'Option<[u8;32]>',3566 },3567 OverweightEnqueued: {3568 sender: 'u32',3569 sentAt: 'u32',3570 index: 'u64',3571 required: 'SpWeightsWeightV2Weight',3572 },3573 OverweightServiced: {3574 index: 'u64',3575 used: 'SpWeightsWeightV2Weight'3576 }3577 }3578 },3579 /**3580 * Lookup367: pallet_xcm::pallet::Event<T>3581 **/3582 PalletXcmEvent: {3583 _enum: {3584 Attempted: 'XcmV3TraitsOutcome',3585 Sent: '(XcmV3MultiLocation,XcmV3MultiLocation,XcmV3Xcm)',3586 UnexpectedResponse: '(XcmV3MultiLocation,u64)',3587 ResponseReady: '(u64,XcmV3Response)',3588 Notified: '(u64,u8,u8)',3589 NotifyOverweight: '(u64,u8,u8,SpWeightsWeightV2Weight,SpWeightsWeightV2Weight)',3590 NotifyDispatchError: '(u64,u8,u8)',3591 NotifyDecodeFailed: '(u64,u8,u8)',3592 InvalidResponder: '(XcmV3MultiLocation,u64,Option<XcmV3MultiLocation>)',3593 InvalidResponderVersion: '(XcmV3MultiLocation,u64)',3594 ResponseTaken: 'u64',3595 AssetsTrapped: '(H256,XcmV3MultiLocation,XcmVersionedMultiAssets)',3596 VersionChangeNotified: '(XcmV3MultiLocation,u32,XcmV3MultiassetMultiAssets)',3597 SupportedVersionChanged: '(XcmV3MultiLocation,u32)',3598 NotifyTargetSendFail: '(XcmV3MultiLocation,u64,XcmV3TraitsError)',3599 NotifyTargetMigrationFail: '(XcmVersionedMultiLocation,u64)',3600 InvalidQuerierVersion: '(XcmV3MultiLocation,u64)',3601 InvalidQuerier: '(XcmV3MultiLocation,u64,XcmV3MultiLocation,Option<XcmV3MultiLocation>)',3602 VersionNotifyStarted: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)',3603 VersionNotifyRequested: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)',3604 VersionNotifyUnrequested: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)',3605 FeesPaid: '(XcmV3MultiLocation,XcmV3MultiassetMultiAssets)',3606 AssetsClaimed: '(H256,XcmV3MultiLocation,XcmVersionedMultiAssets)'3607 }3608 },3609 /**3610 * Lookup368: xcm::v3::traits::Outcome3611 **/3612 XcmV3TraitsOutcome: {3613 _enum: {3614 Complete: 'SpWeightsWeightV2Weight',3615 Incomplete: '(SpWeightsWeightV2Weight,XcmV3TraitsError)',3616 Error: 'XcmV3TraitsError'3617 }3618 },3619 /**3620 * Lookup369: cumulus_pallet_xcm::pallet::Event<T>3621 **/3622 CumulusPalletXcmEvent: {3623 _enum: {3624 InvalidFormat: '[u8;32]',3625 UnsupportedVersion: '[u8;32]',3626 ExecutedDownward: '([u8;32],XcmV3TraitsOutcome)'3627 }3628 },3629 /**3630 * Lookup370: cumulus_pallet_dmp_queue::pallet::Event<T>3631 **/3632 CumulusPalletDmpQueueEvent: {3633 _enum: {3634 InvalidFormat: {3635 messageId: '[u8;32]',3636 },3637 UnsupportedVersion: {3638 messageId: '[u8;32]',3639 },3640 ExecutedDownward: {3641 messageId: '[u8;32]',3642 outcome: 'XcmV3TraitsOutcome',3643 },3644 WeightExhausted: {3645 messageId: '[u8;32]',3646 remainingWeight: 'SpWeightsWeightV2Weight',3647 requiredWeight: 'SpWeightsWeightV2Weight',3648 },3649 OverweightEnqueued: {3650 messageId: '[u8;32]',3651 overweightIndex: 'u64',3652 requiredWeight: 'SpWeightsWeightV2Weight',3653 },3654 OverweightServiced: {3655 overweightIndex: 'u64',3656 weightUsed: 'SpWeightsWeightV2Weight',3657 },3658 MaxMessagesExhausted: {3659 messageId: '[u8;32]'3660 }3661 }3662 },3663 /**3664 * Lookup371: pallet_configuration::pallet::Event<T>3665 **/3666 PalletConfigurationEvent: {3667 _enum: {3668 NewDesiredCollators: {3669 desiredCollators: 'Option<u32>',3670 },3671 NewCollatorLicenseBond: {3672 bondCost: 'Option<u128>',3673 },3674 NewCollatorKickThreshold: {3675 lengthInBlocks: 'Option<u32>'3676 }3677 }3678 },3679 /**3680 * Lookup372: pallet_common::pallet::Event<T>3681 **/3682 PalletCommonEvent: {3683 _enum: {3684 CollectionCreated: '(u32,u8,AccountId32)',3685 CollectionDestroyed: 'u32',3686 ItemCreated: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',3687 ItemDestroyed: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,u128)',3688 Transfer: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',3689 Approved: '(u32,u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,u128)',3690 ApprovedForAll: '(u32,PalletEvmAccountBasicCrossAccountIdRepr,PalletEvmAccountBasicCrossAccountIdRepr,bool)',3691 CollectionPropertySet: '(u32,Bytes)',3692 CollectionPropertyDeleted: '(u32,Bytes)',3693 TokenPropertySet: '(u32,u32,Bytes)',3694 TokenPropertyDeleted: '(u32,u32,Bytes)',3695 PropertyPermissionSet: '(u32,Bytes)',3696 AllowListAddressAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',3697 AllowListAddressRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',3698 CollectionAdminAdded: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',3699 CollectionAdminRemoved: '(u32,PalletEvmAccountBasicCrossAccountIdRepr)',3700 CollectionLimitSet: 'u32',3701 CollectionOwnerChanged: '(u32,AccountId32)',3702 CollectionPermissionSet: 'u32',3703 CollectionSponsorSet: '(u32,AccountId32)',3704 SponsorshipConfirmed: '(u32,AccountId32)',3705 CollectionSponsorRemoved: 'u32'3706 }3707 },3708 /**3709 * Lookup373: pallet_structure::pallet::Event<T>3710 **/3711 PalletStructureEvent: {3712 _enum: {3713 Executed: 'Result<Null, SpRuntimeDispatchError>'3714 }3715 },3716 /**3717 * Lookup374: pallet_app_promotion::pallet::Event<T>3718 **/3719 PalletAppPromotionEvent: {3720 _enum: {3721 StakingRecalculation: '(AccountId32,u128,u128)',3722 Stake: '(AccountId32,u128)',3723 Unstake: '(AccountId32,u128)',3724 SetAdmin: 'AccountId32'3725 }3726 },3727 /**3728 * Lookup375: pallet_foreign_assets::module::Event<T>3729 **/3730 PalletForeignAssetsModuleEvent: {3731 _enum: {3732 ForeignAssetRegistered: {3733 assetId: 'u32',3734 assetAddress: 'XcmV3MultiLocation',3735 metadata: 'PalletForeignAssetsModuleAssetMetadata',3736 },3737 ForeignAssetUpdated: {3738 assetId: 'u32',3739 assetAddress: 'XcmV3MultiLocation',3740 metadata: 'PalletForeignAssetsModuleAssetMetadata',3741 },3742 AssetRegistered: {3743 assetId: 'PalletForeignAssetsAssetIds',3744 metadata: 'PalletForeignAssetsModuleAssetMetadata',3745 },3746 AssetUpdated: {3747 assetId: 'PalletForeignAssetsAssetIds',3748 metadata: 'PalletForeignAssetsModuleAssetMetadata'3749 }3750 }3751 },3752 /**3753 * Lookup376: pallet_evm::pallet::Event<T>3754 **/3755 PalletEvmEvent: {3756 _enum: {3757 Log: {3758 log: 'EthereumLog',3759 },3760 Created: {3761 address: 'H160',3762 },3763 CreatedFailed: {3764 address: 'H160',3765 },3766 Executed: {3767 address: 'H160',3768 },3769 ExecutedFailed: {3770 address: 'H160'3771 }3772 }3773 },3774 /**3775 * Lookup377: pallet_ethereum::pallet::Event3776 **/3777 PalletEthereumEvent: {3778 _enum: {3779 Executed: {3780 from: 'H160',3781 to: 'H160',3782 transactionHash: 'H256',3783 exitReason: 'EvmCoreErrorExitReason',3784 extraData: 'Bytes'3785 }3786 }3787 },3788 /**3789 * Lookup378: evm_core::error::ExitReason3790 **/3791 EvmCoreErrorExitReason: {3792 _enum: {3793 Succeed: 'EvmCoreErrorExitSucceed',3794 Error: 'EvmCoreErrorExitError',3795 Revert: 'EvmCoreErrorExitRevert',3796 Fatal: 'EvmCoreErrorExitFatal'3797 }3798 },3799 /**3800 * Lookup379: evm_core::error::ExitSucceed3801 **/3802 EvmCoreErrorExitSucceed: {3803 _enum: ['Stopped', 'Returned', 'Suicided']3804 },3805 /**3806 * Lookup380: evm_core::error::ExitError3807 **/3808 EvmCoreErrorExitError: {3809 _enum: {3810 StackUnderflow: 'Null',3811 StackOverflow: 'Null',3812 InvalidJump: 'Null',3813 InvalidRange: 'Null',3814 DesignatedInvalid: 'Null',3815 CallTooDeep: 'Null',3816 CreateCollision: 'Null',3817 CreateContractLimit: 'Null',3818 OutOfOffset: 'Null',3819 OutOfGas: 'Null',3820 OutOfFund: 'Null',3821 PCUnderflow: 'Null',3822 CreateEmpty: 'Null',3823 Other: 'Text',3824 MaxNonce: 'Null',3825 InvalidCode: 'u8'3826 }3827 },3828 /**3829 * Lookup384: evm_core::error::ExitRevert3830 **/3831 EvmCoreErrorExitRevert: {3832 _enum: ['Reverted']3833 },3834 /**3835 * Lookup385: evm_core::error::ExitFatal3836 **/3837 EvmCoreErrorExitFatal: {3838 _enum: {3839 NotSupported: 'Null',3840 UnhandledInterrupt: 'Null',3841 CallErrorAsFatal: 'EvmCoreErrorExitError',3842 Other: 'Text'3843 }3844 },3845 /**3846 * Lookup386: pallet_evm_contract_helpers::pallet::Event<T>3847 **/3848 PalletEvmContractHelpersEvent: {3849 _enum: {3850 ContractSponsorSet: '(H160,AccountId32)',3851 ContractSponsorshipConfirmed: '(H160,AccountId32)',3852 ContractSponsorRemoved: 'H160'3853 }3854 },3855 /**3856 * Lookup387: pallet_evm_migration::pallet::Event<T>3857 **/3858 PalletEvmMigrationEvent: {3859 _enum: ['TestEvent']3860 },3861 /**3862 * Lookup388: pallet_maintenance::pallet::Event<T>3863 **/3864 PalletMaintenanceEvent: {3865 _enum: ['MaintenanceEnabled', 'MaintenanceDisabled']3866 },3867 /**3868 * Lookup389: pallet_test_utils::pallet::Event<T>3869 **/3870 PalletTestUtilsEvent: {3871 _enum: ['ValueIsSet', 'ShouldRollback', 'BatchCompleted']3872 },3873 /**3874 * Lookup390: frame_system::Phase3875 **/3876 FrameSystemPhase: {3877 _enum: {3878 ApplyExtrinsic: 'u32',3879 Finalization: 'Null',3880 Initialization: 'Null'3881 }3882 },3883 /**3884 * Lookup392: frame_system::LastRuntimeUpgradeInfo3885 **/3886 FrameSystemLastRuntimeUpgradeInfo: {3887 specVersion: 'Compact<u32>',3888 specName: 'Text'3889 },3890 /**3891 * Lookup393: frame_system::limits::BlockWeights3892 **/3893 FrameSystemLimitsBlockWeights: {3894 baseBlock: 'SpWeightsWeightV2Weight',3895 maxBlock: 'SpWeightsWeightV2Weight',3896 perClass: 'FrameSupportDispatchPerDispatchClassWeightsPerClass'3897 },3898 /**3899 * Lookup394: frame_support::dispatch::PerDispatchClass<frame_system::limits::WeightsPerClass>3900 **/3901 FrameSupportDispatchPerDispatchClassWeightsPerClass: {3902 normal: 'FrameSystemLimitsWeightsPerClass',3903 operational: 'FrameSystemLimitsWeightsPerClass',3904 mandatory: 'FrameSystemLimitsWeightsPerClass'3905 },3906 /**3907 * Lookup395: frame_system::limits::WeightsPerClass3908 **/3909 FrameSystemLimitsWeightsPerClass: {3910 baseExtrinsic: 'SpWeightsWeightV2Weight',3911 maxExtrinsic: 'Option<SpWeightsWeightV2Weight>',3912 maxTotal: 'Option<SpWeightsWeightV2Weight>',3913 reserved: 'Option<SpWeightsWeightV2Weight>'3914 },3915 /**3916 * Lookup397: frame_system::limits::BlockLength3917 **/3918 FrameSystemLimitsBlockLength: {3919 max: 'FrameSupportDispatchPerDispatchClassU32'3920 },3921 /**3922 * Lookup398: frame_support::dispatch::PerDispatchClass<T>3923 **/3924 FrameSupportDispatchPerDispatchClassU32: {3925 normal: 'u32',3926 operational: 'u32',3927 mandatory: 'u32'3928 },3929 /**3930 * Lookup399: sp_weights::RuntimeDbWeight3931 **/3932 SpWeightsRuntimeDbWeight: {3933 read: 'u64',3934 write: 'u64'3935 },3936 /**3937 * Lookup400: sp_version::RuntimeVersion3938 **/3939 SpVersionRuntimeVersion: {3940 specName: 'Text',3941 implName: 'Text',3942 authoringVersion: 'u32',3943 specVersion: 'u32',3944 implVersion: 'u32',3945 apis: 'Vec<([u8;8],u32)>',3946 transactionVersion: 'u32',3947 stateVersion: 'u8'3948 },3949 /**3950 * Lookup404: frame_system::pallet::Error<T>3951 **/3952 FrameSystemError: {3953 _enum: ['InvalidSpecName', 'SpecVersionNeedsToIncrease', 'FailedToExtractRuntimeVersion', 'NonDefaultComposite', 'NonZeroRefCount', 'CallFiltered']3954 },3955 /**3956 * Lookup406: polkadot_primitives::v4::UpgradeRestriction3957 **/3958 PolkadotPrimitivesV4UpgradeRestriction: {3959 _enum: ['Present']3960 },3961 /**3962 * Lookup407: cumulus_pallet_parachain_system::relay_state_snapshot::MessagingStateSnapshot3963 **/3964 CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot: {3965 dmqMqcHead: 'H256',3966 relayDispatchQueueSize: 'CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize',3967 ingressChannels: 'Vec<(u32,PolkadotPrimitivesV4AbridgedHrmpChannel)>',3968 egressChannels: 'Vec<(u32,PolkadotPrimitivesV4AbridgedHrmpChannel)>'3969 },3970 /**3971 * Lookup408: cumulus_pallet_parachain_system::relay_state_snapshot::RelayDispachQueueSize3972 **/3973 CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize: {3974 remainingCount: 'u32',3975 remainingSize: 'u32'3976 },3977 /**3978 * Lookup411: polkadot_primitives::v4::AbridgedHrmpChannel3979 **/3980 PolkadotPrimitivesV4AbridgedHrmpChannel: {3981 maxCapacity: 'u32',3982 maxTotalSize: 'u32',3983 maxMessageSize: 'u32',3984 msgCount: 'u32',3985 totalSize: 'u32',3986 mqcHead: 'Option<H256>'3987 },3988 /**3989 * Lookup412: polkadot_primitives::v4::AbridgedHostConfiguration3990 **/3991 PolkadotPrimitivesV4AbridgedHostConfiguration: {3992 maxCodeSize: 'u32',3993 maxHeadDataSize: 'u32',3994 maxUpwardQueueCount: 'u32',3995 maxUpwardQueueSize: 'u32',3996 maxUpwardMessageSize: 'u32',3997 maxUpwardMessageNumPerCandidate: 'u32',3998 hrmpMaxMessageNumPerCandidate: 'u32',3999 validationUpgradeCooldown: 'u32',4000 validationUpgradeDelay: 'u32'4001 },4002 /**4003 * Lookup418: polkadot_core_primitives::OutboundHrmpMessage<polkadot_parachain::primitives::Id>4004 **/4005 PolkadotCorePrimitivesOutboundHrmpMessage: {4006 recipient: 'u32',4007 data: 'Bytes'4008 },4009 /**4010 * Lookup419: cumulus_pallet_parachain_system::CodeUpgradeAuthorization<T>4011 **/4012 CumulusPalletParachainSystemCodeUpgradeAuthorization: {4013 codeHash: 'H256',4014 checkVersion: 'bool'4015 },4016 /**4017 * Lookup420: cumulus_pallet_parachain_system::pallet::Error<T>4018 **/4019 CumulusPalletParachainSystemError: {4020 _enum: ['OverlappingUpgrades', 'ProhibitedByPolkadot', 'TooBig', 'ValidationDataNotAvailable', 'HostConfigurationNotAvailable', 'NotScheduled', 'NothingAuthorized', 'Unauthorized']4021 },4022 /**4023 * Lookup422: pallet_collator_selection::pallet::Error<T>4024 **/4025 PalletCollatorSelectionError: {4026 _enum: ['TooManyCandidates', 'Unknown', 'Permission', 'AlreadyHoldingLicense', 'NoLicense', 'AlreadyCandidate', 'NotCandidate', 'TooManyInvulnerables', 'TooFewInvulnerables', 'AlreadyInvulnerable', 'NotInvulnerable', 'NoAssociatedValidatorId', 'ValidatorNotRegistered']4027 },4028 /**4029 * Lookup426: sp_core::crypto::KeyTypeId4030 **/4031 SpCoreCryptoKeyTypeId: '[u8;4]',4032 /**4033 * Lookup427: pallet_session::pallet::Error<T>4034 **/4035 PalletSessionError: {4036 _enum: ['InvalidProof', 'NoAssociatedValidatorId', 'DuplicatedKey', 'NoKeys', 'NoAccount']4037 },4038 /**4039 * Lookup432: pallet_balances::types::BalanceLock<Balance>4040 **/4041 PalletBalancesBalanceLock: {4042 id: '[u8;8]',4043 amount: 'u128',4044 reasons: 'PalletBalancesReasons'4045 },4046 /**4047 * Lookup433: pallet_balances::types::Reasons4048 **/4049 PalletBalancesReasons: {4050 _enum: ['Fee', 'Misc', 'All']4051 },4052 /**4053 * Lookup436: pallet_balances::types::ReserveData<ReserveIdentifier, Balance>4054 **/4055 PalletBalancesReserveData: {4056 id: '[u8;16]',4057 amount: 'u128'4058 },4059 /**4060 * Lookup439: pallet_balances::types::IdAmount<Id, Balance>4061 **/4062 PalletBalancesIdAmount: {4063 id: '[u8;16]',4064 amount: 'u128'4065 },4066 /**4067 * Lookup442: pallet_balances::pallet::Error<T, I>4068 **/4069 PalletBalancesError: {4070 _enum: ['VestingBalance', 'LiquidityRestrictions', 'InsufficientBalance', 'ExistentialDeposit', 'Expendability', 'ExistingVestingSchedule', 'DeadAccount', 'TooManyReserves', 'TooManyHolds', 'TooManyFreezes']4071 },4072 /**4073 * Lookup444: pallet_transaction_payment::Releases4074 **/4075 PalletTransactionPaymentReleases: {4076 _enum: ['V1Ancient', 'V2']4077 },4078 /**4079 * Lookup445: pallet_treasury::Proposal<sp_core::crypto::AccountId32, Balance>4080 **/4081 PalletTreasuryProposal: {4082 proposer: 'AccountId32',4083 value: 'u128',4084 beneficiary: 'AccountId32',4085 bond: 'u128'4086 },4087 /**4088 * Lookup448: frame_support::PalletId4089 **/4090 FrameSupportPalletId: '[u8;8]',4091 /**4092 * Lookup449: pallet_treasury::pallet::Error<T, I>4093 **/4094 PalletTreasuryError: {4095 _enum: ['InsufficientProposersBalance', 'InvalidIndex', 'TooManyApprovals', 'InsufficientPermission', 'ProposalNotApproved']4096 },4097 /**4098 * Lookup450: pallet_sudo::pallet::Error<T>4099 **/3352 PalletSudoError: {4100 PalletSudoError: {3353 _enum: ['RequireSudo']4101 _enum: ['RequireSudo']3354 },4102 },3355 /**4103 /**3356 * Lookup416: orml_vesting::module::Error<T>4104 * Lookup452: orml_vesting::module::Error<T>3357 **/4105 **/3358 OrmlVestingModuleError: {4106 OrmlVestingModuleError: {3359 _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']4107 _enum: ['ZeroVestingPeriod', 'ZeroVestingPeriodCount', 'InsufficientBalanceToLock', 'TooManyVestingSchedules', 'AmountLow', 'MaxVestingSchedulesExceeded']3360 },4108 },3361 /**4109 /**3362 * Lookup417: orml_xtokens::module::Error<T>4110 * Lookup453: orml_xtokens::module::Error<T>3363 **/4111 **/3364 OrmlXtokensModuleError: {4112 OrmlXtokensModuleError: {3365 _enum: ['AssetHasNoReserve', 'NotCrossChainTransfer', 'InvalidDest', 'NotCrossChainTransferableCurrency', 'UnweighableMessage', 'XcmExecutionFailed', 'CannotReanchor', 'InvalidAncestry', 'InvalidAsset', 'DestinationNotInvertible', 'BadVersion', 'DistinctReserveForAssetAndFee', 'ZeroFee', 'ZeroAmount', 'TooManyAssetsBeingSent', 'AssetIndexNonExistent', 'FeeNotEnough', 'NotSupportedMultiLocation', 'MinXcmFeeNotDefined']4113 _enum: ['AssetHasNoReserve', 'NotCrossChainTransfer', 'InvalidDest', 'NotCrossChainTransferableCurrency', 'UnweighableMessage', 'XcmExecutionFailed', 'CannotReanchor', 'InvalidAncestry', 'InvalidAsset', 'DestinationNotInvertible', 'BadVersion', 'DistinctReserveForAssetAndFee', 'ZeroFee', 'ZeroAmount', 'TooManyAssetsBeingSent', 'AssetIndexNonExistent', 'FeeNotEnough', 'NotSupportedMultiLocation', 'MinXcmFeeNotDefined']3366 },4114 },3367 /**4115 /**3368 * Lookup420: orml_tokens::BalanceLock<Balance>4116 * Lookup456: orml_tokens::BalanceLock<Balance>3369 **/4117 **/3370 OrmlTokensBalanceLock: {4118 OrmlTokensBalanceLock: {3371 id: '[u8;8]',4119 id: '[u8;8]',3372 amount: 'u128'4120 amount: 'u128'3373 },4121 },3374 /**4122 /**3375 * Lookup422: orml_tokens::AccountData<Balance>4123 * Lookup458: orml_tokens::AccountData<Balance>3376 **/4124 **/3377 OrmlTokensAccountData: {4125 OrmlTokensAccountData: {3378 free: 'u128',4126 free: 'u128',3379 reserved: 'u128',4127 reserved: 'u128',3380 frozen: 'u128'4128 frozen: 'u128'3381 },4129 },3382 /**4130 /**3383 * Lookup424: orml_tokens::ReserveData<ReserveIdentifier, Balance>4131 * Lookup460: orml_tokens::ReserveData<ReserveIdentifier, Balance>3384 **/4132 **/3385 OrmlTokensReserveData: {4133 OrmlTokensReserveData: {3386 id: 'Null',4134 id: 'Null',3387 amount: 'u128'4135 amount: 'u128'3388 },4136 },3389 /**4137 /**3390 * Lookup426: orml_tokens::module::Error<T>4138 * Lookup462: orml_tokens::module::Error<T>3391 **/4139 **/3392 OrmlTokensModuleError: {4140 OrmlTokensModuleError: {3393 _enum: ['BalanceTooLow', 'AmountIntoBalanceFailed', 'LiquidityRestrictions', 'MaxLocksExceeded', 'KeepAlive', 'ExistentialDeposit', 'DeadAccount', 'TooManyReserves']4141 _enum: ['BalanceTooLow', 'AmountIntoBalanceFailed', 'LiquidityRestrictions', 'MaxLocksExceeded', 'KeepAlive', 'ExistentialDeposit', 'DeadAccount', 'TooManyReserves']3394 },4142 },3395 /**4143 /**3396 * Lookup431: pallet_identity::types::RegistrarInfo<Balance, sp_core::crypto::AccountId32>4144 * Lookup467: pallet_identity::types::RegistrarInfo<Balance, sp_core::crypto::AccountId32>3397 **/4145 **/3398 PalletIdentityRegistrarInfo: {4146 PalletIdentityRegistrarInfo: {3399 account: 'AccountId32',4147 account: 'AccountId32',3400 fee: 'u128',4148 fee: 'u128',3401 fields: 'PalletIdentityBitFlags'4149 fields: 'PalletIdentityBitFlags'3402 },4150 },3403 /**4151 /**3404 * Lookup433: pallet_identity::pallet::Error<T>4152 * Lookup469: pallet_identity::pallet::Error<T>3405 **/4153 **/3406 PalletIdentityError: {4154 PalletIdentityError: {3407 _enum: ['TooManySubAccounts', 'NotFound', 'NotNamed', 'EmptyIndex', 'FeeChanged', 'NoIdentity', 'StickyJudgement', 'JudgementGiven', 'InvalidJudgement', 'InvalidIndex', 'InvalidTarget', 'TooManyFields', 'TooManyRegistrars', 'AlreadyClaimed', 'NotSub', 'NotOwned', 'JudgementForDifferentIdentity', 'JudgementPaymentFailed']4155 _enum: ['TooManySubAccounts', 'NotFound', 'NotNamed', 'EmptyIndex', 'FeeChanged', 'NoIdentity', 'StickyJudgement', 'JudgementGiven', 'InvalidJudgement', 'InvalidIndex', 'InvalidTarget', 'TooManyFields', 'TooManyRegistrars', 'AlreadyClaimed', 'NotSub', 'NotOwned', 'JudgementForDifferentIdentity', 'JudgementPaymentFailed']3408 },4156 },3409 /**4157 /**3410 * Lookup434: pallet_preimage::RequestStatus<sp_core::crypto::AccountId32, Balance>4158 * Lookup470: pallet_preimage::RequestStatus<sp_core::crypto::AccountId32, Balance>3411 **/4159 **/3412 PalletPreimageRequestStatus: {4160 PalletPreimageRequestStatus: {3413 _enum: {4161 _enum: {3423 }4171 }3424 },4172 },3425 /**4173 /**3426 * Lookup439: pallet_preimage::pallet::Error<T>4174 * Lookup475: pallet_preimage::pallet::Error<T>3427 **/4175 **/3428 PalletPreimageError: {4176 PalletPreimageError: {3429 _enum: ['TooBig', 'AlreadyNoted', 'NotAuthorized', 'NotNoted', 'Requested', 'NotRequested']4177 _enum: ['TooBig', 'AlreadyNoted', 'NotAuthorized', 'NotNoted', 'Requested', 'NotRequested']4178 },4179 /**4180 * Lookup481: pallet_democracy::types::ReferendumInfo<BlockNumber, frame_support::traits::preimages::Bounded<quartz_runtime::RuntimeCall>, Balance>4181 **/4182 PalletDemocracyReferendumInfo: {4183 _enum: {4184 Ongoing: 'PalletDemocracyReferendumStatus',4185 Finished: {4186 approved: 'bool',4187 end: 'u32'4188 }4189 }4190 },4191 /**4192 * Lookup482: pallet_democracy::types::ReferendumStatus<BlockNumber, frame_support::traits::preimages::Bounded<quartz_runtime::RuntimeCall>, Balance>4193 **/4194 PalletDemocracyReferendumStatus: {4195 end: 'u32',4196 proposal: 'FrameSupportPreimagesBounded',4197 threshold: 'PalletDemocracyVoteThreshold',4198 delay: 'u32',4199 tally: 'PalletDemocracyTally'4200 },4201 /**4202 * Lookup483: pallet_democracy::types::Tally<Balance>4203 **/4204 PalletDemocracyTally: {4205 ayes: 'u128',4206 nays: 'u128',4207 turnout: 'u128'4208 },4209 /**4210 * Lookup484: pallet_democracy::vote::Voting<Balance, sp_core::crypto::AccountId32, BlockNumber, MaxVotes>4211 **/4212 PalletDemocracyVoteVoting: {4213 _enum: {4214 Direct: {4215 votes: 'Vec<(u32,PalletDemocracyVoteAccountVote)>',4216 delegations: 'PalletDemocracyDelegations',4217 prior: 'PalletDemocracyVotePriorLock',4218 },4219 Delegating: {4220 balance: 'u128',4221 target: 'AccountId32',4222 conviction: 'PalletDemocracyConviction',4223 delegations: 'PalletDemocracyDelegations',4224 prior: 'PalletDemocracyVotePriorLock'4225 }4226 }4227 },4228 /**4229 * Lookup488: pallet_democracy::types::Delegations<Balance>4230 **/4231 PalletDemocracyDelegations: {4232 votes: 'u128',4233 capital: 'u128'4234 },4235 /**4236 * Lookup489: pallet_democracy::vote::PriorLock<BlockNumber, Balance>4237 **/4238 PalletDemocracyVotePriorLock: '(u32,u128)',4239 /**4240 * Lookup492: pallet_democracy::pallet::Error<T>4241 **/4242 PalletDemocracyError: {4243 _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']4244 },4245 /**4246 * Lookup494: pallet_collective::Votes<sp_core::crypto::AccountId32, BlockNumber>4247 **/4248 PalletCollectiveVotes: {4249 index: 'u32',4250 threshold: 'u32',4251 ayes: 'Vec<AccountId32>',4252 nays: 'Vec<AccountId32>',4253 end: 'u32'4254 },4255 /**4256 * Lookup495: pallet_collective::pallet::Error<T, I>4257 **/4258 PalletCollectiveError: {4259 _enum: ['NotMember', 'DuplicateProposal', 'ProposalMissing', 'WrongIndex', 'DuplicateVote', 'AlreadyInitialized', 'TooEarly', 'TooManyProposals', 'WrongProposalWeight', 'WrongProposalLength']4260 },4261 /**4262 * Lookup499: pallet_membership::pallet::Error<T, I>4263 **/4264 PalletMembershipError: {4265 _enum: ['AlreadyMember', 'NotMember', 'TooManyMembers']4266 },4267 /**4268 * Lookup502: pallet_ranked_collective::MemberRecord4269 **/4270 PalletRankedCollectiveMemberRecord: {4271 rank: 'u16'4272 },4273 /**4274 * Lookup507: pallet_ranked_collective::pallet::Error<T, I>4275 **/4276 PalletRankedCollectiveError: {4277 _enum: ['AlreadyMember', 'NotMember', 'NotPolling', 'Ongoing', 'NoneRemaining', 'Corruption', 'RankTooLow', 'InvalidWitness', 'NoPermission']4278 },4279 /**4280 * Lookup508: pallet_referenda::types::ReferendumInfo<TrackId, quartz_runtime::OriginCaller, Moment, frame_support::traits::preimages::Bounded<quartz_runtime::RuntimeCall>, Balance, pallet_ranked_collective::Tally<T, I, M>, sp_core::crypto::AccountId32, ScheduleAddress>4281 **/4282 PalletReferendaReferendumInfo: {4283 _enum: {4284 Ongoing: 'PalletReferendaReferendumStatus',4285 Approved: '(u32,Option<PalletReferendaDeposit>,Option<PalletReferendaDeposit>)',4286 Rejected: '(u32,Option<PalletReferendaDeposit>,Option<PalletReferendaDeposit>)',4287 Cancelled: '(u32,Option<PalletReferendaDeposit>,Option<PalletReferendaDeposit>)',4288 TimedOut: '(u32,Option<PalletReferendaDeposit>,Option<PalletReferendaDeposit>)',4289 Killed: 'u32'4290 }4291 },4292 /**4293 * Lookup509: pallet_referenda::types::ReferendumStatus<TrackId, quartz_runtime::OriginCaller, Moment, frame_support::traits::preimages::Bounded<quartz_runtime::RuntimeCall>, Balance, pallet_ranked_collective::Tally<T, I, M>, sp_core::crypto::AccountId32, ScheduleAddress>4294 **/4295 PalletReferendaReferendumStatus: {4296 track: 'u16',4297 origin: 'QuartzRuntimeOriginCaller',4298 proposal: 'FrameSupportPreimagesBounded',4299 enactment: 'FrameSupportScheduleDispatchTime',4300 submitted: 'u32',4301 submissionDeposit: 'PalletReferendaDeposit',4302 decisionDeposit: 'Option<PalletReferendaDeposit>',4303 deciding: 'Option<PalletReferendaDecidingStatus>',4304 tally: 'PalletRankedCollectiveTally',4305 inQueue: 'bool',4306 alarm: 'Option<(u32,(u32,u32))>'4307 },4308 /**4309 * Lookup510: pallet_referenda::types::Deposit<sp_core::crypto::AccountId32, Balance>4310 **/4311 PalletReferendaDeposit: {4312 who: 'AccountId32',4313 amount: 'u128'4314 },4315 /**4316 * Lookup513: pallet_referenda::types::DecidingStatus<BlockNumber>4317 **/4318 PalletReferendaDecidingStatus: {4319 since: 'u32',4320 confirming: 'Option<u32>'4321 },4322 /**4323 * Lookup519: pallet_referenda::types::TrackInfo<Balance, Moment>4324 **/4325 PalletReferendaTrackInfo: {4326 name: 'Text',4327 maxDeciding: 'u32',4328 decisionDeposit: 'u128',4329 preparePeriod: 'u32',4330 decisionPeriod: 'u32',4331 confirmPeriod: 'u32',4332 minEnactmentPeriod: 'u32',4333 minApproval: 'PalletReferendaCurve',4334 minSupport: 'PalletReferendaCurve'4335 },4336 /**4337 * Lookup520: pallet_referenda::types::Curve4338 **/4339 PalletReferendaCurve: {4340 _enum: {4341 LinearDecreasing: {4342 length: 'Perbill',4343 floor: 'Perbill',4344 ceil: 'Perbill',4345 },4346 SteppedDecreasing: {4347 begin: 'Perbill',4348 end: 'Perbill',4349 step: 'Perbill',4350 period: 'Perbill',4351 },4352 Reciprocal: {4353 factor: 'i64',4354 xOffset: 'i64',4355 yOffset: 'i64'4356 }4357 }4358 },4359 /**4360 * Lookup523: pallet_referenda::pallet::Error<T, I>4361 **/4362 PalletReferendaError: {4363 _enum: ['NotOngoing', 'HasDeposit', 'BadTrack', 'Full', 'QueueEmpty', 'BadReferendum', 'NothingToDo', 'NoTrack', 'Unfinished', 'NoPermission', 'NoDeposit', 'BadStatus', 'PreimageNotExist']4364 },4365 /**4366 * Lookup526: pallet_scheduler::Scheduled<Name, frame_support::traits::preimages::Bounded<quartz_runtime::RuntimeCall>, BlockNumber, quartz_runtime::OriginCaller, sp_core::crypto::AccountId32>4367 **/4368 PalletSchedulerScheduled: {4369 maybeId: 'Option<[u8;32]>',4370 priority: 'u8',4371 call: 'FrameSupportPreimagesBounded',4372 maybePeriodic: 'Option<(u32,u32)>',4373 origin: 'QuartzRuntimeOriginCaller'4374 },4375 /**4376 * Lookup528: pallet_scheduler::pallet::Error<T>4377 **/4378 PalletSchedulerError: {4379 _enum: ['FailedToSchedule', 'NotFound', 'TargetBlockNumberInPast', 'RescheduleNoChange', 'Named']3430 },4380 },3431 /**4381 /**3432 * Lookup441: cumulus_pallet_xcmp_queue::InboundChannelDetails4382 * Lookup530: cumulus_pallet_xcmp_queue::InboundChannelDetails3433 **/4383 **/3434 CumulusPalletXcmpQueueInboundChannelDetails: {4384 CumulusPalletXcmpQueueInboundChannelDetails: {3435 sender: 'u32',4385 sender: 'u32',3436 state: 'CumulusPalletXcmpQueueInboundState',4386 state: 'CumulusPalletXcmpQueueInboundState',3437 messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'4387 messageMetadata: 'Vec<(u32,PolkadotParachainPrimitivesXcmpMessageFormat)>'3438 },4388 },3439 /**4389 /**3440 * Lookup442: cumulus_pallet_xcmp_queue::InboundState4390 * Lookup531: cumulus_pallet_xcmp_queue::InboundState3441 **/4391 **/3442 CumulusPalletXcmpQueueInboundState: {4392 CumulusPalletXcmpQueueInboundState: {3443 _enum: ['Ok', 'Suspended']4393 _enum: ['Ok', 'Suspended']3444 },4394 },3445 /**4395 /**3446 * Lookup445: polkadot_parachain::primitives::XcmpMessageFormat4396 * Lookup534: polkadot_parachain::primitives::XcmpMessageFormat3447 **/4397 **/3448 PolkadotParachainPrimitivesXcmpMessageFormat: {4398 PolkadotParachainPrimitivesXcmpMessageFormat: {3449 _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']4399 _enum: ['ConcatenatedVersionedXcm', 'ConcatenatedEncodedBlob', 'Signals']3450 },4400 },3451 /**4401 /**3452 * Lookup448: cumulus_pallet_xcmp_queue::OutboundChannelDetails4402 * Lookup537: cumulus_pallet_xcmp_queue::OutboundChannelDetails3453 **/4403 **/3454 CumulusPalletXcmpQueueOutboundChannelDetails: {4404 CumulusPalletXcmpQueueOutboundChannelDetails: {3455 recipient: 'u32',4405 recipient: 'u32',3459 lastIndex: 'u16'4409 lastIndex: 'u16'3460 },4410 },3461 /**4411 /**3462 * Lookup449: cumulus_pallet_xcmp_queue::OutboundState4412 * Lookup538: cumulus_pallet_xcmp_queue::OutboundState3463 **/4413 **/3464 CumulusPalletXcmpQueueOutboundState: {4414 CumulusPalletXcmpQueueOutboundState: {3465 _enum: ['Ok', 'Suspended']4415 _enum: ['Ok', 'Suspended']3466 },4416 },3467 /**4417 /**3468 * Lookup451: cumulus_pallet_xcmp_queue::QueueConfigData4418 * Lookup540: cumulus_pallet_xcmp_queue::QueueConfigData3469 **/4419 **/3470 CumulusPalletXcmpQueueQueueConfigData: {4420 CumulusPalletXcmpQueueQueueConfigData: {3471 suspendThreshold: 'u32',4421 suspendThreshold: 'u32',3476 xcmpMaxIndividualWeight: 'SpWeightsWeightV2Weight'4426 xcmpMaxIndividualWeight: 'SpWeightsWeightV2Weight'3477 },4427 },3478 /**4428 /**3479 * Lookup453: cumulus_pallet_xcmp_queue::pallet::Error<T>4429 * Lookup542: cumulus_pallet_xcmp_queue::pallet::Error<T>3480 **/4430 **/3481 CumulusPalletXcmpQueueError: {4431 CumulusPalletXcmpQueueError: {3482 _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']4432 _enum: ['FailedToSend', 'BadXcmOrigin', 'BadXcm', 'BadOverweightIndex', 'WeightOverLimit']3483 },4433 },3484 /**4434 /**3485 * Lookup454: pallet_xcm::pallet::QueryStatus<BlockNumber>4435 * Lookup543: pallet_xcm::pallet::QueryStatus<BlockNumber>3486 **/4436 **/3487 PalletXcmQueryStatus: {4437 PalletXcmQueryStatus: {3488 _enum: {4438 _enum: {3503 }4453 }3504 },4454 },3505 /**4455 /**3506 * Lookup458: xcm::VersionedResponse4456 * Lookup547: xcm::VersionedResponse3507 **/4457 **/3508 XcmVersionedResponse: {4458 XcmVersionedResponse: {3509 _enum: {4459 _enum: {3514 }4464 }3515 },4465 },3516 /**4466 /**3517 * Lookup464: pallet_xcm::pallet::VersionMigrationStage4467 * Lookup553: pallet_xcm::pallet::VersionMigrationStage3518 **/4468 **/3519 PalletXcmVersionMigrationStage: {4469 PalletXcmVersionMigrationStage: {3520 _enum: {4470 _enum: {3525 }4475 }3526 },4476 },3527 /**4477 /**3528 * Lookup467: xcm::VersionedAssetId4478 * Lookup556: xcm::VersionedAssetId3529 **/4479 **/3530 XcmVersionedAssetId: {4480 XcmVersionedAssetId: {3531 _enum: {4481 _enum: {3536 }4486 }3537 },4487 },3538 /**4488 /**3539 * Lookup468: pallet_xcm::pallet::RemoteLockedFungibleRecord<ConsumerIdentifier, MaxConsumers>4489 * Lookup557: pallet_xcm::pallet::RemoteLockedFungibleRecord<ConsumerIdentifier, MaxConsumers>3540 **/4490 **/3541 PalletXcmRemoteLockedFungibleRecord: {4491 PalletXcmRemoteLockedFungibleRecord: {3542 amount: 'u128',4492 amount: 'u128',3545 consumers: 'Vec<(Null,u128)>'4495 consumers: 'Vec<(Null,u128)>'3546 },4496 },3547 /**4497 /**3548 * Lookup475: pallet_xcm::pallet::Error<T>4498 * Lookup564: pallet_xcm::pallet::Error<T>3549 **/4499 **/3550 PalletXcmError: {4500 PalletXcmError: {3551 _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed', 'InvalidAsset', 'LowBalance', 'TooManyLocks', 'AccountNotSovereign', 'FeesNotMet', 'LockNotFound', 'InUse']4501 _enum: ['Unreachable', 'SendFailure', 'Filtered', 'UnweighableMessage', 'DestinationNotInvertible', 'Empty', 'CannotReanchor', 'TooManyAssets', 'InvalidOrigin', 'BadVersion', 'BadLocation', 'NoSubscription', 'AlreadySubscribed', 'InvalidAsset', 'LowBalance', 'TooManyLocks', 'AccountNotSovereign', 'FeesNotMet', 'LockNotFound', 'InUse']3552 },4502 },3553 /**4503 /**3554 * Lookup476: cumulus_pallet_xcm::pallet::Error<T>4504 * Lookup565: cumulus_pallet_xcm::pallet::Error<T>3555 **/4505 **/3556 CumulusPalletXcmError: 'Null',4506 CumulusPalletXcmError: 'Null',3557 /**4507 /**3558 * Lookup477: cumulus_pallet_dmp_queue::ConfigData4508 * Lookup566: cumulus_pallet_dmp_queue::ConfigData3559 **/4509 **/3560 CumulusPalletDmpQueueConfigData: {4510 CumulusPalletDmpQueueConfigData: {3561 maxIndividual: 'SpWeightsWeightV2Weight'4511 maxIndividual: 'SpWeightsWeightV2Weight'3562 },4512 },3563 /**4513 /**3564 * Lookup478: cumulus_pallet_dmp_queue::PageIndexData4514 * Lookup567: cumulus_pallet_dmp_queue::PageIndexData3565 **/4515 **/3566 CumulusPalletDmpQueuePageIndexData: {4516 CumulusPalletDmpQueuePageIndexData: {3567 beginUsed: 'u32',4517 beginUsed: 'u32',3568 endUsed: 'u32',4518 endUsed: 'u32',3569 overweightCount: 'u64'4519 overweightCount: 'u64'3570 },4520 },3571 /**4521 /**3572 * Lookup481: cumulus_pallet_dmp_queue::pallet::Error<T>4522 * Lookup570: cumulus_pallet_dmp_queue::pallet::Error<T>3573 **/4523 **/3574 CumulusPalletDmpQueueError: {4524 CumulusPalletDmpQueueError: {3575 _enum: ['Unknown', 'OverLimit']4525 _enum: ['Unknown', 'OverLimit']3576 },4526 },3577 /**4527 /**3578 * Lookup485: pallet_unique::pallet::Error<T>4528 * Lookup574: pallet_unique::pallet::Error<T>3579 **/4529 **/3580 PalletUniqueError: {4530 PalletUniqueError: {3581 _enum: ['CollectionDecimalPointLimitExceeded', 'EmptyArgument', 'RepartitionCalledOnNonRefungibleCollection']4531 _enum: ['CollectionDecimalPointLimitExceeded', 'EmptyArgument', 'RepartitionCalledOnNonRefungibleCollection']3582 },4532 },3583 /**4533 /**3584 * Lookup486: pallet_configuration::pallet::Error<T>4534 * Lookup575: pallet_configuration::pallet::Error<T>3585 **/4535 **/3586 PalletConfigurationError: {4536 PalletConfigurationError: {3587 _enum: ['InconsistentConfiguration']4537 _enum: ['InconsistentConfiguration']3588 },4538 },3589 /**4539 /**3590 * Lookup487: up_data_structs::Collection<sp_core::crypto::AccountId32>4540 * Lookup576: up_data_structs::Collection<sp_core::crypto::AccountId32>3591 **/4541 **/3592 UpDataStructsCollection: {4542 UpDataStructsCollection: {3593 owner: 'AccountId32',4543 owner: 'AccountId32',3601 flags: '[u8;1]'4551 flags: '[u8;1]'3602 },4552 },3603 /**4553 /**3604 * Lookup488: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>4554 * Lookup577: up_data_structs::SponsorshipState<sp_core::crypto::AccountId32>3605 **/4555 **/3606 UpDataStructsSponsorshipStateAccountId32: {4556 UpDataStructsSponsorshipStateAccountId32: {3607 _enum: {4557 _enum: {3611 }4561 }3612 },4562 },3613 /**4563 /**3614 * Lookup489: up_data_structs::Properties4564 * Lookup578: up_data_structs::Properties3615 **/4565 **/3616 UpDataStructsProperties: {4566 UpDataStructsProperties: {3617 map: 'UpDataStructsPropertiesMapBoundedVec',4567 map: 'UpDataStructsPropertiesMapBoundedVec',3618 consumedSpace: 'u32',4568 consumedSpace: 'u32',3619 reserved: 'u32'4569 reserved: 'u32'3620 },4570 },3621 /**4571 /**3622 * Lookup490: up_data_structs::PropertiesMap<bounded_collections::bounded_vec::BoundedVec<T, S>>4572 * Lookup579: up_data_structs::PropertiesMap<bounded_collections::bounded_vec::BoundedVec<T, S>>3623 **/4573 **/3624 UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',4574 UpDataStructsPropertiesMapBoundedVec: 'BTreeMap<Bytes, Bytes>',3625 /**4575 /**3626 * Lookup495: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>4576 * Lookup584: up_data_structs::PropertiesMap<up_data_structs::PropertyPermission>3627 **/4577 **/3628 UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',4578 UpDataStructsPropertiesMapPropertyPermission: 'BTreeMap<Bytes, UpDataStructsPropertyPermission>',3629 /**4579 /**3630 * Lookup502: up_data_structs::CollectionStats4580 * Lookup591: up_data_structs::CollectionStats3631 **/4581 **/3632 UpDataStructsCollectionStats: {4582 UpDataStructsCollectionStats: {3633 created: 'u32',4583 created: 'u32',3634 destroyed: 'u32',4584 destroyed: 'u32',3635 alive: 'u32'4585 alive: 'u32'3636 },4586 },3637 /**4587 /**3638 * Lookup503: up_data_structs::TokenChild4588 * Lookup592: up_data_structs::TokenChild3639 **/4589 **/3640 UpDataStructsTokenChild: {4590 UpDataStructsTokenChild: {3641 token: 'u32',4591 token: 'u32',3642 collection: 'u32'4592 collection: 'u32'3643 },4593 },3644 /**4594 /**3645 * Lookup504: PhantomType::up_data_structs<T>4595 * Lookup593: PhantomType::up_data_structs<T>3646 **/4596 **/3647 PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,UpPovEstimateRpcPovInfo);0]',4597 PhantomTypeUpDataStructs: '[(UpDataStructsTokenData,UpDataStructsRpcCollection,UpPovEstimateRpcPovInfo);0]',3648 /**4598 /**3649 * Lookup506: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>4599 * Lookup595: up_data_structs::TokenData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3650 **/4600 **/3651 UpDataStructsTokenData: {4601 UpDataStructsTokenData: {3652 properties: 'Vec<UpDataStructsProperty>',4602 properties: 'Vec<UpDataStructsProperty>',3653 owner: 'Option<PalletEvmAccountBasicCrossAccountIdRepr>',4603 owner: 'Option<PalletEvmAccountBasicCrossAccountIdRepr>',3654 pieces: 'u128'4604 pieces: 'u128'3655 },4605 },3656 /**4606 /**3657 * Lookup507: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>4607 * Lookup596: up_data_structs::RpcCollection<sp_core::crypto::AccountId32>3658 **/4608 **/3659 UpDataStructsRpcCollection: {4609 UpDataStructsRpcCollection: {3660 owner: 'AccountId32',4610 owner: 'AccountId32',3671 flags: 'UpDataStructsRpcCollectionFlags'4621 flags: 'UpDataStructsRpcCollectionFlags'3672 },4622 },3673 /**4623 /**3674 * Lookup508: up_data_structs::RpcCollectionFlags4624 * Lookup597: up_data_structs::RpcCollectionFlags3675 **/4625 **/3676 UpDataStructsRpcCollectionFlags: {4626 UpDataStructsRpcCollectionFlags: {3677 foreign: 'bool',4627 foreign: 'bool',3678 erc721metadata: 'bool'4628 erc721metadata: 'bool'3679 },4629 },3680 /**4630 /**3681 * Lookup509: up_pov_estimate_rpc::PovInfo4631 * Lookup598: up_pov_estimate_rpc::PovInfo3682 **/4632 **/3683 UpPovEstimateRpcPovInfo: {4633 UpPovEstimateRpcPovInfo: {3684 proofSize: 'u64',4634 proofSize: 'u64',3688 keyValues: 'Vec<UpPovEstimateRpcTrieKeyValue>'4638 keyValues: 'Vec<UpPovEstimateRpcTrieKeyValue>'3689 },4639 },3690 /**4640 /**3691 * Lookup512: sp_runtime::transaction_validity::TransactionValidityError4641 * Lookup601: sp_runtime::transaction_validity::TransactionValidityError3692 **/4642 **/3693 SpRuntimeTransactionValidityTransactionValidityError: {4643 SpRuntimeTransactionValidityTransactionValidityError: {3694 _enum: {4644 _enum: {3697 }4647 }3698 },4648 },3699 /**4649 /**3700 * Lookup513: sp_runtime::transaction_validity::InvalidTransaction4650 * Lookup602: sp_runtime::transaction_validity::InvalidTransaction3701 **/4651 **/3702 SpRuntimeTransactionValidityInvalidTransaction: {4652 SpRuntimeTransactionValidityInvalidTransaction: {3703 _enum: {4653 _enum: {3715 }4665 }3716 },4666 },3717 /**4667 /**3718 * Lookup514: sp_runtime::transaction_validity::UnknownTransaction4668 * Lookup603: sp_runtime::transaction_validity::UnknownTransaction3719 **/4669 **/3720 SpRuntimeTransactionValidityUnknownTransaction: {4670 SpRuntimeTransactionValidityUnknownTransaction: {3721 _enum: {4671 _enum: {3725 }4675 }3726 },4676 },3727 /**4677 /**3728 * Lookup516: up_pov_estimate_rpc::TrieKeyValue4678 * Lookup605: up_pov_estimate_rpc::TrieKeyValue3729 **/4679 **/3730 UpPovEstimateRpcTrieKeyValue: {4680 UpPovEstimateRpcTrieKeyValue: {3731 key: 'Bytes',4681 key: 'Bytes',3732 value: 'Bytes'4682 value: 'Bytes'3733 },4683 },3734 /**4684 /**3735 * Lookup518: pallet_common::pallet::Error<T>4685 * Lookup607: pallet_common::pallet::Error<T>3736 **/4686 **/3737 PalletCommonError: {4687 PalletCommonError: {3738 _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']4688 _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']3739 },4689 },3740 /**4690 /**3741 * Lookup520: pallet_fungible::pallet::Error<T>4691 * Lookup609: pallet_fungible::pallet::Error<T>3742 **/4692 **/3743 PalletFungibleError: {4693 PalletFungibleError: {3744 _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed', 'SettingAllowanceForAllNotAllowed', 'FungibleTokensAreAlwaysValid']4694 _enum: ['NotFungibleDataUsedToMintFungibleCollectionToken', 'FungibleItemsHaveNoId', 'FungibleItemsDontHaveData', 'FungibleDisallowsNesting', 'SettingPropertiesNotAllowed', 'SettingAllowanceForAllNotAllowed', 'FungibleTokensAreAlwaysValid']3745 },4695 },3746 /**4696 /**3747 * Lookup525: pallet_refungible::pallet::Error<T>4697 * Lookup614: pallet_refungible::pallet::Error<T>3748 **/4698 **/3749 PalletRefungibleError: {4699 PalletRefungibleError: {3750 _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']4700 _enum: ['NotRefungibleDataUsedToMintFungibleCollectionToken', 'WrongRefungiblePieces', 'RepartitionWhileNotOwningAllPieces', 'RefungibleDisallowsNesting', 'SettingPropertiesNotAllowed']3751 },4701 },3752 /**4702 /**3753 * Lookup526: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>4703 * Lookup615: pallet_nonfungible::ItemData<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3754 **/4704 **/3755 PalletNonfungibleItemData: {4705 PalletNonfungibleItemData: {3756 owner: 'PalletEvmAccountBasicCrossAccountIdRepr'4706 owner: 'PalletEvmAccountBasicCrossAccountIdRepr'3757 },4707 },3758 /**4708 /**3759 * Lookup528: up_data_structs::PropertyScope4709 * Lookup617: up_data_structs::PropertyScope3760 **/4710 **/3761 UpDataStructsPropertyScope: {4711 UpDataStructsPropertyScope: {3762 _enum: ['None', 'Rmrk']4712 _enum: ['None', 'Rmrk']3763 },4713 },3764 /**4714 /**3765 * Lookup531: pallet_nonfungible::pallet::Error<T>4715 * Lookup620: pallet_nonfungible::pallet::Error<T>3766 **/4716 **/3767 PalletNonfungibleError: {4717 PalletNonfungibleError: {3768 _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']4718 _enum: ['NotNonfungibleDataUsedToMintFungibleCollectionToken', 'NonfungibleItemsHaveNoAmount', 'CantBurnNftWithChildren']3769 },4719 },3770 /**4720 /**3771 * Lookup532: pallet_structure::pallet::Error<T>4721 * Lookup621: pallet_structure::pallet::Error<T>3772 **/4722 **/3773 PalletStructureError: {4723 PalletStructureError: {3774 _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound', 'CantNestTokenUnderCollection']4724 _enum: ['OuroborosDetected', 'DepthLimit', 'BreadthLimit', 'TokenNotFound', 'CantNestTokenUnderCollection']3775 },4725 },3776 /**4726 /**3777 * Lookup537: pallet_app_promotion::pallet::Error<T>4727 * Lookup626: pallet_app_promotion::pallet::Error<T>3778 **/4728 **/3779 PalletAppPromotionError: {4729 PalletAppPromotionError: {3780 _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'SponsorNotSet', 'InsufficientStakedBalance', 'InconsistencyState']4730 _enum: ['AdminNotSet', 'NoPermission', 'NotSufficientFunds', 'PendingForBlockOverflow', 'SponsorNotSet', 'InsufficientStakedBalance', 'InconsistencyState']3781 },4731 },3782 /**4732 /**3783 * Lookup538: pallet_foreign_assets::module::Error<T>4733 * Lookup627: pallet_foreign_assets::module::Error<T>3784 **/4734 **/3785 PalletForeignAssetsModuleError: {4735 PalletForeignAssetsModuleError: {3786 _enum: ['BadLocation', 'MultiLocationExisted', 'AssetIdNotExists', 'AssetIdExisted']4736 _enum: ['BadLocation', 'MultiLocationExisted', 'AssetIdNotExists', 'AssetIdExisted']3787 },4737 },3788 /**4738 /**3789 * Lookup539: pallet_evm::CodeMetadata4739 * Lookup628: pallet_evm::CodeMetadata3790 **/4740 **/3791 PalletEvmCodeMetadata: {4741 PalletEvmCodeMetadata: {3792 _alias: {4742 _alias: {3797 hash_: 'H256'4747 hash_: 'H256'3798 },4748 },3799 /**4749 /**3800 * Lookup541: pallet_evm::pallet::Error<T>4750 * Lookup630: pallet_evm::pallet::Error<T>3801 **/4751 **/3802 PalletEvmError: {4752 PalletEvmError: {3803 _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce', 'GasLimitTooLow', 'GasLimitTooHigh', 'Undefined', 'Reentrancy', 'TransactionMustComeFromEOA']4753 _enum: ['BalanceLow', 'FeeOverflow', 'PaymentOverflow', 'WithdrawFailed', 'GasPriceTooLow', 'InvalidNonce', 'GasLimitTooLow', 'GasLimitTooHigh', 'Undefined', 'Reentrancy', 'TransactionMustComeFromEOA']3804 },4754 },3805 /**4755 /**3806 * Lookup544: fp_rpc::TransactionStatus4756 * Lookup633: fp_rpc::TransactionStatus3807 **/4757 **/3808 FpRpcTransactionStatus: {4758 FpRpcTransactionStatus: {3809 transactionHash: 'H256',4759 transactionHash: 'H256',3815 logsBloom: 'EthbloomBloom'4765 logsBloom: 'EthbloomBloom'3816 },4766 },3817 /**4767 /**3818 * Lookup546: ethbloom::Bloom4768 * Lookup635: ethbloom::Bloom3819 **/4769 **/3820 EthbloomBloom: '[u8;256]',4770 EthbloomBloom: '[u8;256]',3821 /**4771 /**3822 * Lookup548: ethereum::receipt::ReceiptV34772 * Lookup637: ethereum::receipt::ReceiptV33823 **/4773 **/3824 EthereumReceiptReceiptV3: {4774 EthereumReceiptReceiptV3: {3825 _enum: {4775 _enum: {3829 }4779 }3830 },4780 },3831 /**4781 /**3832 * Lookup549: ethereum::receipt::EIP658ReceiptData4782 * Lookup638: ethereum::receipt::EIP658ReceiptData3833 **/4783 **/3834 EthereumReceiptEip658ReceiptData: {4784 EthereumReceiptEip658ReceiptData: {3835 statusCode: 'u8',4785 statusCode: 'u8',3838 logs: 'Vec<EthereumLog>'4788 logs: 'Vec<EthereumLog>'3839 },4789 },3840 /**4790 /**3841 * Lookup550: ethereum::block::Block<ethereum::transaction::TransactionV2>4791 * Lookup639: ethereum::block::Block<ethereum::transaction::TransactionV2>3842 **/4792 **/3843 EthereumBlock: {4793 EthereumBlock: {3844 header: 'EthereumHeader',4794 header: 'EthereumHeader',3845 transactions: 'Vec<EthereumTransactionTransactionV2>',4795 transactions: 'Vec<EthereumTransactionTransactionV2>',3846 ommers: 'Vec<EthereumHeader>'4796 ommers: 'Vec<EthereumHeader>'3847 },4797 },3848 /**4798 /**3849 * Lookup551: ethereum::header::Header4799 * Lookup640: ethereum::header::Header3850 **/4800 **/3851 EthereumHeader: {4801 EthereumHeader: {3852 parentHash: 'H256',4802 parentHash: 'H256',3866 nonce: 'EthereumTypesHashH64'4816 nonce: 'EthereumTypesHashH64'3867 },4817 },3868 /**4818 /**3869 * Lookup552: ethereum_types::hash::H644819 * Lookup641: ethereum_types::hash::H643870 **/4820 **/3871 EthereumTypesHashH64: '[u8;8]',4821 EthereumTypesHashH64: '[u8;8]',3872 /**4822 /**3873 * Lookup557: pallet_ethereum::pallet::Error<T>4823 * Lookup646: pallet_ethereum::pallet::Error<T>3874 **/4824 **/3875 PalletEthereumError: {4825 PalletEthereumError: {3876 _enum: ['InvalidSignature', 'PreLogExists']4826 _enum: ['InvalidSignature', 'PreLogExists']3877 },4827 },3878 /**4828 /**3879 * Lookup558: pallet_evm_coder_substrate::pallet::Error<T>4829 * Lookup647: pallet_evm_coder_substrate::pallet::Error<T>3880 **/4830 **/3881 PalletEvmCoderSubstrateError: {4831 PalletEvmCoderSubstrateError: {3882 _enum: ['OutOfGas', 'OutOfFund']4832 _enum: ['OutOfGas', 'OutOfFund']3883 },4833 },3884 /**4834 /**3885 * Lookup559: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>4835 * Lookup648: up_data_structs::SponsorshipState<pallet_evm::account::BasicCrossAccountIdRepr<sp_core::crypto::AccountId32>>3886 **/4836 **/3887 UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: {4837 UpDataStructsSponsorshipStateBasicCrossAccountIdRepr: {3888 _enum: {4838 _enum: {3892 }4842 }3893 },4843 },3894 /**4844 /**3895 * Lookup560: pallet_evm_contract_helpers::SponsoringModeT4845 * Lookup649: pallet_evm_contract_helpers::SponsoringModeT3896 **/4846 **/3897 PalletEvmContractHelpersSponsoringModeT: {4847 PalletEvmContractHelpersSponsoringModeT: {3898 _enum: ['Disabled', 'Allowlisted', 'Generous']4848 _enum: ['Disabled', 'Allowlisted', 'Generous']3899 },4849 },3900 /**4850 /**3901 * Lookup566: pallet_evm_contract_helpers::pallet::Error<T>4851 * Lookup655: pallet_evm_contract_helpers::pallet::Error<T>3902 **/4852 **/3903 PalletEvmContractHelpersError: {4853 PalletEvmContractHelpersError: {3904 _enum: ['NoPermission', 'NoPendingSponsor', 'TooManyMethodsHaveSponsoredLimit']4854 _enum: ['NoPermission', 'NoPendingSponsor', 'TooManyMethodsHaveSponsoredLimit']3905 },4855 },3906 /**4856 /**3907 * Lookup567: pallet_evm_migration::pallet::Error<T>4857 * Lookup656: pallet_evm_migration::pallet::Error<T>3908 **/4858 **/3909 PalletEvmMigrationError: {4859 PalletEvmMigrationError: {3910 _enum: ['AccountNotEmpty', 'AccountIsNotMigrating', 'BadEvent']4860 _enum: ['AccountNotEmpty', 'AccountIsNotMigrating', 'BadEvent']3911 },4861 },3912 /**4862 /**3913 * Lookup568: pallet_maintenance::pallet::Error<T>4863 * Lookup657: pallet_maintenance::pallet::Error<T>3914 **/4864 **/3915 PalletMaintenanceError: 'Null',4865 PalletMaintenanceError: 'Null',3916 /**4866 /**3917 * Lookup569: pallet_test_utils::pallet::Error<T>4867 * Lookup658: pallet_test_utils::pallet::Error<T>3918 **/4868 **/3919 PalletTestUtilsError: {4869 PalletTestUtilsError: {3920 _enum: ['TestPalletDisabled', 'TriggerRollback']4870 _enum: ['TestPalletDisabled', 'TriggerRollback']3921 },4871 },3922 /**4872 /**3923 * Lookup571: sp_runtime::MultiSignature4873 * Lookup660: sp_runtime::MultiSignature3924 **/4874 **/3925 SpRuntimeMultiSignature: {4875 SpRuntimeMultiSignature: {3926 _enum: {4876 _enum: {3930 }4880 }3931 },4881 },3932 /**4882 /**3933 * Lookup572: sp_core::ed25519::Signature4883 * Lookup661: sp_core::ed25519::Signature3934 **/4884 **/3935 SpCoreEd25519Signature: '[u8;64]',4885 SpCoreEd25519Signature: '[u8;64]',3936 /**4886 /**3937 * Lookup574: sp_core::sr25519::Signature4887 * Lookup663: sp_core::sr25519::Signature3938 **/4888 **/3939 SpCoreSr25519Signature: '[u8;64]',4889 SpCoreSr25519Signature: '[u8;64]',3940 /**4890 /**3941 * Lookup575: sp_core::ecdsa::Signature4891 * Lookup664: sp_core::ecdsa::Signature3942 **/4892 **/3943 SpCoreEcdsaSignature: '[u8;65]',4893 SpCoreEcdsaSignature: '[u8;65]',3944 /**4894 /**3945 * Lookup578: frame_system::extensions::check_spec_version::CheckSpecVersion<T>4895 * Lookup667: frame_system::extensions::check_spec_version::CheckSpecVersion<T>3946 **/4896 **/3947 FrameSystemExtensionsCheckSpecVersion: 'Null',4897 FrameSystemExtensionsCheckSpecVersion: 'Null',3948 /**4898 /**3949 * Lookup579: frame_system::extensions::check_tx_version::CheckTxVersion<T>4899 * Lookup668: frame_system::extensions::check_tx_version::CheckTxVersion<T>3950 **/4900 **/3951 FrameSystemExtensionsCheckTxVersion: 'Null',4901 FrameSystemExtensionsCheckTxVersion: 'Null',3952 /**4902 /**3953 * Lookup580: frame_system::extensions::check_genesis::CheckGenesis<T>4903 * Lookup669: frame_system::extensions::check_genesis::CheckGenesis<T>3954 **/4904 **/3955 FrameSystemExtensionsCheckGenesis: 'Null',4905 FrameSystemExtensionsCheckGenesis: 'Null',3956 /**4906 /**3957 * Lookup583: frame_system::extensions::check_nonce::CheckNonce<T>4907 * Lookup672: frame_system::extensions::check_nonce::CheckNonce<T>3958 **/4908 **/3959 FrameSystemExtensionsCheckNonce: 'Compact<u32>',4909 FrameSystemExtensionsCheckNonce: 'Compact<u32>',3960 /**4910 /**3961 * Lookup584: frame_system::extensions::check_weight::CheckWeight<T>4911 * Lookup673: frame_system::extensions::check_weight::CheckWeight<T>3962 **/4912 **/3963 FrameSystemExtensionsCheckWeight: 'Null',4913 FrameSystemExtensionsCheckWeight: 'Null',3964 /**4914 /**3965 * Lookup585: opal_runtime::runtime_common::maintenance::CheckMaintenance4915 * Lookup674: quartz_runtime::runtime_common::maintenance::CheckMaintenance3966 **/4916 **/3967 OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: 'Null',4917 QuartzRuntimeRuntimeCommonMaintenanceCheckMaintenance: 'Null',3968 /**4918 /**3969 * Lookup586: opal_runtime::runtime_common::identity::DisableIdentityCalls4919 * Lookup675: quartz_runtime::runtime_common::identity::DisableIdentityCalls3970 **/4920 **/3971 OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls: 'Null',4921 QuartzRuntimeRuntimeCommonIdentityDisableIdentityCalls: 'Null',3972 /**4922 /**3973 * Lookup587: pallet_template_transaction_payment::ChargeTransactionPayment<opal_runtime::Runtime>4923 * Lookup676: pallet_template_transaction_payment::ChargeTransactionPayment<quartz_runtime::Runtime>3974 **/4924 **/3975 PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',4925 PalletTemplateTransactionPaymentChargeTransactionPayment: 'Compact<u128>',3976 /**4926 /**3977 * Lookup588: opal_runtime::Runtime4927 * Lookup677: quartz_runtime::Runtime3978 **/4928 **/3979 OpalRuntimeRuntime: 'Null',4929 QuartzRuntimeRuntime: 'Null',3980 /**4930 /**3981 * Lookup589: pallet_ethereum::FakeTransactionFinalizer<opal_runtime::Runtime>4931 * Lookup678: pallet_ethereum::FakeTransactionFinalizer<quartz_runtime::Runtime>3982 **/4932 **/3983 PalletEthereumFakeTransactionFinalizer: 'Null'4933 PalletEthereumFakeTransactionFinalizer: 'Null'3984};4934};tests/src/interfaces/registry.tsdiffbeforeafterboth--- 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 @@
CumulusPalletXcmCall: CumulusPalletXcmCall;
CumulusPalletXcmError: CumulusPalletXcmError;
CumulusPalletXcmEvent: CumulusPalletXcmEvent;
+ CumulusPalletXcmOrigin: CumulusPalletXcmOrigin;
CumulusPalletXcmpQueueCall: CumulusPalletXcmpQueueCall;
CumulusPalletXcmpQueueError: CumulusPalletXcmpQueueError;
CumulusPalletXcmpQueueEvent: CumulusPalletXcmpQueueEvent;
@@ -58,7 +59,10 @@
FrameSupportDispatchPerDispatchClassU32: FrameSupportDispatchPerDispatchClassU32;
FrameSupportDispatchPerDispatchClassWeight: FrameSupportDispatchPerDispatchClassWeight;
FrameSupportDispatchPerDispatchClassWeightsPerClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;
+ FrameSupportDispatchRawOrigin: FrameSupportDispatchRawOrigin;
FrameSupportPalletId: FrameSupportPalletId;
+ FrameSupportPreimagesBounded: FrameSupportPreimagesBounded;
+ FrameSupportScheduleDispatchTime: FrameSupportScheduleDispatchTime;
FrameSupportTokensMiscBalanceStatus: FrameSupportTokensMiscBalanceStatus;
FrameSystemAccountInfo: FrameSystemAccountInfo;
FrameSystemCall: FrameSystemCall;
@@ -75,10 +79,6 @@
FrameSystemLimitsBlockWeights: FrameSystemLimitsBlockWeights;
FrameSystemLimitsWeightsPerClass: FrameSystemLimitsWeightsPerClass;
FrameSystemPhase: FrameSystemPhase;
- OpalRuntimeRuntime: OpalRuntimeRuntime;
- OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls: OpalRuntimeRuntimeCommonIdentityDisableIdentityCalls;
- OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance: OpalRuntimeRuntimeCommonMaintenanceCheckMaintenance;
- OpalRuntimeRuntimeCommonSessionKeys: OpalRuntimeRuntimeCommonSessionKeys;
OrmlTokensAccountData: OrmlTokensAccountData;
OrmlTokensBalanceLock: OrmlTokensBalanceLock;
OrmlTokensModuleCall: OrmlTokensModuleCall;
@@ -106,16 +106,35 @@
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 @@
PalletForeignAssetsModuleEvent: PalletForeignAssetsModuleEvent;
PalletForeignAssetsNativeCurrency: PalletForeignAssetsNativeCurrency;
PalletFungibleError: PalletFungibleError;
+ PalletGovOriginsOrigin: PalletGovOriginsOrigin;
PalletIdentityBitFlags: PalletIdentityBitFlags;
PalletIdentityCall: PalletIdentityCall;
PalletIdentityError: PalletIdentityError;
@@ -149,13 +169,35 @@
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 @@
PalletXcmCall: PalletXcmCall;
PalletXcmError: PalletXcmError;
PalletXcmEvent: PalletXcmEvent;
+ PalletXcmOrigin: PalletXcmOrigin;
PalletXcmQueryStatus: PalletXcmQueryStatus;
PalletXcmRemoteLockedFungibleRecord: PalletXcmRemoteLockedFungibleRecord;
PalletXcmVersionMigrationStage: PalletXcmVersionMigrationStage;
@@ -201,6 +244,11 @@
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 @@
SpCoreEd25519Signature: SpCoreEd25519Signature;
SpCoreSr25519Public: SpCoreSr25519Public;
SpCoreSr25519Signature: SpCoreSr25519Signature;
+ SpCoreVoid: SpCoreVoid;
SpRuntimeDigest: SpRuntimeDigest;
SpRuntimeDigestDigestItem: SpRuntimeDigestDigestItem;
SpRuntimeDispatchError: SpRuntimeDispatchError;
tests/src/interfaces/types-lookup.tsdiffbeforeafterboth--- 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,951 +893,324 @@
readonly type: 'Noted' | 'Requested' | 'Cleared';
}
- /** @name CumulusPalletXcmpQueueEvent (71) */
- interface CumulusPalletXcmpQueueEvent extends Enum {
- readonly isSuccess: boolean;
- readonly asSuccess: {
- readonly messageHash: Option<U8aFixed>;
- readonly weight: SpWeightsWeightV2Weight;
- } & Struct;
- readonly isFail: boolean;
- readonly asFail: {
- readonly messageHash: Option<U8aFixed>;
- readonly error: XcmV3TraitsError;
- readonly weight: SpWeightsWeightV2Weight;
- } & Struct;
- readonly isBadVersion: boolean;
- readonly asBadVersion: {
- readonly messageHash: Option<U8aFixed>;
- } & Struct;
- readonly isBadFormat: boolean;
- readonly asBadFormat: {
- readonly messageHash: Option<U8aFixed>;
- } & Struct;
- readonly isXcmpMessageSent: boolean;
- readonly asXcmpMessageSent: {
- readonly messageHash: Option<U8aFixed>;
- } & Struct;
- readonly isOverweightEnqueued: boolean;
- readonly asOverweightEnqueued: {
- readonly sender: u32;
- readonly sentAt: u32;
- readonly index: u64;
- readonly required: SpWeightsWeightV2Weight;
- } & Struct;
- readonly isOverweightServiced: boolean;
- readonly asOverweightServiced: {
- readonly index: u64;
- readonly used: SpWeightsWeightV2Weight;
- } & Struct;
- readonly type: 'Success' | 'Fail' | 'BadVersion' | 'BadFormat' | 'XcmpMessageSent' | 'OverweightEnqueued' | 'OverweightServiced';
- }
-
- /** @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 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<XcmV3MultiLocation>]>;
- 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<XcmV3MultiLocation>]>;
- 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 (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 XcmV3Xcm (76) */
- interface XcmV3Xcm extends Vec<XcmV3Instruction> {}
-
- /** @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<u64>;
- readonly response: XcmV3Response;
- readonly maxWeight: SpWeightsWeightV2Weight;
- readonly querier: Option<XcmV3MultiLocation>;
- } & 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<u32>;
- readonly maxMessageSize: Compact<u32>;
- readonly maxCapacity: Compact<u32>;
- } & Struct;
- readonly isHrmpChannelAccepted: boolean;
- readonly asHrmpChannelAccepted: {
- readonly recipient: Compact<u32>;
- } & Struct;
- readonly isHrmpChannelClosing: boolean;
- readonly asHrmpChannelClosing: {
- readonly initiator: Compact<u32>;
- readonly sender: Compact<u32>;
- readonly recipient: Compact<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;
- } & 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;
+ /** @name PalletDemocracyEvent (71) */
+ interface PalletDemocracyEvent extends Enum {
+ readonly isProposed: boolean;
+ readonly asProposed: {
+ readonly proposalIndex: u32;
+ readonly deposit: u128;
} & Struct;
- readonly isInitiateReserveWithdraw: boolean;
- readonly asInitiateReserveWithdraw: {
- readonly assets: XcmV3MultiassetMultiAssetFilter;
- readonly reserve: XcmV3MultiLocation;
- readonly xcm: XcmV3Xcm;
+ readonly isTabled: boolean;
+ readonly asTabled: {
+ readonly proposalIndex: u32;
+ readonly deposit: u128;
} & Struct;
- readonly isInitiateTeleport: boolean;
- readonly asInitiateTeleport: {
- readonly assets: XcmV3MultiassetMultiAssetFilter;
- readonly dest: XcmV3MultiLocation;
- readonly xcm: XcmV3Xcm;
+ readonly isExternalTabled: boolean;
+ readonly isStarted: boolean;
+ readonly asStarted: {
+ readonly refIndex: u32;
+ readonly threshold: PalletDemocracyVoteThreshold;
} & Struct;
- readonly isReportHolding: boolean;
- readonly asReportHolding: {
- readonly responseInfo: XcmV3QueryResponseInfo;
- readonly assets: XcmV3MultiassetMultiAssetFilter;
+ readonly isPassed: boolean;
+ readonly asPassed: {
+ readonly refIndex: u32;
} & Struct;
- readonly isBuyExecution: boolean;
- readonly asBuyExecution: {
- readonly fees: XcmV3MultiAsset;
- readonly weightLimit: XcmV3WeightLimit;
+ readonly isNotPassed: boolean;
+ readonly asNotPassed: {
+ readonly refIndex: u32;
} & 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;
+ readonly isCancelled: boolean;
+ readonly asCancelled: {
+ readonly refIndex: u32;
} & Struct;
- readonly isTrap: boolean;
- readonly asTrap: Compact<u64>;
- readonly isSubscribeVersion: boolean;
- readonly asSubscribeVersion: {
- readonly queryId: Compact<u64>;
- readonly maxResponseWeight: SpWeightsWeightV2Weight;
+ readonly isDelegated: boolean;
+ readonly asDelegated: {
+ readonly who: AccountId32;
+ readonly target: AccountId32;
} & Struct;
- readonly isUnsubscribeVersion: boolean;
- readonly isBurnAsset: boolean;
- readonly asBurnAsset: XcmV3MultiassetMultiAssets;
- readonly isExpectAsset: boolean;
- readonly asExpectAsset: XcmV3MultiassetMultiAssets;
- readonly isExpectOrigin: boolean;
- readonly asExpectOrigin: Option<XcmV3MultiLocation>;
- readonly isExpectError: boolean;
- readonly asExpectError: Option<ITuple<[u32, XcmV3TraitsError]>>;
- readonly isExpectTransactStatus: boolean;
- readonly asExpectTransactStatus: XcmV3MaybeErrorCode;
- readonly isQueryPallet: boolean;
- readonly asQueryPallet: {
- readonly moduleName: Bytes;
- readonly responseInfo: XcmV3QueryResponseInfo;
+ readonly isUndelegated: boolean;
+ readonly asUndelegated: {
+ readonly account: AccountId32;
} & Struct;
- readonly isExpectPallet: boolean;
- readonly asExpectPallet: {
- readonly index: Compact<u32>;
- readonly name: Bytes;
- readonly moduleName: Bytes;
- readonly crateMajor: Compact<u32>;
- readonly minCrateMinor: Compact<u32>;
+ readonly isVetoed: boolean;
+ readonly asVetoed: {
+ readonly who: AccountId32;
+ readonly proposalHash: H256;
+ readonly until: u32;
} & 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 isBlacklisted: boolean;
+ readonly asBlacklisted: {
+ readonly proposalHash: H256;
} & Struct;
- readonly isLockAsset: boolean;
- readonly asLockAsset: {
- readonly asset: XcmV3MultiAsset;
- readonly unlocker: XcmV3MultiLocation;
+ readonly isVoted: boolean;
+ readonly asVoted: {
+ readonly voter: AccountId32;
+ readonly refIndex: u32;
+ readonly vote: PalletDemocracyVoteAccountVote;
} & Struct;
- readonly isUnlockAsset: boolean;
- readonly asUnlockAsset: {
- readonly asset: XcmV3MultiAsset;
- readonly target: XcmV3MultiLocation;
+ readonly isSeconded: boolean;
+ readonly asSeconded: {
+ readonly seconder: AccountId32;
+ readonly propIndex: u32;
} & Struct;
- readonly isNoteUnlockable: boolean;
- readonly asNoteUnlockable: {
- readonly asset: XcmV3MultiAsset;
- readonly owner: XcmV3MultiLocation;
+ readonly isProposalCanceled: boolean;
+ readonly asProposalCanceled: {
+ readonly propIndex: u32;
} & Struct;
- readonly isRequestUnlock: boolean;
- readonly asRequestUnlock: {
- readonly asset: XcmV3MultiAsset;
- readonly locker: XcmV3MultiLocation;
+ readonly isMetadataSet: boolean;
+ readonly asMetadataSet: {
+ readonly owner: PalletDemocracyMetadataOwner;
+ readonly hash_: H256;
} & Struct;
- readonly isSetFeesMode: boolean;
- readonly asSetFeesMode: {
- readonly jitWithdraw: bool;
+ readonly isMetadataCleared: boolean;
+ readonly asMetadataCleared: {
+ readonly owner: PalletDemocracyMetadataOwner;
+ 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<XcmV3MultiLocation>;
+ readonly isMetadataTransferred: boolean;
+ readonly asMetadataTransferred: {
+ readonly prevOwner: PalletDemocracyMetadataOwner;
+ readonly owner: PalletDemocracyMetadataOwner;
+ 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';
+ readonly type: 'Proposed' | 'Tabled' | 'ExternalTabled' | 'Started' | 'Passed' | 'NotPassed' | 'Cancelled' | 'Delegated' | 'Undelegated' | 'Vetoed' | 'Blacklisted' | 'Voted' | 'Seconded' | 'ProposalCanceled' | 'MetadataSet' | 'MetadataCleared' | 'MetadataTransferred';
}
- /** @name XcmV3Response (79) */
- interface XcmV3Response extends Enum {
- readonly isNull: boolean;
- readonly isAssets: boolean;
- readonly asAssets: XcmV3MultiassetMultiAssets;
- readonly isExecutionResult: boolean;
- readonly asExecutionResult: Option<ITuple<[u32, XcmV3TraitsError]>>;
- readonly isVersion: boolean;
- readonly asVersion: u32;
- readonly isPalletsInfo: boolean;
- readonly asPalletsInfo: Vec<XcmV3PalletInfo>;
- readonly isDispatchResult: boolean;
- readonly asDispatchResult: XcmV3MaybeErrorCode;
- readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version' | 'PalletsInfo' | 'DispatchResult';
+ /** @name PalletDemocracyVoteThreshold (72) */
+ interface PalletDemocracyVoteThreshold extends Enum {
+ readonly isSuperMajorityApprove: boolean;
+ readonly isSuperMajorityAgainst: boolean;
+ readonly isSimpleMajority: boolean;
+ readonly type: 'SuperMajorityApprove' | 'SuperMajorityAgainst' | 'SimpleMajority';
}
- /** @name XcmV3PalletInfo (83) */
- interface XcmV3PalletInfo extends Struct {
- readonly index: Compact<u32>;
- readonly name: Bytes;
- readonly moduleName: Bytes;
- readonly major: Compact<u32>;
- readonly minor: Compact<u32>;
- readonly patch: Compact<u32>;
+ /** @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 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 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 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 XcmDoubleEncoded (90) */
- interface XcmDoubleEncoded extends Struct {
- readonly encoded: Bytes;
- }
-
- /** @name XcmV3QueryResponseInfo (91) */
- interface XcmV3QueryResponseInfo extends Struct {
- readonly destination: XcmV3MultiLocation;
- readonly queryId: Compact<u64>;
- readonly maxWeight: SpWeightsWeightV2Weight;
- }
-
- /** @name XcmV3MultiassetMultiAssetFilter (92) */
- interface XcmV3MultiassetMultiAssetFilter extends Enum {
- readonly isDefinite: boolean;
- readonly asDefinite: XcmV3MultiassetMultiAssets;
- readonly isWild: boolean;
- readonly asWild: XcmV3MultiassetWildMultiAsset;
- readonly type: 'Definite' | 'Wild';
- }
-
- /** @name XcmV3MultiassetWildMultiAsset (93) */
- interface XcmV3MultiassetWildMultiAsset extends Enum {
- readonly isAll: boolean;
- readonly isAllOf: boolean;
- readonly asAllOf: {
- readonly id: XcmV3MultiassetAssetId;
- readonly fun: XcmV3MultiassetWildFungibility;
+ /** @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 isVoted: boolean;
+ readonly asVoted: {
+ readonly account: AccountId32;
+ readonly proposalHash: H256;
+ readonly voted: bool;
+ readonly yes: u32;
+ readonly no: u32;
} & Struct;
- readonly isAllCounted: boolean;
- readonly asAllCounted: Compact<u32>;
- readonly isAllOfCounted: boolean;
- readonly asAllOfCounted: {
- readonly id: XcmV3MultiassetAssetId;
- readonly fun: XcmV3MultiassetWildFungibility;
- readonly count: Compact<u32>;
+ readonly isApproved: boolean;
+ readonly asApproved: {
+ readonly proposalHash: H256;
} & Struct;
- readonly type: 'All' | 'AllOf' | 'AllCounted' | 'AllOfCounted';
- }
-
- /** @name XcmV3MultiassetWildFungibility (94) */
- interface XcmV3MultiassetWildFungibility extends Enum {
- readonly isFungible: boolean;
- readonly isNonFungible: boolean;
- readonly type: 'Fungible' | 'NonFungible';
- }
-
- /** @name XcmV3WeightLimit (96) */
- interface XcmV3WeightLimit extends Enum {
- readonly isUnlimited: boolean;
- readonly isLimited: boolean;
- readonly asLimited: SpWeightsWeightV2Weight;
- readonly type: 'Unlimited' | 'Limited';
- }
-
- /** @name XcmVersionedMultiAssets (97) */
- interface XcmVersionedMultiAssets extends Enum {
- readonly isV2: boolean;
- readonly asV2: XcmV2MultiassetMultiAssets;
- readonly isV3: boolean;
- readonly asV3: XcmV3MultiassetMultiAssets;
- readonly type: 'V2' | 'V3';
- }
-
- /** @name XcmV2MultiassetMultiAssets (98) */
- interface XcmV2MultiassetMultiAssets extends Vec<XcmV2MultiAsset> {}
-
- /** @name XcmV2MultiAsset (100) */
- interface XcmV2MultiAsset extends Struct {
- readonly id: XcmV2MultiassetAssetId;
- readonly fun: XcmV2MultiassetFungibility;
- }
-
- /** @name XcmV2MultiassetAssetId (101) */
- interface XcmV2MultiassetAssetId extends Enum {
- readonly isConcrete: boolean;
- readonly asConcrete: XcmV2MultiLocation;
- readonly isAbstract: boolean;
- readonly asAbstract: Bytes;
- readonly type: 'Concrete' | 'Abstract';
- }
-
- /** @name XcmV2MultiLocation (102) */
- interface XcmV2MultiLocation extends Struct {
- readonly parents: u8;
- readonly interior: XcmV2MultilocationJunctions;
- }
-
- /** @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 XcmV2Junction (104) */
- interface XcmV2Junction extends Enum {
- readonly isParachain: boolean;
- readonly asParachain: Compact<u32>;
- readonly isAccountId32: boolean;
- readonly asAccountId32: {
- readonly network: XcmV2NetworkId;
- readonly id: U8aFixed;
+ readonly isDisapproved: boolean;
+ readonly asDisapproved: {
+ readonly proposalHash: H256;
} & Struct;
- readonly isAccountIndex64: boolean;
- readonly asAccountIndex64: {
- readonly network: XcmV2NetworkId;
- readonly index: Compact<u64>;
+ readonly isExecuted: boolean;
+ readonly asExecuted: {
+ readonly proposalHash: H256;
+ readonly result: Result<Null, SpRuntimeDispatchError>;
} & Struct;
- readonly isAccountKey20: boolean;
- readonly asAccountKey20: {
- readonly network: XcmV2NetworkId;
- readonly key: U8aFixed;
+ readonly isMemberExecuted: boolean;
+ readonly asMemberExecuted: {
+ readonly proposalHash: H256;
+ readonly result: Result<Null, SpRuntimeDispatchError>;
} & Struct;
- readonly isPalletInstance: boolean;
- readonly asPalletInstance: u8;
- readonly isGeneralIndex: boolean;
- readonly asGeneralIndex: Compact<u128>;
- readonly isGeneralKey: boolean;
- readonly asGeneralKey: Bytes;
- readonly isOnlyChild: boolean;
- readonly isPlurality: boolean;
- readonly asPlurality: {
- readonly id: XcmV2BodyId;
- readonly part: XcmV2BodyPart;
+ readonly isClosed: boolean;
+ readonly asClosed: {
+ readonly proposalHash: H256;
+ readonly yes: u32;
+ readonly no: u32;
} & Struct;
- readonly type: 'Parachain' | 'AccountId32' | 'AccountIndex64' | 'AccountKey20' | 'PalletInstance' | 'GeneralIndex' | 'GeneralKey' | 'OnlyChild' | 'Plurality';
+ readonly type: 'Proposed' | 'Voted' | 'Approved' | 'Disapproved' | 'Executed' | 'MemberExecuted' | 'Closed';
}
- /** @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 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 XcmV2BodyId (107) */
- interface XcmV2BodyId extends Enum {
- readonly isUnit: boolean;
- readonly isNamed: boolean;
- readonly asNamed: Bytes;
- readonly isIndex: boolean;
- readonly asIndex: Compact<u32>;
- 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 (108) */
- interface XcmV2BodyPart extends Enum {
- readonly isVoice: boolean;
- readonly isMembers: boolean;
- readonly asMembers: {
- readonly count: Compact<u32>;
+ /** @name PalletRankedCollectiveEvent (81) */
+ interface PalletRankedCollectiveEvent extends Enum {
+ readonly isMemberAdded: boolean;
+ readonly asMemberAdded: {
+ readonly who: AccountId32;
} & Struct;
- readonly isFraction: boolean;
- readonly asFraction: {
- readonly nom: Compact<u32>;
- readonly denom: Compact<u32>;
+ readonly isRankChanged: boolean;
+ readonly asRankChanged: {
+ readonly who: AccountId32;
+ readonly rank: u16;
} & Struct;
- readonly isAtLeastProportion: boolean;
- readonly asAtLeastProportion: {
- readonly nom: Compact<u32>;
- readonly denom: Compact<u32>;
+ readonly isMemberRemoved: boolean;
+ readonly asMemberRemoved: {
+ readonly who: AccountId32;
+ readonly rank: u16;
} & Struct;
- readonly isMoreThanProportion: boolean;
- readonly asMoreThanProportion: {
- readonly nom: Compact<u32>;
- readonly denom: Compact<u32>;
+ readonly isVoted: boolean;
+ readonly asVoted: {
+ readonly who: AccountId32;
+ readonly poll: u32;
+ readonly vote: PalletRankedCollectiveVoteRecord;
+ readonly tally: PalletRankedCollectiveTally;
} & Struct;
- readonly type: 'Voice' | 'Members' | 'Fraction' | 'AtLeastProportion' | 'MoreThanProportion';
- }
-
- /** @name XcmV2MultiassetFungibility (109) */
- interface XcmV2MultiassetFungibility extends Enum {
- readonly isFungible: boolean;
- readonly asFungible: Compact<u128>;
- readonly isNonFungible: boolean;
- readonly asNonFungible: XcmV2MultiassetAssetInstance;
- readonly type: 'Fungible' | 'NonFungible';
- }
-
- /** @name XcmV2MultiassetAssetInstance (110) */
- interface XcmV2MultiassetAssetInstance extends Enum {
- readonly isUndefined: boolean;
- readonly isIndex: boolean;
- readonly asIndex: Compact<u128>;
- readonly isArray4: boolean;
- readonly asArray4: U8aFixed;
- readonly isArray8: boolean;
- readonly asArray8: U8aFixed;
- readonly isArray16: boolean;
- readonly asArray16: U8aFixed;
- readonly isArray32: boolean;
- readonly asArray32: U8aFixed;
- readonly isBlob: boolean;
- readonly asBlob: Bytes;
- readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';
+ readonly type: 'MemberAdded' | 'RankChanged' | 'MemberRemoved' | 'Voted';
}
- /** @name XcmVersionedMultiLocation (111) */
- interface XcmVersionedMultiLocation extends Enum {
- readonly isV2: boolean;
- readonly asV2: XcmV2MultiLocation;
- readonly isV3: boolean;
- readonly asV3: XcmV3MultiLocation;
- readonly type: 'V2' | 'V3';
+ /** @name PalletRankedCollectiveVoteRecord (83) */
+ interface PalletRankedCollectiveVoteRecord extends Enum {
+ readonly isAye: boolean;
+ readonly asAye: u32;
+ readonly isNay: boolean;
+ readonly asNay: u32;
+ readonly type: 'Aye' | 'Nay';
}
- /** @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 PalletRankedCollectiveTally (84) */
+ interface PalletRankedCollectiveTally extends Struct {
+ readonly bareAyes: u32;
+ readonly ayes: u32;
+ readonly nays: u32;
}
- /** @name CumulusPalletDmpQueueEvent (113) */
- interface CumulusPalletDmpQueueEvent extends Enum {
- readonly isInvalidFormat: boolean;
- readonly asInvalidFormat: {
- readonly messageId: U8aFixed;
+ /** @name PalletReferendaEvent (85) */
+ interface PalletReferendaEvent extends Enum {
+ readonly isSubmitted: boolean;
+ readonly asSubmitted: {
+ readonly index: u32;
+ readonly track: u16;
+ readonly proposal: FrameSupportPreimagesBounded;
} & Struct;
- readonly isUnsupportedVersion: boolean;
- readonly asUnsupportedVersion: {
- readonly messageId: U8aFixed;
+ readonly isDecisionDepositPlaced: boolean;
+ readonly asDecisionDepositPlaced: {
+ readonly index: u32;
+ readonly who: AccountId32;
+ readonly amount: u128;
} & Struct;
- readonly isExecutedDownward: boolean;
- readonly asExecutedDownward: {
- readonly messageId: U8aFixed;
- readonly outcome: XcmV3TraitsOutcome;
- } & 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;
+ readonly isDecisionDepositRefunded: boolean;
+ readonly asDecisionDepositRefunded: {
+ readonly index: u32;
+ readonly who: AccountId32;
+ readonly amount: u128;
} & Struct;
- readonly isOverweightServiced: boolean;
- readonly asOverweightServiced: {
- readonly overweightIndex: u64;
- readonly weightUsed: SpWeightsWeightV2Weight;
+ readonly isDepositSlashed: boolean;
+ readonly asDepositSlashed: {
+ readonly who: AccountId32;
+ readonly amount: u128;
} & Struct;
- readonly isMaxMessagesExhausted: boolean;
- readonly asMaxMessagesExhausted: {
- readonly messageId: U8aFixed;
+ readonly isDecisionStarted: boolean;
+ readonly asDecisionStarted: {
+ readonly index: u32;
+ readonly track: u16;
+ readonly proposal: FrameSupportPreimagesBounded;
+ readonly tally: PalletRankedCollectiveTally;
} & Struct;
- readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced' | 'MaxMessagesExhausted';
- }
-
- /** @name PalletConfigurationEvent (114) */
- interface PalletConfigurationEvent extends Enum {
- readonly isNewDesiredCollators: boolean;
- readonly asNewDesiredCollators: {
- readonly desiredCollators: Option<u32>;
+ readonly isConfirmStarted: boolean;
+ readonly asConfirmStarted: {
+ readonly index: u32;
} & Struct;
- readonly isNewCollatorLicenseBond: boolean;
- readonly asNewCollatorLicenseBond: {
- readonly bondCost: Option<u128>;
+ readonly isConfirmAborted: boolean;
+ readonly asConfirmAborted: {
+ readonly index: u32;
} & Struct;
- readonly isNewCollatorKickThreshold: boolean;
- readonly asNewCollatorKickThreshold: {
- readonly lengthInBlocks: Option<u32>;
+ readonly isConfirmed: boolean;
+ readonly asConfirmed: {
+ readonly index: u32;
+ readonly tally: PalletRankedCollectiveTally;
} & 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<Null, SpRuntimeDispatchError>;
- 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;
- } & Struct;
- readonly isForeignAssetUpdated: boolean;
- readonly asForeignAssetUpdated: {
- readonly assetId: u32;
- readonly assetAddress: XcmV3MultiLocation;
- readonly metadata: PalletForeignAssetsModuleAssetMetadata;
+ readonly asApproved: {
+ readonly index: u32;
} & Struct;
- readonly isAssetRegistered: boolean;
- readonly asAssetRegistered: {
- readonly assetId: PalletForeignAssetsAssetIds;
- readonly metadata: PalletForeignAssetsModuleAssetMetadata;
+ readonly isRejected: boolean;
+ readonly asRejected: {
+ readonly index: u32;
+ readonly tally: PalletRankedCollectiveTally;
} & Struct;
- readonly isAssetUpdated: boolean;
- readonly asAssetUpdated: {
- readonly assetId: PalletForeignAssetsAssetIds;
- readonly metadata: PalletForeignAssetsModuleAssetMetadata;
+ readonly isTimedOut: boolean;
+ readonly asTimedOut: {
+ readonly index: u32;
+ readonly tally: PalletRankedCollectiveTally;
} & 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 isCancelled: boolean;
+ readonly asCancelled: {
+ readonly index: u32;
+ readonly tally: PalletRankedCollectiveTally;
} & Struct;
- readonly isCreated: boolean;
- readonly asCreated: {
- readonly address: H160;
+ readonly isKilled: boolean;
+ readonly asKilled: {
+ readonly index: u32;
+ readonly tally: PalletRankedCollectiveTally;
} & Struct;
- readonly isCreatedFailed: boolean;
- readonly asCreatedFailed: {
- readonly address: H160;
+ readonly isSubmissionDepositRefunded: boolean;
+ readonly asSubmissionDepositRefunded: {
+ readonly index: u32;
+ readonly who: AccountId32;
+ readonly amount: u128;
} & Struct;
- readonly isExecuted: boolean;
- readonly asExecuted: {
- readonly address: H160;
+ readonly isMetadataSet: boolean;
+ readonly asMetadataSet: {
+ readonly index: u32;
+ readonly hash_: H256;
} & Struct;
- readonly isExecutedFailed: boolean;
- readonly asExecutedFailed: {
- readonly address: H160;
+ readonly isMetadataCleared: boolean;
+ readonly asMetadataCleared: {
+ readonly index: u32;
+ readonly hash_: H256;
} & Struct;
- readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed';
+ readonly type: 'Submitted' | 'DecisionDepositPlaced' | 'DecisionDepositRefunded' | 'DepositSlashed' | 'DecisionStarted' | 'ConfirmStarted' | 'ConfirmAborted' | 'Confirmed' | 'Approved' | 'Rejected' | 'TimedOut' | 'Cancelled' | 'Killed' | 'SubmissionDepositRefunded' | 'MetadataSet' | 'MetadataCleared';
}
- /** @name EthereumLog (130) */
- interface EthereumLog extends Struct {
- readonly address: H160;
- readonly topics: Vec<H256>;
- readonly data: Bytes;
- }
-
- /** @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;
+ /** @name FrameSupportPreimagesBounded (86) */
+ interface FrameSupportPreimagesBounded extends Enum {
+ readonly isLegacy: boolean;
+ readonly asLegacy: {
+ readonly hash_: H256;
} & 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 PalletMaintenanceEvent (143) */
- interface PalletMaintenanceEvent extends Enum {
- readonly isMaintenanceEnabled: boolean;
- readonly isMaintenanceDisabled: boolean;
- readonly type: 'MaintenanceEnabled' | 'MaintenanceDisabled';
- }
-
- /** @name PalletTestUtilsEvent (144) */
- interface PalletTestUtilsEvent extends Enum {
- readonly isValueIsSet: boolean;
- readonly isShouldRollback: boolean;
- readonly isBatchCompleted: boolean;
- readonly type: 'ValueIsSet' | 'ShouldRollback' | 'BatchCompleted';
- }
-
- /** @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 FrameSystemLastRuntimeUpgradeInfo (148) */
- interface FrameSystemLastRuntimeUpgradeInfo extends Struct {
- readonly specVersion: Compact<u32>;
- readonly specName: Text;
+ readonly isInline: boolean;
+ readonly asInline: Bytes;
+ readonly isLookup: boolean;
+ readonly asLookup: {
+ readonly hash_: H256;
+ readonly len: u32;
+ } & Struct;
+ readonly type: 'Legacy' | 'Inline' | 'Lookup';
}
- /** @name FrameSystemCall (149) */
+ /** @name FrameSystemCall (88) */
interface FrameSystemCall extends Enum {
readonly isRemark: boolean;
readonly asRemark: {
@@ -1874,94 +1248,7 @@
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;
- }
-
- /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (154) */
- interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct {
- readonly normal: FrameSystemLimitsWeightsPerClass;
- readonly operational: FrameSystemLimitsWeightsPerClass;
- readonly mandatory: FrameSystemLimitsWeightsPerClass;
- }
-
- /** @name FrameSystemLimitsWeightsPerClass (155) */
- interface FrameSystemLimitsWeightsPerClass extends Struct {
- readonly baseExtrinsic: SpWeightsWeightV2Weight;
- readonly maxExtrinsic: Option<SpWeightsWeightV2Weight>;
- readonly maxTotal: Option<SpWeightsWeightV2Weight>;
- readonly reserved: Option<SpWeightsWeightV2Weight>;
- }
-
- /** @name FrameSystemLimitsBlockLength (157) */
- interface FrameSystemLimitsBlockLength extends Struct {
- readonly max: FrameSupportDispatchPerDispatchClassU32;
- }
-
- /** @name FrameSupportDispatchPerDispatchClassU32 (158) */
- interface FrameSupportDispatchPerDispatchClassU32 extends Struct {
- readonly normal: u32;
- readonly operational: u32;
- readonly mandatory: u32;
- }
-
- /** @name SpWeightsRuntimeDbWeight (159) */
- interface SpWeightsRuntimeDbWeight extends Struct {
- readonly read: u64;
- readonly write: u64;
- }
-
- /** @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<ITuple<[U8aFixed, u32]>>;
- readonly transactionVersion: u32;
- readonly stateVersion: u8;
- }
-
- /** @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 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) */
+ /** @name PalletStateTrieMigrationCall (92) */
interface PalletStateTrieMigrationCall extends Enum {
readonly isControlAutoMigration: boolean;
readonly asControlAutoMigration: {
@@ -1994,77 +1281,33 @@
readonly progressChild: PalletStateTrieMigrationProgress;
} & 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<Bytes>;
- }
-
- /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (178) */
- interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {
- readonly dmqMqcHead: H256;
- readonly relayDispatchQueueSize: CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize;
- readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV4AbridgedHrmpChannel]>>;
- readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV4AbridgedHrmpChannel]>>;
+ /** @name PalletStateTrieMigrationMigrationLimits (94) */
+ interface PalletStateTrieMigrationMigrationLimits extends Struct {
+ readonly size_: u32;
+ readonly item: u32;
}
- /** @name CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize (179) */
- interface CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize extends Struct {
- readonly remainingCount: u32;
- readonly remainingSize: u32;
+ /** @name PalletStateTrieMigrationMigrationTask (95) */
+ interface PalletStateTrieMigrationMigrationTask extends Struct {
+ readonly progressTop: PalletStateTrieMigrationProgress;
+ readonly progressChild: PalletStateTrieMigrationProgress;
+ readonly size_: u32;
+ readonly topItems: u32;
+ readonly childItems: 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<H256>;
+ /** @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 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;
- }
-
- /** @name CumulusPalletParachainSystemCall (192) */
+ /** @name CumulusPalletParachainSystemCall (98) */
interface CumulusPalletParachainSystemCall extends Enum {
readonly isSetValidationData: boolean;
readonly asSetValidationData: {
@@ -2086,7 +1329,7 @@
readonly type: 'SetValidationData' | 'SudoSendUpwardMessage' | 'AuthorizeUpgrade' | 'EnactAuthorizedUpgrade';
}
- /** @name CumulusPrimitivesParachainInherentParachainInherentData (193) */
+ /** @name CumulusPrimitivesParachainInherentParachainInherentData (99) */
interface CumulusPrimitivesParachainInherentParachainInherentData extends Struct {
readonly validationData: PolkadotPrimitivesV4PersistedValidationData;
readonly relayChainState: SpTrieStorageProof;
@@ -2094,35 +1337,35 @@
readonly horizontalMessages: BTreeMap<u32, Vec<PolkadotCorePrimitivesInboundHrmpMessage>>;
}
- /** @name PolkadotCorePrimitivesInboundDownwardMessage (195) */
+ /** @name PolkadotPrimitivesV4PersistedValidationData (100) */
+ interface PolkadotPrimitivesV4PersistedValidationData extends Struct {
+ readonly parentHead: Bytes;
+ readonly relayParentNumber: u32;
+ readonly relayParentStorageRoot: H256;
+ readonly maxPovSize: u32;
+ }
+
+ /** @name SpTrieStorageProof (102) */
+ interface SpTrieStorageProof extends Struct {
+ readonly trieNodes: BTreeSet<Bytes>;
+ }
+
+ /** @name PolkadotCorePrimitivesInboundDownwardMessage (105) */
interface PolkadotCorePrimitivesInboundDownwardMessage extends Struct {
readonly sentAt: u32;
readonly msg: Bytes;
}
- /** @name PolkadotCorePrimitivesInboundHrmpMessage (198) */
+ /** @name PolkadotCorePrimitivesInboundHrmpMessage (109) */
interface PolkadotCorePrimitivesInboundHrmpMessage extends Struct {
readonly sentAt: u32;
readonly data: Bytes;
}
- /** @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 ParachainInfoCall (202) */
+ /** @name ParachainInfoCall (112) */
type ParachainInfoCall = Null;
- /** @name PalletCollatorSelectionCall (205) */
+ /** @name PalletCollatorSelectionCall (113) */
interface PalletCollatorSelectionCall extends Enum {
readonly isAddInvulnerable: boolean;
readonly asAddInvulnerable: {
@@ -2143,87 +1386,29 @@
readonly type: 'AddInvulnerable' | 'RemoveInvulnerable' | 'GetLicense' | 'Onboard' | 'Offboard' | 'ReleaseLicense' | 'ForceReleaseLicense';
}
- /** @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 OpalRuntimeRuntimeCommonSessionKeys (209) */
- interface OpalRuntimeRuntimeCommonSessionKeys extends Struct {
- readonly aura: SpConsensusAuraSr25519AppSr25519Public;
- }
-
- /** @name SpConsensusAuraSr25519AppSr25519Public (210) */
- interface SpConsensusAuraSr25519AppSr25519Public extends SpCoreSr25519Public {}
-
- /** @name SpCoreSr25519Public (211) */
- interface SpCoreSr25519Public extends U8aFixed {}
-
- /** @name SpCoreCryptoKeyTypeId (214) */
- interface SpCoreCryptoKeyTypeId extends U8aFixed {}
-
- /** @name PalletSessionCall (215) */
+ /** @name PalletSessionCall (114) */
interface PalletSessionCall extends Enum {
readonly isSetKeys: boolean;
readonly asSetKeys: {
- readonly keys_: OpalRuntimeRuntimeCommonSessionKeys;
+ readonly keys_: QuartzRuntimeRuntimeCommonSessionKeys;
readonly proof: Bytes;
} & Struct;
readonly isPurgeKeys: boolean;
readonly type: 'SetKeys' | 'PurgeKeys';
}
- /** @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 QuartzRuntimeRuntimeCommonSessionKeys (115) */
+ interface QuartzRuntimeRuntimeCommonSessionKeys extends Struct {
+ readonly aura: SpConsensusAuraSr25519AppSr25519Public;
}
- /** @name PalletBalancesBalanceLock (221) */
- interface PalletBalancesBalanceLock extends Struct {
- readonly id: U8aFixed;
- readonly amount: u128;
- readonly reasons: PalletBalancesReasons;
- }
-
- /** @name PalletBalancesReasons (222) */
- interface PalletBalancesReasons extends Enum {
- readonly isFee: boolean;
- readonly isMisc: boolean;
- readonly isAll: boolean;
- readonly type: 'Fee' | 'Misc' | 'All';
- }
-
- /** @name PalletBalancesReserveData (225) */
- interface PalletBalancesReserveData extends Struct {
- readonly id: U8aFixed;
- readonly amount: u128;
- }
+ /** @name SpConsensusAuraSr25519AppSr25519Public (116) */
+ interface SpConsensusAuraSr25519AppSr25519Public extends SpCoreSr25519Public {}
- /** @name PalletBalancesIdAmount (228) */
- interface PalletBalancesIdAmount extends Struct {
- readonly id: U8aFixed;
- readonly amount: u128;
- }
+ /** @name SpCoreSr25519Public (117) */
+ interface SpCoreSr25519Public extends U8aFixed {}
- /** @name PalletBalancesCall (231) */
+ /** @name PalletBalancesCall (118) */
interface PalletBalancesCall extends Enum {
readonly isTransferAllowDeath: boolean;
readonly asTransferAllowDeath: {
@@ -2274,22 +1459,7 @@
readonly type: 'TransferAllowDeath' | 'SetBalanceDeprecated' | 'ForceTransfer' | 'TransferKeepAlive' | 'TransferAll' | 'ForceUnreserve' | 'UpgradeAccounts' | 'Transfer' | 'ForceSetBalance';
}
- /** @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 PalletTimestampCall (235) */
+ /** @name PalletTimestampCall (122) */
interface PalletTimestampCall extends Enum {
readonly isSet: boolean;
readonly asSet: {
@@ -2298,22 +1468,7 @@
readonly type: 'Set';
}
- /** @name PalletTransactionPaymentReleases (237) */
- interface PalletTransactionPaymentReleases extends Enum {
- readonly isV1Ancient: boolean;
- readonly isV2: boolean;
- readonly type: 'V1Ancient' | 'V2';
- }
-
- /** @name PalletTreasuryProposal (238) */
- interface PalletTreasuryProposal extends Struct {
- readonly proposer: AccountId32;
- readonly value: u128;
- readonly beneficiary: AccountId32;
- readonly bond: u128;
- }
-
- /** @name PalletTreasuryCall (240) */
+ /** @name PalletTreasuryCall (123) */
interface PalletTreasuryCall extends Enum {
readonly isProposeSpend: boolean;
readonly asProposeSpend: {
@@ -2338,22 +1493,9 @@
readonly proposalId: Compact<u32>;
} & Struct;
readonly type: 'ProposeSpend' | 'RejectProposal' | 'ApproveProposal' | 'Spend' | 'RemoveApproval';
- }
-
- /** @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 PalletSudoCall (244) */
+ /** @name PalletSudoCall (124) */
interface PalletSudoCall extends Enum {
readonly isSudo: boolean;
readonly asSudo: {
@@ -2376,7 +1518,7 @@
readonly type: 'Sudo' | 'SudoUncheckedWeight' | 'SetKey' | 'SudoAs';
}
- /** @name OrmlVestingModuleCall (246) */
+ /** @name OrmlVestingModuleCall (125) */
interface OrmlVestingModuleCall extends Enum {
readonly isClaim: boolean;
readonly isVestedTransfer: boolean;
@@ -2396,7 +1538,7 @@
readonly type: 'Claim' | 'VestedTransfer' | 'UpdateVestingSchedules' | 'ClaimFor';
}
- /** @name OrmlXtokensModuleCall (248) */
+ /** @name OrmlXtokensModuleCall (127) */
interface OrmlXtokensModuleCall extends Enum {
readonly isTransfer: boolean;
readonly asTransfer: {
@@ -2443,7 +1585,138 @@
readonly type: 'Transfer' | 'TransferMultiasset' | 'TransferWithFee' | 'TransferMultiassetWithFee' | 'TransferMulticurrencies' | 'TransferMultiassets';
}
- /** @name XcmVersionedMultiAsset (249) */
+ /** @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<u32>;
+ readonly isAccountId32: boolean;
+ readonly asAccountId32: {
+ readonly network: XcmV2NetworkId;
+ readonly id: U8aFixed;
+ } & Struct;
+ readonly isAccountIndex64: boolean;
+ readonly asAccountIndex64: {
+ readonly network: XcmV2NetworkId;
+ readonly index: Compact<u64>;
+ } & 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<u128>;
+ 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<u32>;
+ 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<u32>;
+ } & Struct;
+ readonly isFraction: boolean;
+ readonly asFraction: {
+ readonly nom: Compact<u32>;
+ readonly denom: Compact<u32>;
+ } & Struct;
+ readonly isAtLeastProportion: boolean;
+ readonly asAtLeastProportion: {
+ readonly nom: Compact<u32>;
+ readonly denom: Compact<u32>;
+ } & Struct;
+ readonly isMoreThanProportion: boolean;
+ readonly asMoreThanProportion: {
+ readonly nom: Compact<u32>;
+ readonly denom: Compact<u32>;
+ } & 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;
@@ -2452,7 +1725,61 @@
readonly type: 'V2' | 'V3';
}
- /** @name OrmlTokensModuleCall (252) */
+ /** @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<u128>;
+ readonly isNonFungible: boolean;
+ readonly asNonFungible: XcmV2MultiassetAssetInstance;
+ readonly type: 'Fungible' | 'NonFungible';
+ }
+
+ /** @name XcmV2MultiassetAssetInstance (141) */
+ interface XcmV2MultiassetAssetInstance extends Enum {
+ readonly isUndefined: boolean;
+ readonly isIndex: boolean;
+ readonly asIndex: Compact<u128>;
+ readonly isArray4: boolean;
+ readonly asArray4: U8aFixed;
+ readonly isArray8: boolean;
+ readonly asArray8: U8aFixed;
+ readonly isArray16: boolean;
+ readonly asArray16: U8aFixed;
+ readonly isArray32: boolean;
+ readonly asArray32: U8aFixed;
+ readonly isBlob: boolean;
+ readonly asBlob: Bytes;
+ readonly type: 'Undefined' | 'Index' | 'Array4' | 'Array8' | 'Array16' | 'Array32' | 'Blob';
+ }
+
+ /** @name XcmVersionedMultiAssets (144) */
+ interface XcmVersionedMultiAssets extends Enum {
+ readonly isV2: boolean;
+ readonly asV2: XcmV2MultiassetMultiAssets;
+ readonly isV3: boolean;
+ readonly asV3: XcmV3MultiassetMultiAssets;
+ readonly type: 'V2' | 'V3';
+ }
+
+ /** @name XcmV2MultiassetMultiAssets (145) */
+ interface XcmV2MultiassetMultiAssets extends Vec<XcmV2MultiAsset> {}
+
+ /** @name OrmlTokensModuleCall (147) */
interface OrmlTokensModuleCall extends Enum {
readonly isTransfer: boolean;
readonly asTransfer: {
@@ -2489,7 +1816,7 @@
readonly type: 'Transfer' | 'TransferAll' | 'TransferKeepAlive' | 'ForceTransfer' | 'SetBalance';
}
- /** @name PalletIdentityCall (253) */
+ /** @name PalletIdentityCall (148) */
interface PalletIdentityCall extends Enum {
readonly isAddRegistrar: boolean;
readonly asAddRegistrar: {
@@ -2569,7 +1896,7 @@
readonly type: 'AddRegistrar' | 'SetIdentity' | 'SetSubs' | 'ClearIdentity' | 'RequestJudgement' | 'CancelRequest' | 'SetFee' | 'SetAccountId' | 'SetFields' | 'ProvideJudgement' | 'KillIdentity' | 'AddSub' | 'RenameSub' | 'RemoveSub' | 'QuitSub' | 'ForceInsertIdentities' | 'ForceRemoveIdentities' | 'ForceSetSubs';
}
- /** @name PalletIdentityIdentityInfo (254) */
+ /** @name PalletIdentityIdentityInfo (149) */
interface PalletIdentityIdentityInfo extends Struct {
readonly additional: Vec<ITuple<[Data, Data]>>;
readonly display: Data;
@@ -2582,7 +1909,7 @@
readonly twitter: Data;
}
- /** @name PalletIdentityBitFlags (290) */
+ /** @name PalletIdentityBitFlags (185) */
interface PalletIdentityBitFlags extends Set {
readonly isDisplay: boolean;
readonly isLegal: boolean;
@@ -2594,7 +1921,7 @@
readonly isTwitter: boolean;
}
- /** @name PalletIdentityIdentityField (291) */
+ /** @name PalletIdentityIdentityField (186) */
interface PalletIdentityIdentityField extends Enum {
readonly isDisplay: boolean;
readonly isLegal: boolean;
@@ -2607,7 +1934,7 @@
readonly type: 'Display' | 'Legal' | 'Web' | 'Riot' | 'Email' | 'PgpFingerprint' | 'Image' | 'Twitter';
}
- /** @name PalletIdentityJudgement (292) */
+ /** @name PalletIdentityJudgement (187) */
interface PalletIdentityJudgement extends Enum {
readonly isUnknown: boolean;
readonly isFeePaid: boolean;
@@ -2620,14 +1947,14 @@
readonly type: 'Unknown' | 'FeePaid' | 'Reasonable' | 'KnownGood' | 'OutOfDate' | 'LowQuality' | 'Erroneous';
}
- /** @name PalletIdentityRegistration (295) */
+ /** @name PalletIdentityRegistration (190) */
interface PalletIdentityRegistration extends Struct {
readonly judgements: Vec<ITuple<[u32, PalletIdentityJudgement]>>;
readonly deposit: u128;
readonly info: PalletIdentityIdentityInfo;
}
- /** @name PalletPreimageCall (303) */
+ /** @name PalletPreimageCall (198) */
interface PalletPreimageCall extends Enum {
readonly isNotePreimage: boolean;
readonly asNotePreimage: {
@@ -2648,7 +1975,374 @@
readonly type: 'NotePreimage' | 'UnnotePreimage' | 'RequestPreimage' | 'UnrequestPreimage';
}
- /** @name CumulusPalletXcmpQueueCall (304) */
+ /** @name PalletDemocracyCall (199) */
+ interface PalletDemocracyCall extends Enum {
+ readonly isPropose: boolean;
+ readonly asPropose: {
+ readonly proposal: FrameSupportPreimagesBounded;
+ readonly value: Compact<u128>;
+ } & Struct;
+ readonly isSecond: boolean;
+ readonly asSecond: {
+ readonly proposal: Compact<u32>;
+ } & Struct;
+ readonly isVote: boolean;
+ readonly asVote: {
+ readonly refIndex: Compact<u32>;
+ 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<u32>;
+ } & 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<u32>;
+ } & Struct;
+ readonly isCancelProposal: boolean;
+ readonly asCancelProposal: {
+ readonly propIndex: Compact<u32>;
+ } & Struct;
+ readonly isSetMetadata: boolean;
+ readonly asSetMetadata: {
+ readonly owner: PalletDemocracyMetadataOwner;
+ readonly maybeHash: Option<H256>;
+ } & Struct;
+ readonly type: 'Propose' | 'Second' | 'Vote' | 'EmergencyCancel' | 'ExternalPropose' | 'ExternalProposeMajority' | 'ExternalProposeDefault' | 'FastTrack' | 'VetoExternal' | 'CancelReferendum' | 'Delegate' | 'Undelegate' | 'ClearPublicProposals' | 'Unlock' | 'RemoveVote' | 'RemoveOtherVote' | 'Blacklist' | 'CancelProposal' | 'SetMetadata';
+ }
+
+ /** @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<AccountId32>;
+ readonly prime: Option<AccountId32>;
+ readonly oldCount: u32;
+ } & Struct;
+ readonly isExecute: boolean;
+ readonly asExecute: {
+ readonly proposal: Call;
+ readonly lengthBound: Compact<u32>;
+ } & Struct;
+ readonly isPropose: boolean;
+ readonly asPropose: {
+ readonly threshold: Compact<u32>;
+ readonly proposal: Call;
+ readonly lengthBound: Compact<u32>;
+ } & Struct;
+ readonly isVote: boolean;
+ readonly asVote: {
+ readonly proposal: H256;
+ readonly index: Compact<u32>;
+ readonly approve: bool;
+ } & Struct;
+ readonly isDisapproveProposal: boolean;
+ readonly asDisapproveProposal: {
+ readonly proposalHash: H256;
+ } & Struct;
+ readonly isClose: boolean;
+ readonly asClose: {
+ readonly proposalHash: H256;
+ readonly index: Compact<u32>;
+ readonly proposalWeightBound: SpWeightsWeightV2Weight;
+ readonly lengthBound: Compact<u32>;
+ } & Struct;
+ readonly type: 'SetMembers' | 'Execute' | 'Propose' | 'Vote' | 'DisapproveProposal' | 'Close';
+ }
+
+ /** @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<AccountId32>;
+ } & 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 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<H256>;
+ } & 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 FrameSupportDispatchRawOrigin (210) */
+ interface FrameSupportDispatchRawOrigin extends Enum {
+ readonly isRoot: boolean;
+ readonly isSigned: boolean;
+ readonly asSigned: AccountId32;
+ readonly isNone: boolean;
+ readonly type: 'Root' | 'Signed' | 'None';
+ }
+
+ /** @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 PalletGovOriginsOrigin (213) */
+ interface PalletGovOriginsOrigin extends Enum {
+ readonly isFellowshipProposition: boolean;
+ readonly type: 'FellowshipProposition';
+ }
+
+ /** @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<ITuple<[u32, u32]>>;
+ 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<ITuple<[u32, u32]>>;
+ 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<ITuple<[u32, u32]>>;
+ readonly priority: u8;
+ readonly call: Call;
+ } & Struct;
+ readonly isScheduleNamedAfter: boolean;
+ readonly asScheduleNamedAfter: {
+ readonly id: U8aFixed;
+ readonly after: u32;
+ readonly maybePeriodic: Option<ITuple<[u32, u32]>>;
+ readonly priority: u8;
+ readonly call: Call;
+ } & Struct;
+ readonly type: 'Schedule' | 'Cancel' | 'ScheduleNamed' | 'CancelNamed' | 'ScheduleAfter' | 'ScheduleNamedAfter';
+ }
+
+ /** @name CumulusPalletXcmpQueueCall (223) */
interface CumulusPalletXcmpQueueCall extends Enum {
readonly isServiceOverweight: boolean;
readonly asServiceOverweight: {
@@ -2684,7 +2378,7 @@
readonly type: 'ServiceOverweight' | 'SuspendXcmExecution' | 'ResumeXcmExecution' | 'UpdateSuspendThreshold' | 'UpdateDropThreshold' | 'UpdateResumeThreshold' | 'UpdateThresholdWeight' | 'UpdateWeightRestrictDecay' | 'UpdateXcmpMaxIndividualWeight';
}
- /** @name PalletXcmCall (305) */
+ /** @name PalletXcmCall (224) */
interface PalletXcmCall extends Enum {
readonly isSend: boolean;
readonly asSend: {
@@ -2750,7 +2444,7 @@
readonly type: 'Send' | 'TeleportAssets' | 'ReserveTransferAssets' | 'Execute' | 'ForceXcmVersion' | 'ForceDefaultXcmVersion' | 'ForceSubscribeVersionNotify' | 'ForceUnsubscribeVersionNotify' | 'LimitedReserveTransferAssets' | 'LimitedTeleportAssets' | 'ForceSuspension';
}
- /** @name XcmVersionedXcm (306) */
+ /** @name XcmVersionedXcm (225) */
interface XcmVersionedXcm extends Enum {
readonly isV2: boolean;
readonly asV2: XcmV2Xcm;
@@ -2759,10 +2453,10 @@
readonly type: 'V2' | 'V3';
}
- /** @name XcmV2Xcm (307) */
+ /** @name XcmV2Xcm (226) */
interface XcmV2Xcm extends Vec<XcmV2Instruction> {}
- /** @name XcmV2Instruction (309) */
+ /** @name XcmV2Instruction (228) */
interface XcmV2Instruction extends Enum {
readonly isWithdrawAsset: boolean;
readonly asWithdrawAsset: XcmV2MultiassetMultiAssets;
@@ -2882,7 +2576,7 @@
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 XcmV2Response (310) */
+ /** @name XcmV2Response (229) */
interface XcmV2Response extends Enum {
readonly isNull: boolean;
readonly isAssets: boolean;
@@ -2894,7 +2588,7 @@
readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version';
}
- /** @name XcmV2TraitsError (313) */
+ /** @name XcmV2TraitsError (232) */
interface XcmV2TraitsError extends Enum {
readonly isOverflow: boolean;
readonly isUnimplemented: boolean;
@@ -2927,7 +2621,21 @@
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 XcmV2MultiassetMultiAssetFilter (314) */
+ /** @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 XcmDoubleEncoded (234) */
+ interface XcmDoubleEncoded extends Struct {
+ readonly encoded: Bytes;
+ }
+
+ /** @name XcmV2MultiassetMultiAssetFilter (235) */
interface XcmV2MultiassetMultiAssetFilter extends Enum {
readonly isDefinite: boolean;
readonly asDefinite: XcmV2MultiassetMultiAssets;
@@ -2936,7 +2644,7 @@
readonly type: 'Definite' | 'Wild';
}
- /** @name XcmV2MultiassetWildMultiAsset (315) */
+ /** @name XcmV2MultiassetWildMultiAsset (236) */
interface XcmV2MultiassetWildMultiAsset extends Enum {
readonly isAll: boolean;
readonly isAllOf: boolean;
@@ -2947,14 +2655,14 @@
readonly type: 'All' | 'AllOf';
}
- /** @name XcmV2MultiassetWildFungibility (316) */
+ /** @name XcmV2MultiassetWildFungibility (237) */
interface XcmV2MultiassetWildFungibility extends Enum {
readonly isFungible: boolean;
readonly isNonFungible: boolean;
readonly type: 'Fungible' | 'NonFungible';
}
- /** @name XcmV2WeightLimit (317) */
+ /** @name XcmV2WeightLimit (238) */
interface XcmV2WeightLimit extends Enum {
readonly isUnlimited: boolean;
readonly isLimited: boolean;
@@ -2962,10 +2670,320 @@
readonly type: 'Unlimited' | 'Limited';
}
- /** @name CumulusPalletXcmCall (326) */
+ /** @name XcmV3Xcm (239) */
+ interface XcmV3Xcm extends Vec<XcmV3Instruction> {}
+
+ /** @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<u64>;
+ readonly response: XcmV3Response;
+ readonly maxWeight: SpWeightsWeightV2Weight;
+ readonly querier: Option<XcmV3MultiLocation>;
+ } & 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<u32>;
+ readonly maxMessageSize: Compact<u32>;
+ readonly maxCapacity: Compact<u32>;
+ } & Struct;
+ readonly isHrmpChannelAccepted: boolean;
+ readonly asHrmpChannelAccepted: {
+ readonly recipient: Compact<u32>;
+ } & Struct;
+ readonly isHrmpChannelClosing: boolean;
+ readonly asHrmpChannelClosing: {
+ readonly initiator: Compact<u32>;
+ readonly sender: Compact<u32>;
+ readonly recipient: Compact<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;
+ } & 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<u64>;
+ readonly isSubscribeVersion: boolean;
+ readonly asSubscribeVersion: {
+ readonly queryId: Compact<u64>;
+ 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<XcmV3MultiLocation>;
+ readonly isExpectError: boolean;
+ readonly asExpectError: Option<ITuple<[u32, XcmV3TraitsError]>>;
+ readonly isExpectTransactStatus: boolean;
+ readonly asExpectTransactStatus: XcmV3MaybeErrorCode;
+ readonly isQueryPallet: boolean;
+ readonly asQueryPallet: {
+ readonly moduleName: Bytes;
+ readonly responseInfo: XcmV3QueryResponseInfo;
+ } & Struct;
+ readonly isExpectPallet: boolean;
+ readonly asExpectPallet: {
+ readonly index: Compact<u32>;
+ readonly name: Bytes;
+ readonly moduleName: Bytes;
+ readonly crateMajor: Compact<u32>;
+ readonly minCrateMinor: Compact<u32>;
+ } & 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;
+ } & Struct;
+ readonly isLockAsset: boolean;
+ readonly asLockAsset: {
+ readonly asset: XcmV3MultiAsset;
+ readonly unlocker: XcmV3MultiLocation;
+ } & Struct;
+ readonly isUnlockAsset: boolean;
+ readonly asUnlockAsset: {
+ readonly asset: XcmV3MultiAsset;
+ readonly target: XcmV3MultiLocation;
+ } & Struct;
+ readonly isNoteUnlockable: boolean;
+ readonly asNoteUnlockable: {
+ readonly asset: XcmV3MultiAsset;
+ readonly owner: XcmV3MultiLocation;
+ } & Struct;
+ readonly isRequestUnlock: boolean;
+ readonly asRequestUnlock: {
+ readonly asset: XcmV3MultiAsset;
+ readonly locker: XcmV3MultiLocation;
+ } & Struct;
+ readonly isSetFeesMode: boolean;
+ readonly asSetFeesMode: {
+ readonly jitWithdraw: bool;
+ } & 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<XcmV3MultiLocation>;
+ } & 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 (242) */
+ interface XcmV3Response extends Enum {
+ readonly isNull: boolean;
+ readonly isAssets: boolean;
+ readonly asAssets: XcmV3MultiassetMultiAssets;
+ readonly isExecutionResult: boolean;
+ readonly asExecutionResult: Option<ITuple<[u32, XcmV3TraitsError]>>;
+ readonly isVersion: boolean;
+ readonly asVersion: u32;
+ readonly isPalletsInfo: boolean;
+ readonly asPalletsInfo: Vec<XcmV3PalletInfo>;
+ readonly isDispatchResult: boolean;
+ readonly asDispatchResult: XcmV3MaybeErrorCode;
+ readonly type: 'Null' | 'Assets' | 'ExecutionResult' | 'Version' | 'PalletsInfo' | 'DispatchResult';
+ }
+
+ /** @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 XcmV3PalletInfo (247) */
+ interface XcmV3PalletInfo extends Struct {
+ readonly index: Compact<u32>;
+ readonly name: Bytes;
+ readonly moduleName: Bytes;
+ readonly major: Compact<u32>;
+ readonly minor: Compact<u32>;
+ readonly patch: Compact<u32>;
+ }
+
+ /** @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 XcmV3QueryResponseInfo (253) */
+ interface XcmV3QueryResponseInfo extends Struct {
+ readonly destination: XcmV3MultiLocation;
+ readonly queryId: Compact<u64>;
+ 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 isAllCounted: boolean;
+ readonly asAllCounted: Compact<u32>;
+ readonly isAllOfCounted: boolean;
+ readonly asAllOfCounted: {
+ readonly id: XcmV3MultiassetAssetId;
+ readonly fun: XcmV3MultiassetWildFungibility;
+ readonly count: Compact<u32>;
+ } & Struct;
+ readonly type: 'All' | 'AllOf' | 'AllCounted' | 'AllOfCounted';
+ }
+
+ /** @name XcmV3MultiassetWildFungibility (256) */
+ interface XcmV3MultiassetWildFungibility extends Enum {
+ readonly isFungible: boolean;
+ readonly isNonFungible: boolean;
+ readonly type: 'Fungible' | 'NonFungible';
+ }
+
+ /** @name CumulusPalletXcmCall (265) */
type CumulusPalletXcmCall = Null;
- /** @name CumulusPalletDmpQueueCall (327) */
+ /** @name CumulusPalletDmpQueueCall (266) */
interface CumulusPalletDmpQueueCall extends Enum {
readonly isServiceOverweight: boolean;
readonly asServiceOverweight: {
@@ -2975,7 +2993,7 @@
readonly type: 'ServiceOverweight';
}
- /** @name PalletInflationCall (328) */
+ /** @name PalletInflationCall (267) */
interface PalletInflationCall extends Enum {
readonly isStartInflation: boolean;
readonly asStartInflation: {
@@ -2984,7 +3002,7 @@
readonly type: 'StartInflation';
}
- /** @name PalletUniqueCall (329) */
+ /** @name PalletUniqueCall (268) */
interface PalletUniqueCall extends Enum {
readonly isCreateCollection: boolean;
readonly asCreateCollection: {
@@ -3165,7 +3183,7 @@
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 UpDataStructsCollectionMode (334) */
+ /** @name UpDataStructsCollectionMode (273) */
interface UpDataStructsCollectionMode extends Enum {
readonly isNft: boolean;
readonly isFungible: boolean;
@@ -3174,7 +3192,7 @@
readonly type: 'Nft' | 'Fungible' | 'ReFungible';
}
- /** @name UpDataStructsCreateCollectionData (335) */
+ /** @name UpDataStructsCreateCollectionData (274) */
interface UpDataStructsCreateCollectionData extends Struct {
readonly mode: UpDataStructsCollectionMode;
readonly access: Option<UpDataStructsAccessMode>;
@@ -3190,14 +3208,23 @@
readonly flags: U8aFixed;
}
- /** @name UpDataStructsAccessMode (337) */
+ /** @name PalletEvmAccountBasicCrossAccountIdRepr (275) */
+ interface PalletEvmAccountBasicCrossAccountIdRepr extends Enum {
+ readonly isSubstrate: boolean;
+ readonly asSubstrate: AccountId32;
+ readonly isEthereum: boolean;
+ readonly asEthereum: H160;
+ readonly type: 'Substrate' | 'Ethereum';
+ }
+
+ /** @name UpDataStructsAccessMode (277) */
interface UpDataStructsAccessMode extends Enum {
readonly isNormal: boolean;
readonly isAllowList: boolean;
readonly type: 'Normal' | 'AllowList';
}
- /** @name UpDataStructsCollectionLimits (339) */
+ /** @name UpDataStructsCollectionLimits (279) */
interface UpDataStructsCollectionLimits extends Struct {
readonly accountTokenOwnershipLimit: Option<u32>;
readonly sponsoredDataSize: Option<u32>;
@@ -3210,7 +3237,7 @@
readonly transfersEnabled: Option<bool>;
}
- /** @name UpDataStructsSponsoringRateLimit (341) */
+ /** @name UpDataStructsSponsoringRateLimit (281) */
interface UpDataStructsSponsoringRateLimit extends Enum {
readonly isSponsoringDisabled: boolean;
readonly isBlocks: boolean;
@@ -3218,43 +3245,43 @@
readonly type: 'SponsoringDisabled' | 'Blocks';
}
- /** @name UpDataStructsCollectionPermissions (344) */
+ /** @name UpDataStructsCollectionPermissions (284) */
interface UpDataStructsCollectionPermissions extends Struct {
readonly access: Option<UpDataStructsAccessMode>;
readonly mintMode: Option<bool>;
readonly nesting: Option<UpDataStructsNestingPermissions>;
}
- /** @name UpDataStructsNestingPermissions (346) */
+ /** @name UpDataStructsNestingPermissions (286) */
interface UpDataStructsNestingPermissions extends Struct {
readonly tokenOwner: bool;
readonly collectionAdmin: bool;
readonly restricted: Option<UpDataStructsOwnerRestrictedSet>;
}
- /** @name UpDataStructsOwnerRestrictedSet (348) */
+ /** @name UpDataStructsOwnerRestrictedSet (288) */
interface UpDataStructsOwnerRestrictedSet extends BTreeSet<u32> {}
- /** @name UpDataStructsPropertyKeyPermission (353) */
+ /** @name UpDataStructsPropertyKeyPermission (294) */
interface UpDataStructsPropertyKeyPermission extends Struct {
readonly key: Bytes;
readonly permission: UpDataStructsPropertyPermission;
}
- /** @name UpDataStructsPropertyPermission (354) */
+ /** @name UpDataStructsPropertyPermission (296) */
interface UpDataStructsPropertyPermission extends Struct {
readonly mutable: bool;
readonly collectionAdmin: bool;
readonly tokenOwner: bool;
}
- /** @name UpDataStructsProperty (357) */
+ /** @name UpDataStructsProperty (299) */
interface UpDataStructsProperty extends Struct {
readonly key: Bytes;
readonly value: Bytes;
}
- /** @name UpDataStructsCreateItemData (362) */
+ /** @name UpDataStructsCreateItemData (304) */
interface UpDataStructsCreateItemData extends Enum {
readonly isNft: boolean;
readonly asNft: UpDataStructsCreateNftData;
@@ -3265,23 +3292,23 @@
readonly type: 'Nft' | 'Fungible' | 'ReFungible';
}
- /** @name UpDataStructsCreateNftData (363) */
+ /** @name UpDataStructsCreateNftData (305) */
interface UpDataStructsCreateNftData extends Struct {
readonly properties: Vec<UpDataStructsProperty>;
}
- /** @name UpDataStructsCreateFungibleData (364) */
+ /** @name UpDataStructsCreateFungibleData (306) */
interface UpDataStructsCreateFungibleData extends Struct {
readonly value: u128;
}
- /** @name UpDataStructsCreateReFungibleData (365) */
+ /** @name UpDataStructsCreateReFungibleData (307) */
interface UpDataStructsCreateReFungibleData extends Struct {
readonly pieces: u128;
readonly properties: Vec<UpDataStructsProperty>;
}
- /** @name UpDataStructsCreateItemExData (368) */
+ /** @name UpDataStructsCreateItemExData (311) */
interface UpDataStructsCreateItemExData extends Enum {
readonly isNft: boolean;
readonly asNft: Vec<UpDataStructsCreateNftExData>;
@@ -3294,26 +3321,26 @@
readonly type: 'Nft' | 'Fungible' | 'RefungibleMultipleItems' | 'RefungibleMultipleOwners';
}
- /** @name UpDataStructsCreateNftExData (370) */
+ /** @name UpDataStructsCreateNftExData (313) */
interface UpDataStructsCreateNftExData extends Struct {
readonly properties: Vec<UpDataStructsProperty>;
readonly owner: PalletEvmAccountBasicCrossAccountIdRepr;
}
- /** @name UpDataStructsCreateRefungibleExSingleOwner (377) */
+ /** @name UpDataStructsCreateRefungibleExSingleOwner (320) */
interface UpDataStructsCreateRefungibleExSingleOwner extends Struct {
readonly user: PalletEvmAccountBasicCrossAccountIdRepr;
readonly pieces: u128;
readonly properties: Vec<UpDataStructsProperty>;
}
- /** @name UpDataStructsCreateRefungibleExMultipleOwners (379) */
+ /** @name UpDataStructsCreateRefungibleExMultipleOwners (322) */
interface UpDataStructsCreateRefungibleExMultipleOwners extends Struct {
readonly users: BTreeMap<PalletEvmAccountBasicCrossAccountIdRepr, u128>;
readonly properties: Vec<UpDataStructsProperty>;
}
- /** @name PalletConfigurationCall (380) */
+ /** @name PalletConfigurationCall (323) */
interface PalletConfigurationCall extends Enum {
readonly isSetWeightToFeeCoefficientOverride: boolean;
readonly asSetWeightToFeeCoefficientOverride: {
@@ -3342,7 +3369,7 @@
readonly type: 'SetWeightToFeeCoefficientOverride' | 'SetMinGasPriceOverride' | 'SetAppPromotionConfigurationOverride' | 'SetCollatorSelectionDesiredCollators' | 'SetCollatorSelectionLicenseBond' | 'SetCollatorSelectionKickThreshold';
}
- /** @name PalletConfigurationAppPromotionConfiguration (382) */
+ /** @name PalletConfigurationAppPromotionConfiguration (325) */
interface PalletConfigurationAppPromotionConfiguration extends Struct {
readonly recalculationInterval: Option<u32>;
readonly pendingInterval: Option<u32>;
@@ -3350,10 +3377,10 @@
readonly maxStakersPerCalculation: Option<u8>;
}
- /** @name PalletStructureCall (386) */
+ /** @name PalletStructureCall (330) */
type PalletStructureCall = Null;
- /** @name PalletAppPromotionCall (387) */
+ /** @name PalletAppPromotionCall (331) */
interface PalletAppPromotionCall extends Enum {
readonly isSetAdminAddress: boolean;
readonly asSetAdminAddress: {
@@ -3395,7 +3422,7 @@
readonly type: 'SetAdminAddress' | 'Stake' | 'UnstakeAll' | 'SponsorCollection' | 'StopSponsoringCollection' | 'SponsorContract' | 'StopSponsoringContract' | 'PayoutStakers' | 'UnstakePartial' | 'ForceUnstake';
}
- /** @name PalletForeignAssetsModuleCall (388) */
+ /** @name PalletForeignAssetsModuleCall (333) */
interface PalletForeignAssetsModuleCall extends Enum {
readonly isRegisterForeignAsset: boolean;
readonly asRegisterForeignAsset: {
@@ -3412,7 +3439,15 @@
readonly type: 'RegisterForeignAsset' | 'UpdateForeignAsset';
}
- /** @name PalletEvmCall (389) */
+ /** @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: {
@@ -3457,7 +3492,7 @@
readonly type: 'Withdraw' | 'Call' | 'Create' | 'Create2';
}
- /** @name PalletEthereumCall (395) */
+ /** @name PalletEthereumCall (344) */
interface PalletEthereumCall extends Enum {
readonly isTransact: boolean;
readonly asTransact: {
@@ -3466,7 +3501,7 @@
readonly type: 'Transact';
}
- /** @name EthereumTransactionTransactionV2 (396) */
+ /** @name EthereumTransactionTransactionV2 (345) */
interface EthereumTransactionTransactionV2 extends Enum {
readonly isLegacy: boolean;
readonly asLegacy: EthereumTransactionLegacyTransaction;
@@ -3477,7 +3512,7 @@
readonly type: 'Legacy' | 'Eip2930' | 'Eip1559';
}
- /** @name EthereumTransactionLegacyTransaction (397) */
+ /** @name EthereumTransactionLegacyTransaction (346) */
interface EthereumTransactionLegacyTransaction extends Struct {
readonly nonce: U256;
readonly gasPrice: U256;
@@ -3488,7 +3523,7 @@
readonly signature: EthereumTransactionTransactionSignature;
}
- /** @name EthereumTransactionTransactionAction (398) */
+ /** @name EthereumTransactionTransactionAction (347) */
interface EthereumTransactionTransactionAction extends Enum {
readonly isCall: boolean;
readonly asCall: H160;
@@ -3496,14 +3531,14 @@
readonly type: 'Call' | 'Create';
}
- /** @name EthereumTransactionTransactionSignature (399) */
+ /** @name EthereumTransactionTransactionSignature (348) */
interface EthereumTransactionTransactionSignature extends Struct {
readonly v: u64;
readonly r: H256;
readonly s: H256;
}
- /** @name EthereumTransactionEip2930Transaction (401) */
+ /** @name EthereumTransactionEip2930Transaction (350) */
interface EthereumTransactionEip2930Transaction extends Struct {
readonly chainId: u64;
readonly nonce: U256;
@@ -3518,13 +3553,13 @@
readonly s: H256;
}
- /** @name EthereumTransactionAccessListItem (403) */
+ /** @name EthereumTransactionAccessListItem (352) */
interface EthereumTransactionAccessListItem extends Struct {
readonly address: H160;
readonly storageKeys: Vec<H256>;
}
- /** @name EthereumTransactionEip1559Transaction (404) */
+ /** @name EthereumTransactionEip1559Transaction (353) */
interface EthereumTransactionEip1559Transaction extends Struct {
readonly chainId: u64;
readonly nonce: U256;
@@ -3540,7 +3575,7 @@
readonly s: H256;
}
- /** @name PalletEvmContractHelpersCall (405) */
+ /** @name PalletEvmContractHelpersCall (354) */
interface PalletEvmContractHelpersCall extends Enum {
readonly isMigrateFromSelfSponsoring: boolean;
readonly asMigrateFromSelfSponsoring: {
@@ -3549,7 +3584,7 @@
readonly type: 'MigrateFromSelfSponsoring';
}
- /** @name PalletEvmMigrationCall (407) */
+ /** @name PalletEvmMigrationCall (356) */
interface PalletEvmMigrationCall extends Enum {
readonly isBegin: boolean;
readonly asBegin: {
@@ -3577,7 +3612,14 @@
readonly type: 'Begin' | 'SetData' | 'Finish' | 'InsertEthLogs' | 'InsertEvents' | 'RemoveRmrkData';
}
- /** @name PalletMaintenanceCall (411) */
+ /** @name EthereumLog (360) */
+ interface EthereumLog extends Struct {
+ readonly address: H160;
+ readonly topics: Vec<H256>;
+ readonly data: Bytes;
+ }
+
+ /** @name PalletMaintenanceCall (361) */
interface PalletMaintenanceCall extends Enum {
readonly isEnable: boolean;
readonly isDisable: boolean;
@@ -3589,7 +3631,7 @@
readonly type: 'Enable' | 'Disable' | 'ExecutePreimage';
}
- /** @name PalletTestUtilsCall (412) */
+ /** @name PalletTestUtilsCall (362) */
interface PalletTestUtilsCall extends Enum {
readonly isEnable: boolean;
readonly isSetTestValue: boolean;
@@ -3609,13 +3651,692 @@
readonly type: 'Enable' | 'SetTestValue' | 'SetTestValueAndRollback' | 'IncTestValue' | 'JustTakeFee' | 'BatchAll';
}
- /** @name PalletSudoError (414) */
+ /** @name PalletSchedulerEvent (365) */
+ 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<U8aFixed>;
+ readonly result: Result<Null, SpRuntimeDispatchError>;
+ } & Struct;
+ readonly isCallUnavailable: boolean;
+ readonly asCallUnavailable: {
+ readonly task: ITuple<[u32, u32]>;
+ readonly id: Option<U8aFixed>;
+ } & Struct;
+ readonly isPeriodicFailed: boolean;
+ readonly asPeriodicFailed: {
+ readonly task: ITuple<[u32, u32]>;
+ readonly id: Option<U8aFixed>;
+ } & Struct;
+ readonly isPermanentlyOverweight: boolean;
+ readonly asPermanentlyOverweight: {
+ readonly task: ITuple<[u32, u32]>;
+ readonly id: Option<U8aFixed>;
+ } & Struct;
+ readonly type: 'Scheduled' | 'Canceled' | 'Dispatched' | 'CallUnavailable' | 'PeriodicFailed' | 'PermanentlyOverweight';
+ }
+
+ /** @name CumulusPalletXcmpQueueEvent (366) */
+ interface CumulusPalletXcmpQueueEvent extends Enum {
+ readonly isSuccess: boolean;
+ readonly asSuccess: {
+ readonly messageHash: Option<U8aFixed>;
+ readonly weight: SpWeightsWeightV2Weight;
+ } & Struct;
+ readonly isFail: boolean;
+ readonly asFail: {
+ readonly messageHash: Option<U8aFixed>;
+ readonly error: XcmV3TraitsError;
+ readonly weight: SpWeightsWeightV2Weight;
+ } & Struct;
+ readonly isBadVersion: boolean;
+ readonly asBadVersion: {
+ readonly messageHash: Option<U8aFixed>;
+ } & Struct;
+ readonly isBadFormat: boolean;
+ readonly asBadFormat: {
+ readonly messageHash: Option<U8aFixed>;
+ } & Struct;
+ readonly isXcmpMessageSent: boolean;
+ readonly asXcmpMessageSent: {
+ readonly messageHash: Option<U8aFixed>;
+ } & Struct;
+ readonly isOverweightEnqueued: boolean;
+ readonly asOverweightEnqueued: {
+ readonly sender: u32;
+ readonly sentAt: u32;
+ readonly index: u64;
+ readonly required: SpWeightsWeightV2Weight;
+ } & Struct;
+ readonly isOverweightServiced: boolean;
+ readonly asOverweightServiced: {
+ readonly index: u64;
+ readonly used: SpWeightsWeightV2Weight;
+ } & Struct;
+ 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<XcmV3MultiLocation>]>;
+ 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<XcmV3MultiLocation>]>;
+ 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 isUnsupportedVersion: boolean;
+ readonly asUnsupportedVersion: {
+ readonly messageId: U8aFixed;
+ } & Struct;
+ readonly isExecutedDownward: boolean;
+ readonly asExecutedDownward: {
+ readonly messageId: U8aFixed;
+ readonly outcome: XcmV3TraitsOutcome;
+ } & 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;
+ } & Struct;
+ readonly isMaxMessagesExhausted: boolean;
+ readonly asMaxMessagesExhausted: {
+ readonly messageId: U8aFixed;
+ } & Struct;
+ readonly type: 'InvalidFormat' | 'UnsupportedVersion' | 'ExecutedDownward' | 'WeightExhausted' | 'OverweightEnqueued' | 'OverweightServiced' | 'MaxMessagesExhausted';
+ }
+
+ /** @name PalletConfigurationEvent (371) */
+ interface PalletConfigurationEvent extends Enum {
+ readonly isNewDesiredCollators: boolean;
+ readonly asNewDesiredCollators: {
+ readonly desiredCollators: Option<u32>;
+ } & Struct;
+ readonly isNewCollatorLicenseBond: boolean;
+ readonly asNewCollatorLicenseBond: {
+ readonly bondCost: Option<u128>;
+ } & Struct;
+ readonly isNewCollatorKickThreshold: boolean;
+ readonly asNewCollatorKickThreshold: {
+ readonly lengthInBlocks: Option<u32>;
+ } & Struct;
+ 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<Null, SpRuntimeDispatchError>;
+ 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 isForeignAssetUpdated: boolean;
+ readonly asForeignAssetUpdated: {
+ readonly assetId: u32;
+ readonly assetAddress: XcmV3MultiLocation;
+ readonly metadata: PalletForeignAssetsModuleAssetMetadata;
+ } & Struct;
+ readonly isAssetRegistered: boolean;
+ readonly asAssetRegistered: {
+ readonly assetId: PalletForeignAssetsAssetIds;
+ readonly metadata: PalletForeignAssetsModuleAssetMetadata;
+ } & Struct;
+ readonly isAssetUpdated: boolean;
+ readonly asAssetUpdated: {
+ readonly assetId: PalletForeignAssetsAssetIds;
+ readonly metadata: PalletForeignAssetsModuleAssetMetadata;
+ } & Struct;
+ readonly type: 'ForeignAssetRegistered' | 'ForeignAssetUpdated' | 'AssetRegistered' | 'AssetUpdated';
+ }
+
+ /** @name PalletEvmEvent (376) */
+ interface PalletEvmEvent extends Enum {
+ readonly isLog: boolean;
+ readonly asLog: {
+ readonly log: EthereumLog;
+ } & Struct;
+ readonly isCreated: boolean;
+ readonly asCreated: {
+ readonly address: H160;
+ } & Struct;
+ readonly isCreatedFailed: boolean;
+ readonly asCreatedFailed: {
+ readonly address: H160;
+ } & Struct;
+ readonly isExecuted: boolean;
+ readonly asExecuted: {
+ readonly address: H160;
+ } & Struct;
+ readonly isExecutedFailed: boolean;
+ readonly asExecutedFailed: {
+ readonly address: H160;
+ } & Struct;
+ readonly type: 'Log' | 'Created' | 'CreatedFailed' | 'Executed' | 'ExecutedFailed';
+ }
+
+ /** @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 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 EvmCoreErrorExitSucceed (379) */
+ interface EvmCoreErrorExitSucceed extends Enum {
+ readonly isStopped: boolean;
+ readonly isReturned: boolean;
+ readonly isSuicided: boolean;
+ readonly type: 'Stopped' | 'Returned' | 'Suicided';
+ }
+
+ /** @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 EvmCoreErrorExitRevert (384) */
+ interface EvmCoreErrorExitRevert extends Enum {
+ readonly isReverted: boolean;
+ readonly type: 'Reverted';
+ }
+
+ /** @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 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 PalletEvmMigrationEvent (387) */
+ interface PalletEvmMigrationEvent extends Enum {
+ readonly isTestEvent: boolean;
+ readonly type: 'TestEvent';
+ }
+
+ /** @name PalletMaintenanceEvent (388) */
+ interface PalletMaintenanceEvent extends Enum {
+ readonly isMaintenanceEnabled: boolean;
+ readonly isMaintenanceDisabled: boolean;
+ readonly type: 'MaintenanceEnabled' | 'MaintenanceDisabled';
+ }
+
+ /** @name PalletTestUtilsEvent (389) */
+ interface PalletTestUtilsEvent extends Enum {
+ readonly isValueIsSet: boolean;
+ readonly isShouldRollback: boolean;
+ readonly isBatchCompleted: boolean;
+ readonly type: 'ValueIsSet' | 'ShouldRollback' | 'BatchCompleted';
+ }
+
+ /** @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 FrameSystemLastRuntimeUpgradeInfo (392) */
+ interface FrameSystemLastRuntimeUpgradeInfo extends Struct {
+ readonly specVersion: Compact<u32>;
+ readonly specName: Text;
+ }
+
+ /** @name FrameSystemLimitsBlockWeights (393) */
+ interface FrameSystemLimitsBlockWeights extends Struct {
+ readonly baseBlock: SpWeightsWeightV2Weight;
+ readonly maxBlock: SpWeightsWeightV2Weight;
+ readonly perClass: FrameSupportDispatchPerDispatchClassWeightsPerClass;
+ }
+
+ /** @name FrameSupportDispatchPerDispatchClassWeightsPerClass (394) */
+ interface FrameSupportDispatchPerDispatchClassWeightsPerClass extends Struct {
+ readonly normal: FrameSystemLimitsWeightsPerClass;
+ readonly operational: FrameSystemLimitsWeightsPerClass;
+ readonly mandatory: FrameSystemLimitsWeightsPerClass;
+ }
+
+ /** @name FrameSystemLimitsWeightsPerClass (395) */
+ interface FrameSystemLimitsWeightsPerClass extends Struct {
+ readonly baseExtrinsic: SpWeightsWeightV2Weight;
+ readonly maxExtrinsic: Option<SpWeightsWeightV2Weight>;
+ readonly maxTotal: Option<SpWeightsWeightV2Weight>;
+ readonly reserved: Option<SpWeightsWeightV2Weight>;
+ }
+
+ /** @name FrameSystemLimitsBlockLength (397) */
+ interface FrameSystemLimitsBlockLength extends Struct {
+ readonly max: FrameSupportDispatchPerDispatchClassU32;
+ }
+
+ /** @name FrameSupportDispatchPerDispatchClassU32 (398) */
+ interface FrameSupportDispatchPerDispatchClassU32 extends Struct {
+ readonly normal: u32;
+ readonly operational: u32;
+ readonly mandatory: u32;
+ }
+
+ /** @name SpWeightsRuntimeDbWeight (399) */
+ interface SpWeightsRuntimeDbWeight extends Struct {
+ readonly read: u64;
+ readonly write: u64;
+ }
+
+ /** @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<ITuple<[U8aFixed, u32]>>;
+ readonly transactionVersion: u32;
+ readonly stateVersion: u8;
+ }
+
+ /** @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 PolkadotPrimitivesV4UpgradeRestriction (406) */
+ interface PolkadotPrimitivesV4UpgradeRestriction extends Enum {
+ readonly isPresent: boolean;
+ readonly type: 'Present';
+ }
+
+ /** @name CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot (407) */
+ interface CumulusPalletParachainSystemRelayStateSnapshotMessagingStateSnapshot extends Struct {
+ readonly dmqMqcHead: H256;
+ readonly relayDispatchQueueSize: CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize;
+ readonly ingressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV4AbridgedHrmpChannel]>>;
+ readonly egressChannels: Vec<ITuple<[u32, PolkadotPrimitivesV4AbridgedHrmpChannel]>>;
+ }
+
+ /** @name CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize (408) */
+ interface CumulusPalletParachainSystemRelayStateSnapshotRelayDispachQueueSize extends Struct {
+ readonly remainingCount: u32;
+ readonly remainingSize: u32;
+ }
+
+ /** @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<H256>;
+ }
+
+ /** @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 PolkadotCorePrimitivesOutboundHrmpMessage (418) */
+ interface PolkadotCorePrimitivesOutboundHrmpMessage extends Struct {
+ readonly recipient: u32;
+ readonly data: Bytes;
+ }
+
+ /** @name CumulusPalletParachainSystemCodeUpgradeAuthorization (419) */
+ interface CumulusPalletParachainSystemCodeUpgradeAuthorization extends Struct {
+ readonly codeHash: H256;
+ readonly checkVersion: bool;
+ }
+
+ /** @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 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 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 PalletBalancesBalanceLock (432) */
+ interface PalletBalancesBalanceLock extends Struct {
+ readonly id: U8aFixed;
+ readonly amount: u128;
+ readonly reasons: PalletBalancesReasons;
+ }
+
+ /** @name PalletBalancesReasons (433) */
+ interface PalletBalancesReasons extends Enum {
+ readonly isFee: boolean;
+ readonly isMisc: boolean;
+ readonly isAll: boolean;
+ readonly type: 'Fee' | 'Misc' | 'All';
+ }
+
+ /** @name PalletBalancesReserveData (436) */
+ interface PalletBalancesReserveData extends Struct {
+ readonly id: U8aFixed;
+ readonly amount: u128;
+ }
+
+ /** @name PalletBalancesIdAmount (439) */
+ interface PalletBalancesIdAmount extends Struct {
+ readonly id: U8aFixed;
+ readonly amount: u128;
+ }
+
+ /** @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 (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 @@
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 @@
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 @@
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 @@
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 @@
readonly type: 'Unrequested' | 'Requested';
}
- /** @name PalletPreimageError (439) */
+ /** @name PalletPreimageError (475) */
interface PalletPreimageError extends Enum {
readonly isTooBig: boolean;
readonly isAlreadyNoted: boolean;
@@ -3739,21 +4460,275 @@
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<ITuple<[u32, PalletDemocracyVoteAccountVote]>>;
+ 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<AccountId32>;
+ readonly nays: Vec<AccountId32>;
+ 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<PalletReferendaDeposit>, Option<PalletReferendaDeposit>]>;
+ readonly isRejected: boolean;
+ readonly asRejected: ITuple<[u32, Option<PalletReferendaDeposit>, Option<PalletReferendaDeposit>]>;
+ readonly isCancelled: boolean;
+ readonly asCancelled: ITuple<[u32, Option<PalletReferendaDeposit>, Option<PalletReferendaDeposit>]>;
+ readonly isTimedOut: boolean;
+ readonly asTimedOut: ITuple<[u32, Option<PalletReferendaDeposit>, Option<PalletReferendaDeposit>]>;
+ 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<PalletReferendaDeposit>;
+ readonly deciding: Option<PalletReferendaDecidingStatus>;
+ readonly tally: PalletRankedCollectiveTally;
+ readonly inQueue: bool;
+ readonly alarm: Option<ITuple<[u32, ITuple<[u32, u32]>]>>;
+ }
+
+ /** @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<u32>;
+ }
+
+ /** @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<U8aFixed>;
+ readonly priority: u8;
+ readonly call: FrameSupportPreimagesBounded;
+ readonly maybePeriodic: Option<ITuple<[u32, u32]>>;
+ 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<ITuple<[u32, PolkadotParachainPrimitivesXcmpMessageFormat]>>;
}
- /** @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 @@
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 @@
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 @@
readonly xcmpMaxIndividualWeight: SpWeightsWeightV2Weight;
}
- /** @name CumulusPalletXcmpQueueError (453) */
+ /** @name CumulusPalletXcmpQueueError (542) */
interface CumulusPalletXcmpQueueError extends Enum {
readonly isFailedToSend: boolean;
readonly isBadXcmOrigin: boolean;
@@ -3797,7 +4772,7 @@
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 @@
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 @@
readonly type: 'V2' | 'V3';
}
- /** @name PalletXcmVersionMigrationStage (464) */
+ /** @name PalletXcmVersionMigrationStage (553) */
interface PalletXcmVersionMigrationStage extends Enum {
readonly isMigrateSupportedVersion: boolean;
readonly isMigrateVersionNotifiers: boolean;
@@ -3838,14 +4813,14 @@
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 @@
readonly consumers: Vec<ITuple<[Null, u128]>>;
}
- /** @name PalletXcmError (475) */
+ /** @name PalletXcmError (564) */
interface PalletXcmError extends Enum {
readonly isUnreachable: boolean;
readonly isSendFailure: boolean;
@@ -3878,29 +4853,29 @@
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 @@
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 @@
readonly flags: U8aFixed;
}
- /** @name UpDataStructsSponsorshipStateAccountId32 (488) */
+ /** @name UpDataStructsSponsorshipStateAccountId32 (577) */
interface UpDataStructsSponsorshipStateAccountId32 extends Enum {
readonly isDisabled: boolean;
readonly isUnconfirmed: boolean;
@@ -3937,43 +4912,43 @@
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<Bytes, Bytes> {}
- /** @name UpDataStructsPropertiesMapPropertyPermission (495) */
+ /** @name UpDataStructsPropertiesMapPropertyPermission (584) */
interface UpDataStructsPropertiesMapPropertyPermission extends BTreeMap<Bytes, UpDataStructsPropertyPermission> {}
- /** @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<ITuple<[UpDataStructsTokenData, UpDataStructsRpcCollection, UpPovEstimateRpcPovInfo]>> {}
- /** @name UpDataStructsTokenData (506) */
+ /** @name UpDataStructsTokenData (595) */
interface UpDataStructsTokenData extends Struct {
readonly properties: Vec<UpDataStructsProperty>;
readonly owner: Option<PalletEvmAccountBasicCrossAccountIdRepr>;
readonly pieces: u128;
}
- /** @name UpDataStructsRpcCollection (507) */
+ /** @name UpDataStructsRpcCollection (596) */
interface UpDataStructsRpcCollection extends Struct {
readonly owner: AccountId32;
readonly mode: UpDataStructsCollectionMode;
@@ -3989,13 +4964,13 @@
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 @@
readonly keyValues: Vec<UpPovEstimateRpcTrieKeyValue>;
}
- /** @name SpRuntimeTransactionValidityTransactionValidityError (512) */
+ /** @name SpRuntimeTransactionValidityTransactionValidityError (601) */
interface SpRuntimeTransactionValidityTransactionValidityError extends Enum {
readonly isInvalid: boolean;
readonly asInvalid: SpRuntimeTransactionValidityInvalidTransaction;
@@ -4013,7 +4988,7 @@
readonly type: 'Invalid' | 'Unknown';
}
- /** @name SpRuntimeTransactionValidityInvalidTransaction (513) */
+ /** @name SpRuntimeTransactionValidityInvalidTransaction (602) */
interface SpRuntimeTransactionValidityInvalidTransaction extends Enum {
readonly isCall: boolean;
readonly isPayment: boolean;
@@ -4030,7 +5005,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
readonly logs: Vec<EthereumLog>;
}
- /** @name EthereumBlock (550) */
+ /** @name EthereumBlock (639) */
interface EthereumBlock extends Struct {
readonly header: EthereumHeader;
readonly transactions: Vec<EthereumTransactionTransactionV2>;
readonly ommers: Vec<EthereumHeader>;
}
- /** @name EthereumHeader (551) */
+ /** @name EthereumHeader (640) */
interface EthereumHeader extends Struct {
readonly parentHash: H256;
readonly ommersHash: H256;
@@ -4241,24 +5216,24 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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<u32> {}
- /** @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<u128> {}
- /** @name OpalRuntimeRuntime (588) */
- type OpalRuntimeRuntime = Null;
+ /** @name QuartzRuntimeRuntime (677) */
+ type QuartzRuntimeRuntime = Null;
- /** @name PalletEthereumFakeTransactionFinalizer (589) */
+ /** @name PalletEthereumFakeTransactionFinalizer (678) */
type PalletEthereumFakeTransactionFinalizer = Null;
} // declare module
tests/src/maintenance.seqtest.tsdiffbeforeafterboth--- a/tests/src/maintenance.seqtest.ts
+++ b/tests/src/maintenance.seqtest.ts
@@ -173,7 +173,7 @@
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('Preimage Execution', () => {
const preimageHashes: string[] = [];
- async function notePreimage(helper: UniqueHelper, preimage: any): Promise<string> {
- 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 @@
},
]);
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 @@
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', [
tests/src/pallet-presence.test.tsdiffbeforeafterboth--- a/tests/src/pallet-presence.test.ts
+++ b/tests/src/pallet-presence.test.ts
@@ -68,6 +68,17 @@
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 @@
testUtils,
...collatorSelection,
...preimage,
+ ...governance,
);
} else if(chain.eq('QUARTZ by UNIQUE') || chain.eq('SAPPHIRE by UNIQUE')) {
requiredPallets.push(
@@ -86,6 +98,7 @@
foreignAssets,
...collatorSelection,
...preimage,
+ ...governance,
);
} else if(chain.eq('UNIQUE')) {
// Insert Unique additional pallets here
tests/src/scheduler.seqtest.tsdiffbeforeafterboth--- a/tests/src/scheduler.seqtest.ts
+++ b/tests/src/scheduler.seqtest.ts
@@ -26,7 +26,7 @@
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 @@
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 @@
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 @@
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);
});
});
tests/src/util/index.tsdiffbeforeafterboth--- a/tests/src/util/index.ts
+++ b/tests/src/util/index.ts
@@ -23,12 +23,16 @@
export const getTestSeed = (filename: string) => `//Alice+${getTestHash(filename)}`;
-async function usingPlaygroundsGeneral<T extends ChainHelperBase>(helperType: new(logger: ILogger) => T, url: string, code: (helper: T, privateKey: (seed: string | {filename?: string, url?: string, ignoreFundsPresence?: boolean}) => Promise<IKeyringPair>) => Promise<void>) {
+async function usingPlaygroundsGeneral<T extends ChainHelperBase, R = void>(
+ helperType: new (logger: ILogger) => T,
+ url: string,
+ code: (helper: T, privateKey: (seed: string | { filename?: string, url?: string, ignoreFundsPresence?: boolean }) => Promise<IKeyringPair>) => Promise<R>,
+): Promise<R> {
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 @@
}
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<IKeyringPair>) => Promise<void>, url: string = config.substrateUrl) => usingPlaygroundsGeneral<DevUniqueHelper>(DevUniqueHelper, url, code);
+export const usingPlaygrounds = <R = void>(code: (helper: DevUniqueHelper, privateKey: (seed: string | {filename?: string, url?: string, ignoreFundsPresence?: boolean}) => Promise<IKeyringPair>) => Promise<R>, url: string = config.substrateUrl) => usingPlaygroundsGeneral<DevUniqueHelper, R>(DevUniqueHelper, url, code);
export const usingWestmintPlaygrounds = (url: string, code: (helper: DevWestmintHelper, privateKey: (seed: string) => Promise<IKeyringPair>) => Promise<void>) => usingPlaygroundsGeneral<DevWestmintHelper>(DevWestmintHelper, url, code);
@@ -83,8 +88,8 @@
export const usingShidenPlaygrounds = (url: string, code: (helper: DevShidenHelper, privateKey: (seed: string) => Promise<IKeyringPair>) => Promise<void>) => usingPlaygroundsGeneral<DevShidenHelper>(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 @@
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 @@
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) {
tests/src/util/playgrounds/types.tsdiffbeforeafterboth--- a/tests/src/util/playgrounds/types.ts
+++ b/tests/src/util/playgrounds/types.ts
@@ -5,6 +5,11 @@
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 @@
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 DemocracySplitAccount {
+ aye: bigint,
+ nay: bigint,
+}
+
export type TSubstrateAccount = string;
export type TEthereumAccount = string;
export type TApiAllowedListeners = 'connected' | 'disconnected' | 'error' | 'ready' | 'decorated';
tests/src/util/playgrounds/unique.dev.tsdiffbeforeafterboth--- a/tests/src/util/playgrounds/unique.dev.ts
+++ b/tests/src/util/playgrounds/unique.dev.ts
@@ -8,8 +8,8 @@
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 @@
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 @@
return this._method;
}
- bindEventRecord(e: FrameSystemEventRecord) {
- this.eventRecord = e;
+ filter(txres: ITransactionResult) {
+ return txres.result.events.filter(e => e.event.section === section && e.event.method === method)
+ .map(e => this.wrapEvent(e.event.data));
}
- raw() {
- return this.eventRecord!;
+ 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;
}
- eventJsonData<T = any>(index: number) {
- return this.raw().event.data[index].toJSON() 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<T = any>(data: any[], index: number) {
+ return data[index].toJSON() as T;
+}
+
+function eventHumanData(data: any[], index: number) {
+ return data[index].toHuman();
+}
- eventData<T>(index: number) {
- return this.raw().event.data[index] as T;
- }
- };
+function eventData<T = any>(data: any[], index: number) {
+ return data[index] as T;
}
// eslint-disable-next-line @typescript-eslint/naming-convention
@@ -113,73 +128,100 @@
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<number>(0);
- }
+ static Proposed = this.Method('Proposed', data => ({
+ proposalIndex: eventJsonData<number>(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<number>(data, 0),
+ threshold: eventHumanData(data, 1),
+ }));
- referendumIndex() {
- return this.eventJsonData<number>(1);
- }
+ static Voted = this.Method('Voted', data => ({
+ voter: eventJsonData(data, 0),
+ referendumIndex: eventJsonData<number>(data, 1),
+ vote: eventJsonData(data, 2),
+ }));
- vote() {
- return this.eventJsonData(2);
- }
- };
+ static Passed = this.Method('Passed', data => ({
+ referendumIndex: eventJsonData<number>(data, 0),
+ }));
+ };
- static Passed = class extends this.Method('Passed') {
- referendumIndex() {
- return this.eventJsonData<number>(0);
- }
- };
+ static Council = class extends EventSection('council') {
+ static Proposed = this.Method('Proposed', data => ({
+ account: eventHumanData(data, 0),
+ proposalIndex: eventJsonData<number>(data, 1),
+ proposalHash: eventHumanData(data, 2),
+ threshold: eventJsonData<number>(data, 3),
+ }));
+ static Closed = this.Method('Closed', data => ({
+ proposalHash: eventHumanData(data, 0),
+ yes: eventJsonData<number>(data, 1),
+ no: eventJsonData<number>(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<number>(data, 1),
+ proposalHash: eventHumanData(data, 2),
+ threshold: eventJsonData<number>(data, 3),
+ }));
+ static Closed = this.Method('Closed', data => ({
+ proposalHash: eventHumanData(data, 0),
+ yes: eventJsonData<number>(data, 1),
+ no: eventJsonData<number>(data, 2),
+ }));
+ };
- priority() {
- return this.eventJsonData(1);
- }
- };
+ static FellowshipReferenda = class extends EventSection('fellowshipReferenda') {
+ static Submitted = this.Method('Submitted', data => ({
+ referendumIndex: eventJsonData<number>(data, 0),
+ trackId: eventJsonData<number>(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<XcmV2TraitsError>(1);
- }
- };
+ static Fail = this.Method('Fail', data => ({
+ messageHash: eventJsonData(data, 0),
+ outcome: eventData<XcmV2TraitsError>(data, 1),
+ }));
};
}
@@ -445,6 +487,16 @@
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 @@
// <<< 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 @@
// <<< 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 @@
return promise;
}
+ parachainBlockMultiplesOf(val: bigint) {
+ // eslint-disable-next-line no-async-promise-executor
+ const promise = new Promise<void>(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<T extends IEventHelper>(
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<T | null>(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 @@
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 @@
async expectEvent<T extends IEventHelper>(
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;
tests/src/util/playgrounds/unique.tsdiffbeforeafterboth--- a/tests/src/util/playgrounds/unique.ts
+++ b/tests/src/util/playgrounds/unique.ts
@@ -10,7 +10,7 @@
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 @@
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,12 +2963,544 @@
}
}
+class CollectiveGroup extends HelperGroup<UniqueHelper> {
+ /**
+ * 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<UniqueHelper> {
+ /**
+ * 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<UniqueHelper> {
+ /**
+ * 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<UniqueHelper> {
+ /**
+ * 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<UniqueHelper> {
+ // 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<UniqueHelper> {
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.
* @param bytes preimage encoded in hex or a byte array, e.g. an extrinsic call.
@@ -2974,8 +3509,15 @@
* );
* @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 @@
staking: StakingGroup;
scheduler: SchedulerGroup;
collatorSelection: CollatorSelectionGroup;
+ council: ICollectiveGroup;
+ technicalCommittee: ICollectiveGroup;
+ fellowship: IFellowshipGroup;
+ democracy: DemocracyGroup;
preimage: PreimageGroup;
foreignAssets: ForeignAssetsGroup;
xcm: XcmGroup<UniqueHelper>;
@@ -3279,6 +3825,19 @@
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');
tests/src/xcm/xcmQuartz.test.tsdiffbeforeafterboth--- a/tests/src/xcm/xcmQuartz.test.ts
+++ b/tests/src/xcm/xcmQuartz.test.ts
@@ -682,7 +682,7 @@
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 @@
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 @@
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 @@
});
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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);
tests/src/xcm/xcmUnique.test.tsdiffbeforeafterboth--- a/tests/src/xcm/xcmUnique.test.ts
+++ b/tests/src/xcm/xcmUnique.test.ts
@@ -684,7 +684,7 @@
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 @@
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 @@
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 @@
});
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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);
tests/tsconfig.jsondiffbeforeafterboth--- 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"
+ }
}